1.进入插入模式
| 命令 | 说明 |
---|
I | 在行首插入 |
o | 在当前行后插入一个新行 |
O | 在当前行前插入一个新行 |
cw | 替换从光标所在位置后到一个单词结尾的字符 |
2.退出vim
命令模式下退出vim
| 命令 | 说明 |
---|
:q! | 强制退出不保存 |
:wq! | 强制退出并保存 |
:w <路径名> | 文件另存为 |
普通模式下退出vim
——普通模式下输入shift+zz即可保存并退出vim
3.删除文本
| 命令 | 说明 |
---|
x | 删除游标所在字符 |
X | 删除有游标前所在的字符 |
dd | 删除正行 |
dw | 删除一个单词 |
D | 删除至行尾 |
d^ | 删除至行首 |
dG | 删除至文档结尾处 |
d1G | 删除至文档首部 |
4.行内跳转
| 命令 | 说明 |
---|
w | 到下一个单词的开头 |
e | 到下一个单词的结尾 |
b | 到前一个单词的开头 |
ge | 到前一个单词的结尾 |
0或^ | 到行头 |
$ | 到行尾 |
f<字母> | 向后搜索<字母>并跳转到第一个匹配的位置(非常实用) |
F<字母> | 向前搜索<字母>并跳转到第一个匹配的位置 |
t<字母> | 向后搜索<字母>并跳转到第一个匹配位置之前的一个字母(不常用) |
T<字母> | 向前搜索<字母>并跳转到第一个匹配位置之后的一个字母(不常用) |
5.复制及粘贴文本
普通模式中使用y复制
| 命令 | 说明 |
---|
yy | 复制游标所在的整行(3yy表示复制3行) |
y^ | 复制至行首,或y0。不含光标所在处字符。 |
y$ | 复制至行尾。含光所在处字符。 |
yw | 复制一个单词。 |
y2w | 复制两个单词。 |
yG | 复制至文本末。 |
y1G | 复制至文本开头。 |
p(小写) | 代表粘贴至光标后(下) |
P(大写) | 代表粘贴至光标前(上) |
6.替换和撤销(Undo)命令
替换和Undo命令都是针对普通模式下的操作
| 命令 | 说明 |
---|
r+<待替换字母> | 将游标所在字母替换为指定字母 |
R | 连续替换,直到按下Esc |
cc | 替换整行,即删除游标所在行,并进入插入模式 |
cw | 替换一个单词,即删除一个单词,并进入插入模式 |
C(大写) | 替换游标以后至行末 |
~ | 反转游标所在字母大小写 |
u{n} | 撤销一次或n次操作 |
U(大写) | 撤销当前行的所有修改 |
Ctrl+r | redo,即撤销undo的操作 |
7.快速缩进
| 命令 | 说明 |
---|
>> | 普通模式下缩进 |
:set shiftwidth(sw)=10 | 设置缩进为10个字符 |
:ce(center) | 使本行内容居中 |
:ri(right) | 使本行文本靠右 |
:le(left) | 使本行内容靠左 |
8.可视模式
| 命令 | 说明 |
---|
v(小写) | 进入字符选择模式,就可以移动光标,光标走过的地方就会选取。再次按下v会后就会取消选取。 |
Shift+v(小写) | 进入行选择模式,按下V之后就会把整行选取,您可以上下移动光标选更多的行,同样,再按一次Shift+v就可以取消选取。 |
Ctrl+v(小写) | 这是区域选择模式,可以进行矩形区域选择,再按一次Ctrl+v取消选取。 |
在可视模式下d | 删除选取区域内容 |
在可视模式下y | 复制选取区域内容 |
9.视窗操作
| 命令 | 说明 |
---|
命令行模式下输入:sp 1.txt | 打开新的横向视窗来编辑1.txt |
命令行模式下输入:vsp 2.txt | 打开新的纵向视窗来编辑1.txt |
Ctrl-w s | 将当前窗口分割成两个水平的窗口 |
Ctrl-w v | 将当前窗口分割成两个垂直的窗口 |
Ctrl-w q | 即 :q 结束分割出来的视窗。如果在新视窗中有输入需要使用强制符!即:q! |
Ctrl-w o | 打开一个视窗并且隐藏之前的所有视窗 |
Ctrl-w j | 移至下面视窗 |
Ctrl-w k | 移至上面视窗 |
Ctrl-w h | 移至左边视窗 |
Ctrl-w l | 移至右边视窗 |
Ctrl-w J | 将当前视窗移至下面< 4000 /td>
|
Ctrl-w K | 将当前视窗移至上面 |
Ctrl-w H | 将当前视窗移至左边 |
Ctrl-w L | 将当前视窗移至右边 |
Ctrl-w - | 减小视窗的高度 |
Ctrl-w + | 增加视窗的高度 |
10.在vim执行外部命令
在命令行模式中输入!可以执行外部的shell命令
| 命令 | 说明 |
---|
:!ls | 用于显示当前目录的内容 |
:!rm | FILENAME用于删除名为 FILENAME 的文件 |
:w | FILENAME可将当前 VIM 中正在编辑的文件另存为 FILENAME 文件 |
11.set功能的说明
命令行模式下输入
| 命令 | 说明 |
---|
:set autoindent(ai) | 设置自动缩进 |
:set autowrite(aw) | 设置自动存档,默认未打开 |
:set background=dark或light | 设置背景风格 |
:set backup(bk) | 设置自动备份,默认未打开 |
: set cindent(cin) | 设置C语言风格缩进 |
vim的功能设定
可以在编辑文件的时候进行功能设定,如命令行模式下输入:set nu(显示行数),设定值退出vim后不会保存。要永久保存配置需要修改vim配置文件。 vim的配置文件~/.vimrc,可以打开文件进行修改,不过务必小心不要影响vim正常使用.