vim使用
h j k l (光标移动方向:左 下 上 右)
删除操作
- 输入 d$ 从当前光标删除到行末
- 输入 dw 从当前光标删除至单字/单词末尾
- 输入 dd 可以删除整一个当前行
- : [num] [enter] - 到文档指定行
翻页/上(下)一个单词
- ctrl-F/B 下翻页(上翻页)
- 下一个单词 w
- 上一个单词 b
粘贴复制
- yy 复制光标所在行
- 3yy 复制光标所在下面3行
- y^ 复制至行首,不含光所在处字符。
- y$ 复制至行尾,含光所在处字符。
- p 粘贴
修正查找替换
- :s/thee/the<回车>。该命令只改变光标所在行的第一个匹配串。
- :s/thee/the/g 则是替换全行的匹配串。
- :#,#s/old/new/g则要替换两行之间出现的每个匹配串
- :%s/old/new/g 则是替换整个文件中的每个匹配串
- :%s/old/new/gc 则是替换整个文件中的每个匹配串,并且每次都出现提示
配对括号查找
- 按 % 可以查找配对的括号 )、]、}
替换
- 输入 r 和一个字符替换光标所在位置的字符
插入删除行
- 输入 p 将最后一次删除的内容置入光标之后(通过dd删除的行会保存在缓存区)
局部替换
- 先输入 v 进入可视模式,鼠标选中某些区域
- :s/原来的/新的字符串
- 例如:s/^/:/ 批量为选中的每行开头增加:字符 ,s/^:// 批量去掉每行开头的:
撤销
- 撤消以前的操作,输入∶u (小写的u)
- 撤消在一行中所做的改动,输入∶U (大写的U)
- 撤消以前的撤消命令,恢复以前的操作结果,输入∶CTRL-R
光标快速移动
- gg 游标移动到到第一行
- Shift-G 将光标跳转至文件最后一行。
- 先输入一个行号,然后按Shift-G则是将光标移动至该行号代表的行。
搜索
- 输入 /pattern
- 继续搜索下一个输入 n
- 搜索前一个输入 shift + n
窗口操作
- 输入:sp test.txt打开新的纵向视窗来编辑test.txt
- 输入:vsp test.txt打开新的横向视窗来编辑test.txt
- Ctrl+w进行视窗间的跳转
命令行
- :wq保存文本,并退出,若文件没有指定文件名字,则需要:wq 文件名
- :wq! 强制写入。
- :set nu 显示行号
- :set nonu 取消行号
- :n1,n2 w 将n1,n2的内容保存到filename 文件。
- :r 将filename文件的内容读到当前这个光标所在行的最后。
- :! Commad 暂时离开当前进入命令模式。