vim是Linux下非常常用的一个编辑工具,所以有必要了解一下vim的一下使用
技巧。
这里将vim的状态分成两大类:命令模式和编辑模式。当你输入命令vim filename
时就进入了命令模式,而此时按下i
即可进入编辑模式,进入编辑模式后可同过按ESC
退回命令模式
跳到某一行
- 跳到第一行:在命令模式下,连续两次按下g
- 跳到最后一行:在命令模式下,
shift+g
即可 - 跳到某一行:命令行模式下,通过冒号加行号即可实现,如
:15
即可跳到第15行。 - 跳到当前行往上或往下的n行:命令模式下,先按数字n,然后按往上或往下的按钮(就是键盘上的上下左右的按钮)
- 跳到一行的开头:可以使用键盘上的编辑键
Home
,也可以在命令模式中使用快捷键"^"(即Shift+6)
或0(数字0) - 跳到一行的末尾:以使用编辑键
End
,也可以在命令模式中使用快捷键"$"(Shift+4)
。快捷键”\$”前可以加上数字表示移动的行数。例如使用”1\$”表示当前行的行尾,”2$”表示当前行的下一行的行尾。
查找字符串
- 往前查找:命令模式下输入
?word
,按n
往前查找下一个,shift+n
往后查找下一个 - 往后查找:命令模式下输入
/word
,按n
往后查找下一个,shift+n
往前查找下一个
注:这里的往前和往后指的是文本的顺序,其实只需要记住按n是顺序查找,shift+n是逆序查找即可
删除
- 删除一行:命令模式下,光标定位到要删除的那一行,连续按下两次
d
即可 - 删除多行:命令模式下,光标定位到要删除的那一行,先按下数字n,然后连续按下两次
d
,表示删除n行(包括当前行)
修改
- 替换字符串:命令模式下输入
:n1,n2s/w1/w2/g
,表示将n1到n2行的w1转为w2(1代表第一行,$代表最后一行,没数字为整个文本),注意前面有冒号 - 复制:命令模式下,将光标移到需要复制的那行,然后连续两次按下y,即可复制当前行,如果要复制多行,在按下
yy
前需要按下数字n,表示复制包括当前光标一下的n行,原理同删除操作 - 块复制:命令模式下,通过
ctrl+v
进入块复制模式,选择高亮后按y复制 - 剪切:实际上上面提到的删除命令除了将所选的内容删除掉,还将其复制到了剪切板上,按下p即可粘贴;所以剪切实际上就是
dd+p
。 - 粘贴:命令模式下,按下p即可将已经复制或剪切的内容复制到光标所在行下面的的一行或多行
撤销与恢复前一步的操作
- 撤销前一步的工作:命令模式下按
u
- 撤消后恢复前一步的工作:命令模式下按
Ctrl+u
另存为
- 命令模式下输入
:n1,n2 w new_file_name
可将修改文本n1到n2行(不加数字为整个文本)另存为其他文件