简介
vim是一个文本编辑器,它的设计理念是命令的组合,熟练使用其命令,一个键盘就能进行高效地文本编辑。
使用
进入mac终端,输入vimtutor按下回车键,会出现vim基础使用教程(如下截图)。以下是一些简单的命令笔记。
在normal模式下:
- 按下i、a、A都可进入insert模式,进行文本输入,区别是i是当前位置插入,而a是当前文字的后面插入(A是该行末尾插入)
- h、j、k、l 对应了光标左、下、上、右的移动方向,键盘上的上下左右键也有相同的移动效果
- 按o 在光标下方打开新的一行并进入insert模式;O在上方插入新行
- :q! 不保存退出
- :wq 保存并退出,:w 即保存
- 按下x 删除光标所在位置的字符
- 按下dw 从光标处删除至一个单词的末尾
- 按下e可以使光标移动到单词末尾)
- 按下d$ 从当前光标删除到末行($从当前位置到行末,g_移动到本行最后一个不少空格的字符位置)(0光标移动到行头,^ 光标移动到本行第一个不是空格的字符位置)
- dd删除当前一个行,2dd删除两行,以此类推
- u撤销以前的操作,U 撤销在一行中所做的操作,ctrl+r 撤销掉撤销命令
- y复制,p粘贴当前光标位置之后(P位置之前)(yw可复制一个单词,yy复制整行)(dd删整行,p插入整行)
- r 输入需要替换的字符, R 可连续替换多个字符且每个输入的字符都会删除覆盖掉已有的字符。
- c+[number]+motion 更改(删除的同时,也进入插入模式)
- ctrl-g(底部显示当前光标行位置)(G跳转到文件最后一行,gg跳转到文件第一行,输入行号+G则是将光标移至该行号)
- 输入 / + 字符串 按下回车键,可在当前文件中查找该字符串(按n重复上一次命令,同一方向查找相同字符串,N反向查找,逆向查找用 ? 代替 / ),ctrl+o,回到之前位置,重复按退多步;ctrl+i 会跳到较新的位置。
- 输入%可以查找配对括号 )、]、}(在程序调试时,这个功能用来查找不配对的括号是很有用的。)
- 输入 :s/aaa/bbb/g 替换全行的匹配串 aaa为bbb
输入 :#,#s/aaa/bbb/g 其中 #,# 代表的是替换操作的若干行中首尾两行的行号。
输入 :%s/aaa/bbb/g 则是替换整个文件中的每个匹配串。
输入 :%s/aaa/bbb/gc 会找到整个文件中的每个匹配串,并且对每个匹配串提示是否进行替换。 - 输入 :! 然后紧接着输入一个外部命令可以执行该外部命令
- v+ motion :w filename 以filename为文件名保存选取的内容(v+motion选取内容)
- :r filename 在光标处插入filename的文件内容;:r 还可以读取外部命令的输出(:r !ls可以读取ls命令的输出)
- :set xxx 可以设置 xxx 选项。(在选项前加上 no 可以关闭选项: :set noic)一些有用的选项如下:
'ic' 'ignorecase' 查找时忽略字母大小写
'is' 'incsearch' 查找短语时显示部分匹配
'hls' 'hlsearch' 高亮显示所有的匹配短语