我使用emacs已有一段时间了,通常在Linux中使用它。我目前在OSX Catalina上安装了emacs,Ma和Me在python模式下似乎无法很好地工作。
我将尝试用这段代码来说明,但是如果你遇到了这个问题,我认为它不需要太多的解释:
L = [1, 2, 3, 4] #a
def double(x): #b
return x * 2 #c
def fun(x): #d
return [double(i) for i in x] #e
zz = fun(L) #f
print(zz) #g
如果我从#a行开始,即Me,我只能到达#b和#d行的开始,而不能再往下走。我希望能够走到#c,#e,#f和#g的尽头。
使用Ma会引起类似的问题。钙和铈按预期工作。
我确实重新映射了选项和命令,所以它们将比我从Linx world所熟悉的更多。
;; make MacOS sane
(setq mac-option-modifier 'control)
(setq mac-command-modifier 'meta)
这整个事情很烦人,搜索不会引起任何争议,因此也就没有解决方案。仅在Python中会出现此问题。我尝试过的其他语言似乎按预期工作。
M-a
并且M-e
正在按预期工作python-mode
。
在python-mode
这些键被结合到python-nav-backward-block
和python-nav-forward-block
分别。在你的示例中,第#a,#f和#g行未启动python块,而#c和#e行位于python块内。你可以在此处查看python-mode
定义为块的内容。
行为接近你想要什么可以发现python-nav-forward-statement
和python-nav-backward-statement
其移动到开始分别下一首或上发言。默认情况下,这些功能未绑定到任何键。