设置
set hls 搜索到关键字后高亮。
set nohls 搜索到关键字后不高亮。
set number 每行添加行号。
set ts=2 设置tab为2个空格。
多窗口处理
vim -O a.h b.h 同时打开两个文件,并竖排。
vim -o a.h b.h 同时打开两个文件,并很排。
:vs x.h 打开一个新的文件,并竖排。
:sp x.h 打开一个新的文件,并横排。
:r y.h 将y.h中的内容插入到当前文件中。
:q 关闭当前文件。
:only 关闭非当前文件。
:qa 关闭所有文件。
ctrl+w+w 切换不同的窗口(顺序切换,注意w需要按两下)。
ctrl+w+[h|j|k|l] 切换到当前窗口的左|下|上|右(普通模式先h|j|k|l的操作对应左|下|上|右)。
普通模式下的操作
ctrl+f 向下移动一屏。
ctrl+b 向上移动一屏。
/(pattern) 向下搜索匹配(可回滚)。
?(pattern) 向上搜索匹配(可回滚)。
n 查下一个(搜索后使用,实际方面跟搜索方向有关)。
N 查上一个(搜索后使用,实际方面跟搜索方向有关)。
G 移动到文件末尾。
xG 移动到第x行,x是一个数字。
gg 移动到首行(注意是按g两下)。
H 移动到当前屏幕首行。
M 移动到当前屏幕中间。
L 移动到当前屏幕末行。
^ 移动到当前行行首非空白处。
$ 移动到当前行行尾。
u 撤销上一次操作。
o 在当前行下面插入新行(小写o)。
O 在当前行上面插入新行(大写O)。
A 在当前行行尾插入。
a 在当前光标之后插入。
x 删除当前光标下的字符。
s 删除当前光标下的字符并进入插入模式。
dw 删除当前光标之后的单词的剩余部分。
d$ 删除当前关闭之后的该行的剩余部分。
dd 删除当前行(dd前可以加数字x,表示当前行开始的x行都删除,有很多命令都支持该种用法)。
cc 删除当前行并进入插入模式。
daw 删除光标所在的单词(就是delete a word )。
i 进入插入模式。
f+字符 查找当前行的"字符",之后输入";"往下一个,","往上一个。
b 定位到当前光标所在单词的首字母。
>> 增加缩进(两个>)。
<< 增加缩进(两个<)。
插入模式下的操作
ctrl+n 自动补全。
ctrl+a 当前行开始遇到的第一个数字加1。
ctrl+x 当前行开始遇到的第一个数字减1。
ctrl+h 删除一个字符。
ctrl+w 删除一个字符。
ctrl+u 删除一行。
二进制操作
vim -b xxx 二进制方式打开文件xxx。
进入后使用:%!xxd文件变成二进制。
后接参数-g 1,表示一个个字节显示;-g 2,表示一个个字显示,以此类推。