通过VIM选择Python函数的最快方法是什么?

时间:2011-07-05 08:20:37

标签: python vim

没有插件可以吗? 或者什么是编辑python文件的最佳插件?

8 个答案:

答案 0 :(得分:6)

尝试vis直观地选择和o跳转壁架

答案 1 :(得分:2)

使用此插件https://github.com/bps/vim-textobj-python 您可以选择,删除,更改等:

af: a function
if: inner function
ac: a class
ic: inner class

答案 2 :(得分:0)

你必须使用omnicompletion for vim7,但它只适用于vim-nox,vim-gtk,vim-gnome o vim-athen

还通过this page读取了使用python配置vim(自动提交,语法高亮和自动完成)

答案 3 :(得分:0)

我认为你的意思是在视觉上快速选择整个功能。一种方法是使用Indent text object。您可以使用vai选择整个函数,前提是光标位于函数内且只有1个缩进级别。

如果你真的想要选择函数而不考虑缩进级别,我建议你阅读this并编写自己的文本对象。我想这很容易,因为Python有def关键字来定义函数。

答案 4 :(得分:0)

我这样做的方式并不特定于功能。它将选择一个连续的Python代码:

v]](如果要选择的内容位于光标下方)
v[[(如果它在光标上方)。

如果光标位于您要选择的代码块的第一行,只需移除一个括号即可。

答案 5 :(得分:0)

我通常根据需要使用vip或以上任何一种方法,请不要忘记,您始终可以使用v/match选择(例如down =)到下一次出现(随后输入进行确认,下一个可能输入n。对于python,您可以寻找下一个defreturn(通常足够ret)。

这在一开始并不是最快的,但是它非常通用,可以在任何语言中使用,也可以在外部编码(md,乳胶等)中使用。

答案 6 :(得分:0)

我会尽量避免视觉化,因此对于诸如yank之类的操作,我倾向于转到段落[[的开头,然后猛拉至结尾y]],然后返回^o。 总而言之,它是[[y]]^o^代表控制权。)

对于视觉,您可以使用[[v]][[v][[[v]m[[v]M之类的一些变体。

答案 7 :(得分:0)

如果您的函数很长或有很多空行,使用 v}}...}}d 会很慢。

我发现的最快方法(没有插件)是 zc2dd。命令 zc 关闭光标下的折叠,因此如果您在函数声明或最外层缩进级别的任何行,整个函数将折叠。然后 2dd(或 3dd,如果您在函数之前/之后有两个空行)将删除整个内容。