是否可以在Vim中抽取整个Python代码块?
是def
,for
,if
等块...
答案 0 :(得分:23)
您可以使用y}
抓取一个段落。如果你有一个空行,这将不会抽出所有方法。
答案 1 :(得分:8)
如果您想要除了{
使用yi{
(或yi}
)之外的所有内容。如果要包括花括号,请使用ya{
(或ya}
)。
i
和a
修饰符表示和所有中的。
无论你在哪里,都要抓住一个词:yiw
要抽出括号的内容:yi)
;如果要包含它们,请使用ya(
您可以对"
或'
yi"
,ya"
或yi'
和ya'
执行相同操作。
当然,你不仅限于玩耍。您可以使用diw
删除某个字词,也可以使用ciw
等更改...等等...
答案 2 :(得分:8)
优秀的附加组件Python-mode包含一些key commands来导航类,方法和功能块。
抽出一个方法: y a M (内部方法: y 我 中号)
抽课: y a C
还有其他方便的动作,比如从功能到功能(] ] )。有关详情,请参阅complete list of keys。
答案 3 :(得分:4)
有一个vim附加脚本python_fn.vim,它作为其功能之一,具有一个键绑定,可以使用]v
直观地选择一段Python代码。然后你可以照常用y
猛拉它。
答案 4 :(得分:3)
我通常只使用视觉块模式。 Shift-V,移动,并突出显示突出显示的块。我只能在内存中保留这么多快捷方式:)
答案 5 :(得分:3)
答案 6 :(得分:3)
您可以将搜索与yank结合使用,因此如果您的功能以return retval
结尾,则可以输入y/return retval
答案 7 :(得分:1)
我创建了一个名为spacebox的插件,它对所有行进行Visual选择,并且缩进与当前行相同或更多。
使用Python空格,您可以将光标放在def
或if
下方的行上,然后发出命令:SpaceBox
以选择“块”。< / p>
答案 8 :(得分:0)
使用za折叠该类,然后使用可视模式(V)选择折叠的类。这样您就不必滚动太多了。然后用y猛拉。当你完成时,再次用za展开课程。
答案 9 :(得分:0)
Esc
shift V
进入可视线路模式d
删除所选行p
在一行后粘贴行或按shift P
粘贴行希望有所帮助。
答案 10 :(得分:0)
vim-indent-object效果很好。值得一试。