如何在Vim中复制整个块?
在Vim中,有没有办法把一整块Python代码复制过来?
比如说一个 def
函数块、for
循环块、if
条件块等等……
11 个回答
9
这个很棒的插件套件 Python-mode 提供了一些很实用的 快捷键,可以帮助你在类、方法和函数块之间快速导航。
要复制一个方法,可以按 yaM(如果只想复制方法内部的内容,可以按 yiM)
要复制一个类,可以按 yaC
还有其他一些方便的操作,比如可以用 ]] 在函数之间快速跳转。想了解更多,可以查看 完整的快捷键列表。
14
如果你想复制所有内容,但不包括{
,可以用yi{
(或者yi}
)。如果想把大括号也包括在内,就用ya{
(或者ya}
)。
这里的i
和a
分别代表“内部”和“全部”。
如果你想复制一个单词,不管你在这个单词的哪个位置,可以用yiw
。
要复制括号里的内容,可以用yi)
;如果想把括号也包括在内,就用ya(
。
同样的操作也适用于双引号"
或单引号'
,可以用yi"
、ya"
,或者yi'
和ya'
。
当然,你不仅仅可以复制。你还可以用diw
来删除一个单词,或者用ciw
来修改它,等等等等……
33
你可以用 y}
来复制一段文字。不过,如果这段文字中有空行的话,它就不会把所有的方法都复制过来。