本文的内容来自 vimtutor(v1.7),在 Unix 系统下输入 “vimtutor” 即可进入教学模型。这里记录下来学习点滴,方便以后查看。
Vim 简介
Vim 是一款由 Vi 派生出来的命令行编辑器,具有语法高亮、代码折叠、多语言支持、多视图等强大的功能,并且支持插件扩展和调用脚本语言。Vim 有多种模式,其中最常用的为插入和执行模式,仅仅通过键盘来在这些模式之中切换,大大提高了程序开发效率。
Vim 使用
移动光标
1 | 要移动光标使用 h、j、k、l 键 |
Vim 进入和退出
通过 Vim + 文件名进去文件后,默认为普通模式。注意进入普通模式后请勿开启 Shift-Lock(大小写锁定键)。
退出 Vim,按 :q! <回车>。 这种方式退出编辑器会丢弃进入编辑器以来所做的改动。
文本编辑-删除
在普通模式下,按 x 键来删除光标所在位置的字符。
文本编辑-插入
在普通模式下,按 i 键来插入文本。
文本编辑-添加
按 a 键来添加文本。
插入与添加直接的区别:
插入是在光标前插入文本,添加光标字母后面添加。
编辑文件
使用 :wq 以保存文件并退出
删除类命令
输入 dw 可以从光标处删除至一个单词的末。
输入 d$ 从当前光标删除到行末。
输入 de 从当前光标当前位置直到单词末尾,包括最后一个字符。
输入 dd 删除整行。
输入 2dd 删除两行。
移动光标
输入 2w 使光标向后移动两个单词。
输入 3e 使光标向后移动到第三个单词的末尾。
比如之前的光标位置为:
—> |this is a demo.
输入 2w:
—> this is |a demo.
输入 2e:
—> this i|s a demo.
计数删除
—> |this is a demo
d2w: —> |a demo.
d2e: —> | a demo.
撤销
输入 u 来撤消最后执行的命令。
输入 U 来撤消对整行的修改。
使用 CTRL-R (先按 CTRL 再按 R)撤销撤销命令。
删除与粘贴
删除操作后,输入 p 将最后一次删除的内容置入光标之后。
替换
输入 r 加字符替换光标后一个字符。
更改
要改变文本直到一个单词的末尾,请输入 ce。
ce 命令相当于删除一个单词的同时,进入插入模式。
使用 c2w 删除两个单词并且进入插入模式。
使用 c$ 删除光标后所有内容并且进入插入模式。
文件定位
输入 CTRL-G 显示当前编辑文件中当前光标所在行位置以及文件状态信息。
输入行号 + G (注意是大写) 可以直接将光标定位于行数。
文件搜索
输入 / 加上字符串,可以在当前文件中查找该字符串。
要查找同上一次的字符串,只需要按 n 键。要向相反方向查找同上一次的字符串,请输入大写 N 即可。
回到之前的位置按 CTRL-O,重复按可以回退更多步。CTRL-I 会跳转到较新的位置。
提示:如果查找已经到达文件末尾,查找会自动从文件头部继续查找,除非 ‘wrapscan’ 选项被复位。
配对括号的查找
把光标置于有括号( (、[ 或 { )的地方,按下 % 光标会自动定位到与其配对的括号处。
替换命令
在一行内替换头一个字符串 old 为新的字符串 new,输入 :s/old/new。
在一行内替换所有的字符串 old 为新的字符串 new,输入 :s/old/new/g。
在两行内替换所有的字符串 old 为新的字符串 new,输入 :#,#s/old/new/g,其中 #, # 代表的是替换操作的若干行中首尾两行的行号。
在文件内替换所有的字符串 old 为新的字符串 new,输入 :%s/old/new/g
进行全文替换时询问用户确认每个替换需添加 c 标志 :%s/old/new/gc
Vim 中执行外部命令
输入 :! 然后紧接着输入一个外部命令可以执行该外部命令,比如 :!ls 可以在 Vim 中查看当前目录。
文件保存
要将对文件的改动保存到文件中,请输入 :w FILENAME。 该命令会以 FILENAME 为文件名保存整个文件。
选择性保存
移动光标至某一行,按下 v 键进入可视模式,移动光标选中内容,然后按 :,屏幕底部会出现 :'<,'>,再输入 w FILENAME 可将选中的内容报错到 FILENAME 中。
提示:按 v 键使 Vim 进入可视模式进行选取。可以四处移动光标使选取区域变大或变小。接着可以使用一个操作符对选中文本进行操作。例如,按 d 键会删除选中的文本内容。
提取和合并文件
要向当前文件中插入另外的文件的内容,请输入 :r FILENAME。
:r FILENAME 可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置后面。