跳转至

Vim

在服务器上编辑配置文件,或者在本机练习模态编辑。普通模式直接写实际按键,如 dw;组合键写作 ctrl + r,大写字母用 shift 说明,以 : 开头的是命令行模式命令。

基础条目参考:Vim 官方速查。

模式切换

普通模式、插入模式、可视模式、命令行模式之间的切换。

在光标前进入插入模式

i
  • 助记:i 对应 insert(插入),从光标前开始输入。

返回普通模式

escape
  • 助记:escape 是 Escape(退出当前状态);退出插入状态后回到普通模式。

光标移动

按字符、单词、行、段落、屏幕移动,跳到行首、行尾和指定行。

向左、下、上、右移动

h
j
k
l
  • 助记:这是键位位置记忆:h 在左、l 在右,中间 j 向下、k 向上;不需要编造字母缩写。
  • 作用:四个按键分别使用。

跳到文件开头或末尾

gg
shift + g
  • 助记:G 是跳转命令,默认到最后一行;gg 到第一行。大小写和重复次数都是命令的一部分。
  • 作用:gg 到第一行,shift + g 输入大写 G,跳到最后一行。

跳到行首或行尾

0
$
  • 助记:0 联想行的起点;$ 也在正则中表示末尾,可一起记成行尾。
  • 作用:0 到行首,$ 到行尾。

编辑与操作符

d、c、y 等操作符和动作组合,删除、修改、复制和粘贴。

删除当前行

dd
  • 助记:d 对应 delete(删除);操作符重复成 dd 表示对整行操作。

复制当前行

yy
  • 助记:y 对应 yank(复制到寄存器);重复成 yy 表示复制整行。

在光标后粘贴

p
  • 助记:p 对应 put(放入),把寄存器里的内容放到光标后。
  • 作用:复制整行时粘贴到当前行下方。

撤销与重做

u
ctrl + r
  • 助记:u 对应 undo(撤销);ctrl + r 的 r 联想 redo(重做)。
  • 作用:u 撤销,ctrl + r 重做。

文本对象

iw、i"、ap 等文本对象,一次选中单词、引号内容或段落。

修改当前单词

ciw
  • 助记:c = change(修改),i = inner(内部),w = word(单词),组合起来就是“修改单词内部”。
  • 作用:删除当前单词并进入插入模式。

搜索与替换

/ 搜索、* 搜当前单词、:s 和 :%s 替换。

向下搜索关键词

/keyword
  • 助记:/ 发起搜索;n 联想 next(下一个),N 反向找。
  • 作用:输入后回车;n 找下一个,N 找上一个。

逐项确认全文替换

:%s/old/new/gc
  • 助记:s = substitute(替换),% = 全文件范围,g = global(每行全部匹配),c = confirm(确认)。
  • 作用:g 表示一行内所有匹配,c 表示逐项确认;old 是正则表达式。

可视模式

字符、行、块选择,以及对选区的批量操作。

按整行选择文本

shift + v
  • 助记:v 联想 visual(可视选择);shift + v 输入大写 V,按整行选择,小写 v 按字符选择。
  • 作用:再用 j / k 扩展选区,y 复制或 d 删除。

寄存器与宏

用寄存器保存多段文本,录制并重放宏。

录制并重放宏

qa
q
@a
  • 助记:qa 中 q 开始录制,a 是寄存器名;单独 q 停止,@a 执行 a 中的宏。
  • 作用:普通模式下 qa 开始录制到寄存器 a;做完操作按 q 停止,@a 重放。三步分开执行。

文件、缓冲区与窗口

保存、退出、打开多个文件,分屏和切换窗口。

保存并退出

:wq
  • 助记:w = write(写入文件),q = quit(退出);wq 就是先保存再退出。

放弃当前文件修改并退出

:q!
  • 助记:q = quit(退出),! 表示强制;这里是忽略尚未保存的修改。
  • 作用:会丢弃当前缓冲区尚未保存的修改。

左右分屏打开文件

:vsplit config.yaml
  • 助记:vsplit = vertical split(垂直分割),所以得到左右两个窗口。
  • 作用:把文件名换成实际路径;ctrl + w 后按 w 切换窗口。

常用配置

~/.vimrc 常用设置,比如行号、缩进和搜索高亮。

显示行号

:set number
  • 助记:set 是设置,number 是行号;选项名直接说明要显示什么。
  • 作用:只在当前会话生效;长期使用可把 set number 写进 ~/.vimrc。