Warm tip: This article is reproduced from serverfault.com, please click

其他-OSX上的Emacs在python模式下打破了我和我

(其他 - Emacs on OSX breaks M-a and M-e in python-mode)

发布于 2020-12-12 17:28:22

我使用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中会出现此问题。我尝试过的其他语言似乎按预期工作。

Questioner
dizzystar
Viewed
0
nega 2021-02-25 06:24:11

M-a并且M-e正在按预期工作python-mode

python-mode这些键被结合到python-nav-backward-blockpython-nav-forward-block分别。在你的示例中,第#a,#f和#g行未启动python块,而#c和#e行位于python块内。你可以在此处查看python-mode定义为块的内容

行为接近你想要什么可以发现python-nav-forward-statementpython-nav-backward-statement其移动到开始分别下一首或上发言。默认情况下,这些功能未绑定到任何键。