在 emacs 中用 python 语言编辑时,如何将光标从 for 循环的开头导航到结尾?
在使用大括号的其他语言中,从大括号位置键入C-M-n或C-M-p会将光标移动到循环的末尾或开头。python代码有类似的组合键吗?
示例:从 foo 循环的开头导航到结尾,或者 bar 或 xyz 循环:
for foo in foolist:
for bar in barlist:
if foo > 100:
print "foo large"
else:
if bar > 100:
print "bar large"
else:
print "bar small"
for xyz in xyzlist:
print "xyz" . xyz
Run Code Online (Sandbox Code Playgroud)
编辑:
我尝试使用下面的代码,从头到尾有效,但从头到尾不起作用,它从 an 的末尾跳转else到相应的末尾if:
(define-key python-mode-map "\C-\M-n" 'python-nav-end-of-block)
(define-key python-mode-map "\C-\M-p" 'python-nav-beginning-of-block)
Run Code Online (Sandbox Code Playgroud)
我认为您正在寻找的是:
python-nav-beginning-of-block
python-nav-end-of-block
Run Code Online (Sandbox Code Playgroud)
您可以使用以下方法重新定义绑定:
(define-key python-mode-map ...)
Run Code Online (Sandbox Code Playgroud)