笔记说明
- 按键指令中""间内容代表同时按下多个按键,使用空格隔开。顺序按下按键的指令不使用空格
- 输入内容使用’‘标注
- []代表可变参数,用斜体表示
基础指令
启动
vi/vim/nvim [filename]
五种常用命令模式
普通模式
其他模式->普通模式:
处于任何模式下,按ESC
或者"Ctrl c
"都可以回到普通模式。
编辑模式
普通模式->编辑模式:
i
:当前光标处进行编辑
a
:当前光标后进行编辑
I
:当前行首进行插入
A
:当前行尾进行插入
o
:当前行前插入新行
O
:当前行后插入新行
在插入模式下按"Ctrl o
"可进入普通模式,在此模式下可以运行一次普通模式命令,然后就又回到编辑模式。
替换模式
普通模式->替换模式:
r
:替换光标处单个字符
R
:替换多个字符
"[n]r
": 将光标所在向后 n 个字符都替换掉,例如 "3rs
"可以把光标向后的三个字符都替换成 s
在持续替换模式中可使用 Insert
键在持续替换模式和插入模式中切换
可视模式
普通模式->可视模式:
v
:可进行文本选择
V
: 进入行选择模式,整行整行地进行选择
"Ctrl q
": 进入块选择模式。在这个模式下,你可以以”块” 或者 “列” 的方式选择文本。本来快捷键是 "Ctrl v
", 但是在 Windows 上,Vim 会模仿 Windows 快捷键,"Ctrl v
"是粘贴,所以使用 "Ctrl q
" 进入块选择模式。
命令模式
普通模式->命令模式:
按下shift ;
进入
输入一些命令,按enter
执行,执行完命令之后自动回到普通模式,或者直接按 Esc
回到普通模式。
移动
”h、j、k、l
“ 对应 ”左、下、上、右“
”gg
“:全文行首
G
:全文行尾
enter
、''shift =
'':下一行行首
-
:上一行行首
:[n]
:跳转到第n行(n为参数)
"
` `":回到上次位置
"Ctrl o
":到“跳转列表”的上次位置,按一下就会跳一次
"Ctrl i
":“跳转列表”的下次位置,按一下就会跳一次
"m[n]
":n为按键,做标记使用
更多标记
''
是上次跳转操作光标所在的位置'"
是上次退出当前文件的位置'[
是上次编辑(删除修改等)的开始位置']
是上次编辑(删除修改等)的结束位置'.
是上次编辑(删除修改等)的最后的操作位置
b
:左边最近的词头
w
:右边最近的词头
e
:向右最近的词尾
"ge
":向左最近的词尾
W
:向右最近的大词头
B
:向左最近的大词头
^
:移动到行首
"g_
":移动到行尾
0
:移动到本行第一个字符
$
:移动到本行最后一个字符
f
:向右查找,需要配合字母进行
F
:向左查找
t
:同f功能,不过停留在目标的前一个字母
;
:在本行内,沿查找方向继续查找
,
:在本行内,沿反向方向继续查找
需要注意的是,继续查找功能对于t
和T
,是根据光标位置判定的,例如使用了te
,想要;继续,就要按一次l
,让字母落在e上,否则光标是不会动的。可以使用,
和;
反复横跳,但,的光标移动效果相当于T
,停留在目标“前”一个字母。
- "
Ctrl g
":显示文件行数 - 显示行号 '
:se nu
' - 显示相对行号 '
:se rnu
'
大小词:
- 小词就是我们常规意义的词,被 、 等标点分开的词
- 大词 里面包括了 、 等标点,只能被空格、tab、换行分割
数字参数
[n][command]
例如:
"3w
":执行三次w
"2fo
":向右找到第二个o
2;
:继续查找第二个(这个;确实很好用 但是前提是得要加上参数 -u None)
- 可以修改.vimrc配置文件
- 删除掉nnoremap ; :之后
3G
:跳到第3行
初始配置
':set [option]
'命令
[option]可以用':h :set
'查看
进阶技巧
代码技巧
gg=G
:全文自动缩进