值此五四运动100周年之际,写篇文章纪念一下。
“要把所有的夜归还给星河,把所有的春光归还给疏疏篱落,把所有的慵慵沉迷与不前,归还给过去的我。明日之我,胸中有丘壑,立马振山河。”
I 普通模式
1.1 游标移动
| 按键 | 说明 |
|---|---|
| h | 左 |
| j | 下 |
| k | 上 |
| l | 右 |
| w | 移动到下一个单词 |
| b | 移动到上一个单词 |
1.2 游标行间跳转
| 命令 | 说明 |
|---|---|
nG(n Shift+g) | 游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set nu以显示行号) |
gg | 游标移动到到第一行 |
G(Shift+g) | 到最后一行 |
小技巧:你在完成依次跳转后,可以使用 Ctrl+o 快速回到上一次(跳转前)光标所在位置,这个技巧很实用,比如当你在写代码时,忽然想起有个 bug,需要修改,这时候你跳过去改好了,只需要按下 Ctrl+o 就可以回到你之前的位置。
1.3 行内跳转
| 命令 | 说明 |
|---|---|
w | 到下一个单词的开头 |
e | 到当前单词的结尾 |
b | 到前一个单词的开头 |
ge | 到前一个单词的结尾 |
0或^ | 到行头 |
$ | 到行尾 |
f<字母> | 向后搜索<字母>并跳转到第一个匹配的位置(非常实用) |
F<字母> | 向前搜索<字母>并跳转到第一个匹配的位置 |
1.4 删除vim文本信息
| 命令 | 说明 |
|---|---|
| x | 删除游标所在的字符 |
| X | 删除游标所在的前一个字符 |
| delete | same as x |
| dd | 删除整行 |
| dw | 删除一个单词(不适合中文) |
| D or d$ | 删除至行尾 |
| d^ | 删除至行首 |
| dG | 删除至文档结尾处 |
| d1G | 删至文档首部 |
2dd 表示一个删除2行在普通模式下.(小数点)表示重复上一次的命令操作- 在普通模式下,你还可以使用
dw或者daw(delete a word)删除一个单词,所以你可以很容易的联想到dnw(n替换为相应数字) 表示删除n个单词 ~将游标所在字母变成大写或小写
1.5 复制粘贴和剪切
-
普通模式中使用
y复制- 普通模式中,
yy复制游标所在的整行(3yy表示复制3行) - 普通模式中,
y^复制至行首,或y0。不含光标所在处字符。 - 普通模式中,
y$复制至行尾。含光标所在处字符。 - 普通模式中,
yw复制一个单词。 - 普通模式中,
y2w复制两个单词。 - 普通模式中,
yG复制至文本末。 - 普通模式中,
y1G复制至文本开头。
- 普通模式中,
-
普通模式中使用
p粘贴- 普通模式中,
p(小写)代表粘贴至光标后(下) - 普通模式中,
P(大写)代表粘贴至光标前(上)
其实前面讲得
dd删除命令就是剪切,你每次dd删除文档内容后,便可以使用p来粘贴,也这一点可以让我们实现一个很爽快的功能——交换上下行:ddp,就这么简单,即实现了快速交换光标所在行与它下面的行 - 普通模式中,
1.6 快速查找
- 普通模式下输入
/icmp然后回车即可查找字符串icmp - 普通模式下输入
n查找下一个icmp - 普通模式下输入
?tcp向上查找字符串tcp - 普通模式下输入
N查找上一个出现的tcp - 命令行模式下输入
noh然后回车即可取消搜索
1.7 高级查找
- 普通模式下输入
\*寻找游标所在处的单词 - 普通模式下输入
\#同上,但\#是向前(上)找,\*则是向后(下)找 - 普通模式下输入
g\*同\*,但部分符合该单词即可 - 普通模式下输入
g\#同\#,但部分符合该单词即可
以上查找n,N 的继续查找命令依然可以用
1.8 缩进
- 普通模式下输入
>>整行将向右缩进(使用,用于格式化代码超爽) - 普通模式下输入
<<整行向左回退 - 普通模式下输入
:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数
shiftwidth命令
:set shiftwidth=10
1.9 替换
-
替换和Undo命令都是针对普通模式下的操作
命令 说明 r+<待替换字母>将游标所在字母替换为指定字母 R连续替换,直到按下 Esccc替换整行,即删除游标所在行,并进入插入模式 cw替换一个单词,即删除一个单词,并进入插入模式 C(大写)替换游标以后至行末 ~反转游标所在字母大小写 u{n}撤销一次或n次操作 U(大写)撤销当前行的所有修改 Ctrl+rredo,即撤销undo的操作
II 插入模式
| 命令 | 说明 |
|---|---|
| i | 在当前光标处进行编辑 |
| I | 在行首插入 |
| A | 在行末插入 |
| a | 在光标后插入编辑 |
| O | 在当前行后插入一个新行 |
| o | 在当前行前插入一个新行 |
| cw | 替换从光标所在位置后到一个单词结尾的字符 |
III 命令行模式
3.1 退出
| 命令 | 说明 |
|---|---|
| :q! | 强制退出,不保存 |
| :q | 退出 |
| :wq! | 强制保存并退出 |
| :w <文件路径> | 另存为 |
| :saveas 文件路径 | 另存为 |
| :x | 保存并退出 |
| :wq | 保存并退出 |
普通模式下输入Shift+zz即可保存退出vim
3.2 调整文本位置
-
: ce == center
-
: ri == right
-
: le == left

京公网安备 11010502036488号