OSX上的Emacs在python模式下中断了M-a和M-e
我已经使用emacs有一段时间了,并且通常在Linux中使用它。我目前在OSX Catalina上安装了emacs,M-a和M-e在python模式下似乎工作得不太好 我将尝试用这段代码进行说明,但如果您遇到了这个问题,我认为不需要太多解释:OSX上的Emacs在python模式下中断了M-a和M-e,python,emacs,Python,Emacs,我已经使用emacs有一段时间了,并且通常在Linux中使用它。我目前在OSX Catalina上安装了emacs,M-a和M-e在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
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行开始,M-e,我只能到b行和d行的开始,不能再往下走。我希望能够到达c、e、f和g的末端
使用并购会导致类似的问题。C-a和C-e按预期工作
我重新映射了选项和命令,使它们更像我在Linx world中使用的一样
;; make MacOS sane
(setq mac-option-modifier 'control)
(setq mac-command-modifier 'meta)
这整件事很烦人,搜索没有提到这一点,因此没有解决方案。只有Python才会出现这个问题。我尝试过的其他语言似乎都能按预期工作。
M-a
和M-e
在python模式下正常工作
在python模式下
这些键分别绑定到python-nav-backward块
和python-nav-forward块
。在您的示例中,行#a、#f和#g不启动python块,行#c和#e在python块内。您可以查看python模式
定义为块的内容
在python-nav-forward语句
和python-nav-backward语句
中可以找到与您想要的行为相近的行为,它们分别移动到下一个或上一个语句的开头。默认情况下,这些函数不绑定到任何键