1.切换模式
i → Insert 模式,在光标前插入
ESC → 回到 Normal 模式,Normal 模式下,所有键都是功能键
:help <command> → 显示相关命令的帮助。你也可以就输入 :help 而不跟命令。(退出帮助需要输入:q)
2.存盘 & 退出
:e file → 打开一个文件
:w → 存盘
:saveas file → 另存为
:x, ZZ 或 :wq → 保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车)
:q! → 退出不保存
:qa! 强行退出所有的正在编辑的文件,就算别的文件有更改。
:bn 和 :bp → 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。(:n到下一个文件)
3.插入
a → 在光标后插入
o → 在当前行后插入一个新行
O → 在当前行前插入一个新行
cw → 替换从光标所在位置后到一个单词结尾的字符
4.删除
x → 删当前光标所在的一个字符。
dd → 删除当前行,并把删除的行存到剪贴板里
d → 删除,常用于组合
5.拷贝 & 粘贴
yy → 拷贝当前行当行于 ddP
p → 粘贴(小写后)
P → 粘贴(大写前)
y → 拷贝,常用于组合
vim有12个粘贴板,分别是
0 1 2 ... 9 a " +用:reg命令可以查看各个粘贴板里的内容,在vim中简单用y只是复制到"粘贴板里,同样用p粘贴的也是这个粘贴板里的内容。
"Ny指定N粘贴板复制(主意引号)
+粘贴板是系统粘贴板,"+y复制,"+p粘贴
6.定位
hjkl (←↓↑→)
6.1 行内定位
0 → 数字零,到行头
^ → 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)
$ → 到本行行尾
g_ → 到本行最后一个不是blank字符的位置。
fa → 到本行下一个为a的字符处
Fa → 到本行上一个为a的字符处
ta → 到a前的第一个字符
Ta → 到a后的第一个字符
6.2 行间定位
NG → 到第 N 行 (命令中的G是大写的)
:N → 到第 N 行
gg → 到第一行。(相当于1G,或 :1)
G → 到最后一行。
6.3 全文定位
w → 到下一个单词的开头。(默认单词形式)
e → 到当前单词的结尾。(默认单词形式)
W → 到下一个单词的开头。(包含空格?)
E → 到当前单词的结尾。(包含空格?)
% → 到匹配的括号处,包括 ( { [ (需要把光标先移到括号上)
* → 到下一个匹配单词
# → 到上一个匹配单词
/pattern → 搜索 pattern 的字符串(需要回车,如果搜索出多个匹配,可按n键到下一个)
7.Undo & Redo
u → undo
<Ctrl-r>→ redo
8.重复
. → (小数点) 可以重复上一次的命令
N <command> → 重复某个命令N次,command可以为.
使用
.时,若上一次的命令为N <command>,则原样执行N <command>使用
N <command>时,若command为.,则N会覆盖.自带的次数
9.组合
<start><command><end>
例如
0y$→ 从行头拷贝到行尾
ye→ 从当前位置拷贝到本单词的最后一个字符
y2/foo→ 拷贝2个foo之间的内容
10.区域选择
<action>Na<object> 包括object
<action>Ni<object> 不包括object
action可以是任何的命令,如 d (删除), y (拷贝), v (可以视模式选择)。object可能是:w一个单词,W一个以空格为分隔的单词,s一个句字,p一个段落;也可以是成对出现的字符:" ' ) } ]N表示选取第N层,不写默认为1
11.自动提示
<Ctrl-n> 或 <Ctrl-p>
12.宏录制
qa → 把操作记录在寄存器 a
q → 停止录制
@a → replaya寄存器中的宏。
@@ → replay最新录制的宏。
示例:
在一个只有一行且这一行只有“1”的文本中,键入如下命令:
qaYp<C-a>q
qa开始录制
Yp复制行.
<Ctrl-a>增加1.
q停止录制.
这个宏的作用是:复制上一行并增加1
测试:
@a → 在1下面写下 2
@@ → 在2 正面写下3
现在做 100@@ 会创建新的100行,并把数据增加到 103.
13.可视化选择
v 可视
V 可视行
<Ctrl-v> 可视块
选择了可视化范围后,可做如下操作:
J→ 把所有的行连接起来(变成一行)
<→ 左缩进
>→ 右缩进
=→ 自动缩进
在所有被选择的行后加上点东西:
<Ctrl-v>
选中行
$ 到行最后(不加将在每行行首编辑)
A 块操作中进入插入模式
输入
ESC
14.分屏
split → 创建分屏
vsplit → 创建垂直分屏
<Ctrl-w>方向 → 方向可以是 hjkl 或 ←↓↑→,用来切换分屏。
<Ctrl-w>_ → 最大化尺寸
<Ctrl-w>| → 垂直分屏最大化尺寸
<Ctrl-w>+ → 增加尺寸
<Ctrl-w>- → 减小尺寸
其他
帮助文档 → :help usr_02.txt
gvim 启动设置(显示行号,配色,代码高亮):
编辑安装目录下
_vimrc文件添加如下代码
set nu!
colorscheme desert
syntax enable
syntax on