在Vim中,是否可以复制整个Python代码块?
无论是 def
, for
, if
块还是其他块...
在Vim中,是否可以复制整个Python代码块?
无论是 def
, for
, if
块还是其他块...
y}
命令复制一个段落。但是,如果您有一个空行,则不会复制所有方法。如果您想要除了左大括号 {
以外的所有内容,请使用 yi{
(或者 yi}
)。如果您想要包含花括号,请使用 ya{
(或者 ya}
)。
i
和 a
修饰符分别表示“内部”和“全局”。
要复制单词,无论光标位于单词中的哪个位置,请使用 yiw
。
要复制括号内的内容,请使用 yi)
;如果想要包含括号,请使用 ya(
同样地,您可以使用 yi"
, ya"
, yi'
, ya'
来复制或包含双引号或单引号中的内容。
当然,这些操作不仅限于复制。您还可以使用 diw
删除单词,使用 ciw
更改单词等等。
p
命令可以复制当前段落(即上下由空行分隔的任何内容)。 yip
命令可以复制整个段落,而yap
命令可以复制整个段落+下一个空行。如果您的光标已经在要复制的段落内部,这将非常有用。 - Robert Rügerhelp: a
无法找到修改器。 - Andy复制一个方法: yaM (内部方法: yiM)
复制一个类: yaC
还有其他方便的动作,比如从一个函数移动到另一个函数(]])。查看完整的按键列表以获取更多信息。
我通常只使用可视块模式。按下Shift-V,移动光标并选中块,然后使用'y'命令复制该块。毕竟我一次只能记住这么多快捷方式 :)
return retval
结尾,则可以键入y/return retval
。def
或if
下面的行上,并发出命令:SpaceBox
来选择您的“块”。只需使用 za 折叠类,然后使用可视模式(V)选择折叠的类。这样您就不必滚动太多。然后使用 y 命令复制。完成复制后,再次使用 za 命令展开类。