我这样做的方式并不特定于功能。它只会选择一个连续的 Python 代码块:
v]]如果要选择的内容在光标下方
v[[如果它在光标上方。
如果光标位于您要选择的代码块的第一行,只需删除一个括号。
我认为您的意思是快速直观地选择整个功能。一种方法是使用插件Indent text object ( GitHub )。您可以使用vai来选择整个函数,前提是您的光标位于函数内部并且仅低 1 级缩进。
如果您确实想要选择功能而不管缩进级别如何,我建议您阅读本文并编写自己的文本对象。我想这会很容易,因为 Python 有 def 关键字来定义函数。
小智 5
使用这个插件https://github.com/bps/vim-textobj-python 你可以选择、删除、更改等:
af: a function
if: inner function
ac: a class
ic: inner class
Run Code Online (Sandbox Code Playgroud)
你必须对vim7 使用omnicompletion,但它只能与 vim-nox、vim-gtk、vim-gnome 或 vim-athen 一起使用
另请阅读此页面以使用 python 配置 vim(自动缩进、语法突出显示和自动完成)