VIM使用
普通模式
能够在命令前加数字。比方10dd 删除10行
使用ctrl+o 能够高速跳转到上次(跳转前)位置
高速缩进

移动命令
按键 | 说明 |
---|---|
h | 左 |
l | 右(小写L) |
j | 下 |
k | 上 |
w | 移动到下一个单词 |
b | 移动到上一个单词 |
进入插入模式
命令 | 说明 |
---|---|
i | 在当前光标处进行编辑 |
I | 在行首插入 |
A | 在行末插入 |
a | 在光标后插入编辑 |
o | 在当前行后插入一个新行 |
O | 在当前行前插入一个新行 |
cw | 替换从光标所在位置后到一个单词结尾的字符 |
命令行模式退出
命令 | 说明 |
---|---|
:q! | 强制退出。不保存 |
:q | 退出 |
:wq! | 强制保存并退出 |
:w <文件路径> | 另存为 |
:saveas 文件路径 | 另存为 |
:x | 保存并退出 |
:wq | 保存并退出 |
输入&#xff1a; 进入命令模式。wq 保存并退出
也能够用shift&#43;zz 取代 &#xff08;:wq&#xff09;保存退出
普通模式下删除
命令 | 说明 |
---|---|
x | 删除游标所在的字符 |
X | 删除游标所在前一个字符 |
Delete | 同x |
dd | 删除整行 |
dw | 删除一个单词&#xff08;不适用中文&#xff09; |
d$ 或D | 删除至行尾 |
d^ | 删除至行首 |
dG | 删除到文档结尾处 |
d1G | 删至文档首部 |
&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;&#43;
反复运行上次命令
普通模式下 . 就能够
比方。我上面 10dd 删除了10行。按点(.)继续删除10行&#xff0c;一直按则一直反复运行&#xff1b;
比方&#xff0c;我文本中插入了welcome &#xff0c;然后按.点&#xff08;.&#xff09;会再次插入一个welcome&#xff0c;按多少次则 插入多少个&#xff1b;
点&#xff08;.&#xff09; 前面也能够用数字。10. 则反复运行上次命令10次&#xff1b;
光标的高速跳转
命令 | 说明 |
---|---|
nG (n Shift&#43;g) | 游标移动到第 n 行(假设默认没有显示行号&#xff0c;请先进入命令模式。输入:set nu 以显示行号) |
gg | 游标移动到到第一行 |
G (Shift&#43;g) | 到最后一行 |
命令 | 说明 |
---|---|
w | 到下一个单词的开头 |
e | 到下一个单词的结尾 |
b | 到前一个单词的开头 |
ge | 到前一个单词的结尾 |
0 或^ | 到行头 |
$ | 到行尾 |
f<字母> | 向后搜索<字母>并跳转到第一个匹配的位置(很有用) |
F<字母> | 向前搜索<字母>并跳转到第一个匹配的位置 |
t<字母> | 向后搜索<字母>并跳转到第一个匹配位置之前的一个字母(不经常使用) |
T<字母> | 向前搜索<字母>并跳转到第一个匹配位置之前的一个字母(不经常使用) |
复制和粘贴
普通模式下y 是复制 p是粘贴普通模式中&#xff0c;yy复制游标所在的整行&#xff08;3yy表示复制3行&#xff09;
普通模式中。y^ 复制至行首。或y0。不含光标所在处字符。
普通模式中&#xff0c;y$ 复制至行尾。含光所在处字符。
普通模式中&#xff0c;yw 复制一个单词。 普通模式中&#xff0c;y2w 复制两个单词。 普通模式中。yG 复制至文本末。
普通模式中。y1G 复制至文本开头。 普通模式中&#xff0c;p(小写)代表粘贴至光标后&#xff08;下&#xff09; 普通模式中&#xff0c;P(大写)代表粘贴至光标前&#xff08;上&#xff09;
剪贴dd删除命令就是剪切&#xff0c;你每次dd删除文档内容后&#xff0c;便能够使用p来粘贴&#xff0c;也这一点能够让我们实现一个非常爽快的功能——交换上下行&#xff1a;ddp,就这么简单&#xff0c;即实现了高速交换光标所在行与它以下的行
替换和撤销&#xff08;undo&#xff09;
命令 | 说明 |
---|---|
r &#43;<待替换字母> | 将游标所在字母替换为指定字母 |
R | 连续替换&#xff0c;直到按下Esc |
cc | 替换整行&#xff0c;即删除游标所在行&#xff0c;并进入插入模式 |
cw | 替换一个单词&#xff0c;即删除一个单词&#xff0c;并进入插入模式 |
C (大写) | 替换游标以后至行末 |
~ | 反转游标所在字母大写和小写 |
u {n} | 撤销一次或n次操作 |
U (大写) | 撤销当前行的全部改动 |
Ctrl&#43;r | redo。即撤销undo的操作 |
高速缩进
普通模式下输入>> 整行将向右缩进&#xff08;使用。用于格式化代码超爽&#xff09;
普通模式下输入<<整行向左回退
普通模式下输入:进入命令行模式下对shiftwidth值进行设置能够控制缩进和回退的字符数
vim key_map 附上