Vim备忘

建议结合tmux使用,多开一个pane使用make或者使用tftp传输文件等。
Ctrl+b z可以最大化当前pane,不用的时候再Ctrl+b z回到原窗口。


  1. 唯手熟尔

1. Vim的模式

Vim模式转换关系。

graph LR cmd((命令模式)) input((输入模式)) normal((正常模式)) visual((可视模式)) normal--i/I a/A o/O-->input input--ESC-->normal normal--v/V/Ctrl+v-->visual visual--ESC-->normal normal--:-->cmd cmd--ESC-->normal

正常模式:一般用于浏览文件,也包括一些复制、粘贴、删除等操作。

命令模式:编辑器配置,文本查找和替换,文本块选择等。

输入模式:文本输入和编辑。

可视模式:模拟鼠标操作

2. Vim退出

命令 说明
:q 退出未被编辑的文件
:q! 强行退出vi,丢弃所做改动
:x 存盘退出vi
:wq 存盘退出vi
ZZ 等同于:wq

3. 光标移动

上下左右移动

在命令行下光标移动的方法:

命令 说明
k、Ctrl+P、<up_arrow> 向上移动,前面可以加数字表示移动多少行
j、Ctrl+N、<down_arrow> 向下移动,前面可以加数字表示移动多少行
h、Backspace、<left_arrow> 向左移动
l、Space、<right_arrow> 向右移动

移动到指定字符

参考“查找”部分。

词移动

命令 说明
w 向前移动,光标停在下个单词词首,每次一个单词
W 向前移动,光标停在下个单词词首,每次一个字符串
b 向后移动,光标停在前个单词词首,每次一个单词
B 向后移动,光标停在前个单词词首,每次一个字符串
e 向前移动,光标停在前个单词词尾,每次一个单词
E 向前移动,光标停在前个单词词尾,每次一个字符串

行移动

光标快速定位。快速显示当前行?

命令 说明
I 光标进入行首并进入编辑模式。
A 光标移至行尾并进入编辑模式。
G 将光标定位到最后一行
nG 将光标定位到第n行
gg 将光标定位到第1行
ngg 将光标定位到第n行
:n 将光标定位到第n行

页面窗口以及大范围移动

命令 说明
Ctrl+f/PageUp 向上翻页,前面可以加数字来表示翻多少页
Ctrl+b/PageDown 向下翻页,前面可以加数字来表示翻多少页
Ctrl+d 向上翻半页
Ctrl+u 向下翻半页
Ctrl+e 向下滚动
Ctrl+y 向上滚动
zt 光标所在行移动到窗口的顶部,侧重浏览
zz 光标所在行移动到窗口的中间,侧重浏览
zb 光标所在行移动到窗口的底部,侧重浏览
H 光标移动到窗口的顶部,侧重窗口内编辑移动
M 光标移动到窗口的中间,侧重窗口内编辑移动
L 光标移动到窗口的底部,侧重窗口内编辑移动
n% 移动到n%的位置

窗口移动

命令 说明
Ctrl+w h/j/k/l 窗口间上下左右移动
Ctrl+w H/J/K/L 窗口本身上下左右移动

4. 文本选择

命令 说明
v 字符可视化模式(Characterwise visual mode)。文本选择是以字符为单位的。
V 行可视化模式(Linewise visual mode)。文本选择是以行为单位的。
Ctrl+v 块可视化模式(Blockwise visual mode)。可以选择一个矩形内的文本。

5. 查找

命令 说明
/ 向下查找
向上查找
q/ 在vim最下方开个新的窗口向下查找
q? 在vim最下方开个新的窗口向上查找
n 跳到下一个
N 跳到上一个

6. 文本编辑

6.1 文本输入

在命令行模式下输入编辑命令(i/I、a/A、o/O),就可以进入输入模式,Vi左下角将会提示“插入”字样。
Vi的编辑命令。

命令 说明
a 在当前光标后面开始插入
A 在当前行行末开始插入
i 在当前光标前开始插入
I 在当前和光标行行首开始插入
o 从当前光标开始下一行开始插入
O 从当前光标开始前一行开始插入

6.2 文本处理

文本块选定

ESC+v

复制和粘贴【*】

y复制,p粘贴,yny复制n行。

插入模式下粘贴

Ctrl + r

剪切和删除

剪切

命令 说明
x或nx 从光标开始的一个或者n个字符
X和nX 剪切光标前的一个或者n个字符

删除

命令 说明
dd 删除光标所在的行
D 删除从光标开始位置到行尾
dw 删除从光标位置至该词末尾的所有字符
d0 删除从光标开始至行首
dnd 删除光标所在行开始的n行
dnG 将光标所在行至第n行删除

7. 文件浏览

Vim下面原生的文件浏览

命令 说明
:Ex 在当前窗口浏览完之后直接打开文件
:Vex 垂直分出来的一个窗口浏览文件
:Sex 水平分出来的一个窗口浏览文件

在窗格间切换的方法
Ctrl+w+方向键——切换到前/下/上/后一个窗格
Ctrl+w+h/j/k/l ——同上
Ctrl+ww——依次向后切换到下一个窗格中
插件的话推荐defx,NERDTree很久不更新了,不建议。

8. Vim配置

显示行号:

设置命令 说明
nu/number 显示行号
nu! 切换显示/不显示行号
nonumber 不显示行号

查找设置:

设置命令 说明
incsearch 即时查看找到的结果
hlsearch 对匹配的所有项目进行高亮显示
ignorecase 忽略大小写
posted @ 2020-09-05 13:45  Dluff  阅读(178)  评论(0编辑  收藏  举报