vim是一个可高度定制的文本编辑器,使得创建和修改文件更加高效。
设计哲学
vim 设计的目的就是为了摆脱鼠标,所有工作都可以通过键盘完成。为了提高效率,需要使得双手尽可能少的移动位置。


模式
vim 中有四种模式:普通模式,编辑模式,命令模式和视图模式。
普通模式
vim 默认为普通模式。在普通模式中我们可以进行光标的移动,文本的复制、粘贴和删除。
取代方向键
h 光标向左移动
j 光标向下移动
k 光标向上移动
l 光标向右移动
光标水平移动
w/W 移动到下一个单词 (word), word 默认为一个序列,包含字符,数字或者下划线
b/B 移动到上一个单词 (word)
0 移动到当前行的开头
^ 移动到当前行的第一个不为空格的字符前
$ 移动到当前行的末尾
% 如光标在一个花括号的开头,则会移动到匹配的花括号另一半的位置
If operators are the verbs, text objects are the nouns. Simply put, a text object is a set of character. In Vim, a
wordis a text object, as well as asentenceor aparagraph. —— Is Vim Really Not For You? A Beginner Guide
移动到指定字符的位置
f[character] 在当前光标之后查找字符,并移动 f: find
F[character] 在当前光标之前查找字符,并移动
t[character] 移动到当前光标之后指定字符的位置 t: to
T[character] 移动到当前光标之前指定字符的位置
在使用了上面的四个操作后,可以使用 ; 向前移动到下一次出现的位置, 使用, 移动到上一次出现的位置。
光标垂直移动
<line_number>G 移动到指定的行,如 10G , 则移动到第10行
G 移动到文件的最后一行
1G 或 gg 移动到文件的第一行
快捷键
ctrl+e 窗口向下滚动
ctrl+u 光标向上滚动半屏 u: upward
ctrl+d 光标向下滚动半屏 d: downward
其它指令
u 撤销上一次编辑
r 或 ctrl+r 重新编辑当前字符
d 删除
dd 删除当前行
[number]dd 删除包含当前行在内的 number 行内容
c 修改
y 复制
yy 复制当前行
[number]yy 复制包含当前行在内的 number 行内容
p/P 粘贴
混合使用
d$ 删除从光标位置到当前行末尾的所有字符
dgg 删除从文件开头到光标位置的内容
ggdG 删除文件的所有内容
diw 删除光标所在位置的 word
ciw 删除光标所在位置的 word , 并进入编辑模式
dip 删除光标所在位置的 段落
搜索
键入/[keyword] 后回车可在本文档中搜索指定的关键词 ,键入 n 可以跳转到下一个结果的位置,键入 N 可以跳转到上一个结果的位置
普通模式下也可以使用 * 来向后搜索当前词汇, 键入 # 向前搜索当前词汇
编辑模式
在普通模式下,输入 i 可在当前字符前进入编辑模式。编辑模式可随意删除,添加和修改内容
a 在当前字符后插入内容,进入编辑模式
A 光标移动至当前行末尾,进入编辑模式
o 在当前行下新起一行,进入编辑模式
O 在当前行上插入一行,进入编辑模式
编辑模式下,esc 或 ctrl+c 或 ctrl+[ 可回到普通模式
命令模式
普通模式下,可键入 :进入命令模式。此时光标会自动移动到左下角,可以键入想要的命令。

下面列举一些基础命令:
:help打开vim的帮助文档。如:如果你不知道如何退出,你可以通过键入:help quit来获取帮助:q退出当前窗口。如果仅有一个窗口,将会退出vim:q!不保存就退出。:w保存当前文件:wq或:x保存并退出:e <path>编辑指定的文件,path可以是绝对路径或相对路径。
一些有用的帮助命令
:help helphelp:help vim-modes:help insert.txt:help visual.txt:help cmdline.txthelp write-quite:help ex-cmd-index:help search-commands:help undo-redo:help cursor-motions:help left-right-motions:help up-down-motions:help scrolling:help operator:help text-objects:help options:help option-list:help options:help option-list
可视化模式
可视化模式主要用来选中内容。该模式下,可以修改,复制选中的内容。普通模式下可通过键入 v 进入可视化模式,此时在左下角可以看到 --VISUAL-- 标识:

同样的,我们可以通过 esc 或 ctrl+c 返回到普通模式。
快捷操作
普通模式下,我们可以通过 shift+v 进入可视化模式,并选中当前行

普通模式下,可以通过 ctrl+v 进入可视化模式,并选中当前段落
配置选项
vim 的配置文件位置为 ~/.vimrc
:set no<option>重置配置:set <option>切换配置:set <option>?返回配置值:set <option>=<value>设置配置值<value>:set <option>+=<value>指定配置值增加<value>,如配置选项为字符串,则拼接:set <option>&重置配置为默认值