vim命令之间的组合是非常强大且灵活的,通过不同的命令组合,你可以实现各种复杂的文本编辑操作。今天先来这些:
yyp
:复制当前行并粘贴到下一行。ciw
:删除当前单词并进入插入模式。caw
:删除当前单词及其后的空格并进入插入模式。das
:删除当前句子并进入插入模式。dap
:删除当前段落并进入插入模式。dt.
:删除从当前位置到下一个点号(.)之前的所有内容。df)
:删除从当前位置到下一个右括号())之前的所有内容。gU
:将当前行转换为大写。gu
:将当前行转换为小写。vi(
:选择当前位置到下一个左括号(()之间的内容。yiw
:复制当前单词。di(
:删除当前位置到下一个左括号(()之间的内容。cw
:更改当前单词,即删除并进入插入模式。r
+ 字符:替换当前字符为指定的字符。J
:将当前行与下一行合并。>>
:将当前行向右缩进。<<
:将当前行向左缩进。g~
:反转当前行的字符大小写。g~~
:切换当前字符的大小写。gf
:在当前文件中查找光标下的单词,并将光标定位到第一个匹配项。*
或#
:在当前文件中查找光标下的单词,*
是向前查找,#
是向后查找。mz
:将当前位置标记为 z。之后可以使用'z
跳回到这个位置。d2<C-w>
:删除两个单词,并切换到下一个窗口。y2<C-w>p
:复制两个单词,切换到下一个窗口并粘贴。:w >> otherfile
:将当前文件内容追加到另一个文件中。:r otherfile
:将另一个文件的内容插入到当前文件中。:set ic
和:set noic
:分别开启和关闭忽略大小写的搜索。:set is
和:set nois
:分别开启和关闭智能大小写搜索。d
+ 移动命令:删除从当前位置到指定位置的文本。例如,d2l
会删除当前字符及之后的两个字符。y
+ 移动命令:复制从当前位置到指定位置的文本。例如,y5j
会复制当前行及之后的四行。c
+ 移动命令:更改从当前位置到指定位置的文本,即删除并进入插入模式。例如,c$
会更改从当前位置到行尾的文本。
Ctrl + r
+ 寄存器名:从指定的寄存器中粘贴内容。例如,如果你在插入模式下按下Ctrl + y
(将上一个复制或删除的内容放入无名寄存器)后,可以通过Ctrl + r "
粘贴该内容。Ctrl + w
+ 移动命令:在窗口间移动光标或分割窗口。例如,Ctrl + w h
将光标移动到左侧窗口,Ctrl + w v
将当前窗口垂直分割。