VIM 命令
以:和/开头的命令都有历史纪录,能够首先键入:或/而后按上下箭头来选择某个历史命令。
基本上能够分为3种模式,分别是
命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),下图所示为Vim各类模式相互转换的关系图。
命令模式:控制屏幕光标的移动,进行文本的删除、复制等文字编辑工做,以及进入插入模式,或者回到底行模式。
插入模式:只有在插入模式下,才能够输入文字。按[Esc]键可回到命令行模式。
底行模式:保存文件或退出Vim,同时也能够设置编辑环境和一些编译工做,如列出行号、寻找字符串等。
打开与退出
vi启动是:vi filename
该命名打开或者建立一个文件。首先进入vi后,是
cmd模式(命令模式)。在该模式下能够移动光标,复制,移动,删除等。
vim -O file1 file2: 同时打开两个文件, ctrl+w 进行窗口切换
ZZ: 保存文件并退出。
Note: 与其余编辑器不同,Vim 不会自动创建一个备份文件。若是你输入 "ZZ", 你的修改当即生效而且不能恢复。你能够配置 Vim 让它产生一个备份文件。
:w 保存
wq: 保存并退出
:q: 退出
:q!: 放弃修改。按回车使命令生效。
在cmd下能够用下面几个命令进入编辑模式:
i 在当前位置生前插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行以后插入一行
O 在当前行以前插入一行
编辑模式下,只能输入,不能使用hjkl的光标移动,使用esc能够切换到cmd模式
光标控制:命令模式
光标在屏幕文本中的移动既能够用箭头键,也可使用 hjkl 字母键。
h (左移) j (下行) k (上行) l (右移)
以上四个命令能够配合数字使用,好比20j就是向下移动20行,5h就是向左移动5个字符。
gg命令: 跳到文件的首行
G命令: 跳到文件的最后一行
0(数字0) 移动到本行第一个字符上
^命令: 跳转到行首第一个普通字符上
$命令: 跳转到行尾, 3$ 移动到下面3行的行尾
b(begin)命令: 跳转到当前单词的前面, 2b 向后移动2个单词
e(end)命令: 跳转到当前单词的后面
w 命令: 向前移动一个单词(光标停在单词首部),若是已到行尾,则转至下一行行首。此命令快,能够代替l命令。
冒号+行号: 跳到指定行。好比跳到240行就是 :240回车。另外一个方法是行号+G,好比230G跳到230行。
number%命令: 跳转到number%处, 例如跳转到20%, 键入20%便可
Ctrl + e 向下滚动一行
Ctrl + y 向上滚动一行
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏
Ctrl + f 向下滚动一屏
Ctrl + b 向上滚动一屏
删除命令:命令模式
在
命令模式下,Vim提供了许多删除命令。这些命令大可能是以d开头的。
x命令: 删除光标处的字符。若在x以前加上一个数字n,则删除从光标所在位置开始向右的n个字符。
X命令:删除光标前面的那个字符。若在X以前加上一个数字n,则删除从光标前面那个字符开始向左的n个字符
dd命令:剪切(删除)光标所在的整行。在dd前可加上一个数字n,表示删除当前行及其后n-1行的内容。
D或d$命令:删除从光标所在处开始到行尾的内容。
d0命令:删除从光标前一个字符开始到行首的内容。
dw命令:删除一个单词。若光标处在词的中间,则从光标所在位置开始删至词尾。同dd命令同样,可在dw以前加一个数字n,表示删除n个指定的单词。
复制命令:命令模式
y^/y0: 复制至行首, 不含光标所在处字符
y$: 复制至行尾。含光标所在处字符
yw: 复制一个 word
yG: 复制至档尾
y1G: 复制至档首
dd命令: 剪切当前行。
yy命令(或大写一个 Y): 拷贝当前行。2yy 表示复制两行。
cc命令: 剪切当前行而且进入插入模式。
D命令: 剪切从光标位置到行尾到剪贴板。
Y命令: 拷贝当前行。
C命令: 和 D 相似,最后进入插入模式。
x命令: 剪切当前字符到剪贴板。
s命令: 剪切当前字符到剪贴板,最后进入插入模式。
粘贴命令:命令模式
小写 p 表明贴至光标后(下)。 P 大写 P 表明贴至光标前(上)
撤销和重作
u 撤销(Undo)
U 撤销对整行的操做
Ctrl + r 重作(Redo),即撤销的撤销。
查找命令
/text 查找text,按n健查找下一个,按N健查找前一个。
?text 查找text,反向查找,按n健查找下一个,按N健查找前一个。
vim中有一些特殊字符在查找时须要转义 .*[]^%/?~$
查找很长的词,若是一个词很长,键入麻烦,能够将光标移动到该词上,
按*或#键便可以该单词进行搜索,至关于/搜索。而#命令至关于?搜索。
:set ignorecase 忽略大小写的查找
:set noignorecase 不忽略大小写的查找
:set hlsearch 高亮搜索结果,全部结果都高亮显示,而不是只显示一个匹配。
:set nohlsearch 关闭高亮搜索显示
:nohlsearch 关闭当前的高亮显示,若是再次搜索或者按下n或N键,则会再次高亮。
:set incsearch 逐步搜索模式,对当前键入的字符进行搜索而没必要等待键入完成。
:set wrapscan 从新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。