Skip to content

Latest commit

 

History

History
81 lines (66 loc) · 4.24 KB

vim.md

File metadata and controls

81 lines (66 loc) · 4.24 KB

vim 学习记录

命令用法及解释

退出编辑器

:q! 表示强行退出且不会保存本次的任何修改
:q 表示正常退出,如果有没有保存的修改,会有相应的提示
:x 表示保存后再退出,相当于 :wq

删除文本

在 normal 模式下,将光标移动到指定的字符处,按下 x 键即可删除该字符,
如果想要从光标处一次连续删除 5 个字符,那么先按数字键 5 ,再按 x 键,以此类推。

在 normal 模式下,将光标移动到指定的一行,连按两次 d 键即可删除该行,
如果想要从光标处一次连续删除 3 行文本, 那么先按数字键 3 ,再连按两次 d 键,以此类推。

在 normal 模式下,按下 dw 键,可从光标处删除直到下一个单词的起始处(不包括下个单词的首字母),
按下 d$ 键,可从光标处删除直至行尾。

撤销

如果你误删了过多的内容,按下 Esc 键回到 normal 模式,再按下 u 键,就可以撤销上一次的操作。

批量添加或删除注释

给多行代码添加注释,在 normal 模式下,按下数字 0 键跳到行首,
按下 Ctrl + v 键进入可视化模式(VISUAL BLOCK),
再按 jk 键下移或上移来选中指定多行的首列,
再按下大写的 I 键进入 insert 模式,输入要添加的注释符,例如 # //
最后按下 Esc 键,然后就 ok 了。

批量删除多行的注释,同样按下 Ctrl + v 键进入可视化模式,
再按 h j k L 键选中单列或者多列,
最后按 dx 键就将选中部分删除了。

复制、粘贴

在 normal 模式下,按下大写的 Y 键或 yy 可复制当前行;
命令 3yy 复制从当前行开始往后的连续 3 行;
命令 yW 复制从当前光标位置到下一个单词的开头部分;
命令 y$ 复制从当前光标位置到当前行的末尾部分;
命令 y0 复制从当前光标位置到行首部分;
命令 yG 复制从当前行到文件末尾部分。

在 normal 模式下,按下大写的 P 键将剪切板中的文本粘贴到光标之前;
按下 p 键将剪切板中的文本粘贴到光标位置之后。

移动

在 normal 模式下移动光标
l 向右移动一个字符;
h 向左移动一个字符;
j 向下移动一行;
k 向上移动一行;
w 移动到下一个单词或标点符号的开头;
W 移动到下一个单词的开头,忽略标点符号;
b 移动到上一个单词或标点符号的开头;
B 移动到上一个单词的开头,忽略标点符号;
以上命令,可以在前面加上一个数字,表示指定命令执行的次数。比如,命令 5j 导致光标向下移动 5 行。

gg 移动到文件的第一行;
G 移动到文件最后一行;
0 (数字 0 键) 移动到当前行的行首;
^ 移动到当前行的第一个非空字符;
$ 移动到当前行的末尾;
nG 移动到第 n 行,例如 100G 移动到文件的第 100 行。

ctrl + f 向下翻一页;
ctrl + b 向上翻一页;
ctrl + d 向下翻半页;
ctrl + u 向上翻半页。

在行内快速移动的“升级版” f/F'x',单引号中的内容可以用任意字符代替,例如 f'a' / F'a'
fx:将光标移到右边的第一个字符 x 上,继续按 ;(分号),可以延相同的方向找到下一个 x,继续按 ,(逗号),可以延反方向找到下一个 x;
Fx:将光标移到左边的第一个字符 x 上,继续按 ;(分号),可以延相同的方向找到下一个 x,继续按 ,(逗号),可以延反方向找到下一个 x。

H 将光标移动到屏幕上方;
M 将光标移动到屏幕中间;
L 将光标移动到屏幕下方;
zz 将当前光标所在行居中。

% 让光标在成对的括号间跳转,例如大括号、圆括号、方括号等,该功能在写代码时经常使用;
[[ 将光标移动到上一个代码段(或函数)的行首;
]] 将光标移动到下一个代码段(或函数)的行首;
{ 将光标移动到上一个空行行首;
} 将光标移动到下一个空行行首。