Vim中有三种工作模式:
- 命令模式
- 输入模式
- 编辑模式
Vim快捷方向键以单次为单位移动
快捷键 | 功能描述 |
---|
h | 光标向左移动一位 |
j | 光标向下移动一位(以回车为换行符) |
k | 光标向上移动一位 |
l | 光标向右移动一位 |
快捷键 | 功能描述 |
---|
w或W | 光标移动至下一个单次的单词首 |
b或B | 光标移动至上一个单次的单词首 |
e或E | 光标移动至下一个单词的单词尾 |
nw或nW | n为数字,表示光标向右移动n个单词 |
nb或nB | n为数字,表示光标向左移动n个单词 |
从命令模式进入输入模式
快捷键 | 功能描述 |
---|
i | 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 |
I | 在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符 |
o | 在光标所在行的下面一行插入新的一行。光标停在空行首,等待输入文本 |
O | 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 |
a | 在当前光标所在位置之后插入随后输入的文本 |
A | 在光标所在行尾插入随后输入的文本,相当于光标移动到行尾再执行a命令 |
查找文本
快捷键 | 功能描述 |
---|
/abc | 从光标所在位置向前查找字符串abc |
/^abc | 查找以abc为行首的行 |
/abc$ | 查找以abc为行尾的行 |
?abc | 从光标所在为主向后查找字符串abc |
n | 向同一方向重复上次的查找指令 |
N | 向相反方向重复上次的查找指令 |
命令模式下,“*”可以查找光标现在的单词,这样的做法查找更快
替换文本
快捷键 | 功能描述 |
---|
r | 替换光标所在位置的字符 |
R | 从光标所在位置开始替换字符,其输入内容会覆盖掉后面等长的文本内容,按"Esc"可以结束 |
: s/a1/a2/g | 将当前光标所在行中的所有a1用a2替换 |
:n1,n2s/a1/a2/g | 将文件中n1到n2行中所有a1都用a2替换 |
:g/a1/a2/g | 将文件中所有的a1都用a2替换 |
删除文本
快捷键 | 功能描述 |
---|
x | 删除光标所在位置的字符 |
dd | 删除光标所在行 |
ndd | 删除当前行(包括此行)后几行文本 |
dG | 删除光标所在行一直到文件末尾的所有内容 |
D | 删除光标位置到行尾的内容 |
:a1,a2d | 删除从a1行到a2行的文本内容 |
vaw可以帮助我们选中光标所在的单词
删除文本
快捷键 | 功能描述 |
---|
p | 将剪贴板中的内容粘贴到光标后 |
P(大写) | 将剪贴板中的内容粘贴到光标前 |
y | 复制已选中的文本到剪贴板 |
yy | 将光标所在行复制到剪贴板,此命令前可以加数字n,可复制多行 |
yw | 将光标位置的单词复制到剪贴板 |
Vim保存退出文本
命令 | 功能描述 |
---|
:wq | 保存并退出vim编辑器 |
:wq! | 保存并强制退出vim编辑器 |
:q | 不保存就退出vim编辑器 |
:q! | 不保存,且强制退出vim编辑器 |
:w | 保存但是不退出vim编辑器 |
:w! | 强制保存文本 |
:w filename | 另存到filename文件 |
x! | 保存文本,并退出vim编辑器,更通用的一个vim命令 |
ZZ | 直接退出Vim编辑器 |
Vim光标移动
快捷键 | 功能描述 |
---|
0或^ | 光标移动至当前行的行首 |
$ | 光标移动至当前行的行尾 |
n$ | 光标移动至当前行只有n行的行尾,n为数字 |
快捷键 | 功能描述 |
---|
gg | 光标移动到文件开头 |
G | 光标移动至文件末尾 |
nG | 光标移动到第n行,n为数字 |
:n | 编辑模式下使用的快捷键,可以将光标快速定义到指定行的行首 |
- 光标移动到匹配的括号处
程序员在编辑程序时,经常会为将光标移动到与一个"(“匹配的”)"(对于[]和{}也是一样的)处而感到头疼。Vim里面提供了一个非常方便地查找匹配括号的命令,这就是"%"。(begin end task function也可以帮你找到)
什么是vim配置.vimrc
- Vim编辑器相关的所有功能开关都可以通过.vimrc文件进行设置
- .vimrc配置文件分系统配置和用户配置两种
- 系统vimrc配置文件存放在Vim的安装目录,默认路径为/usr/share/vim/.vimrc。可以使用命令echo $VIM来确定Vim的安装目录
- 用户vimrc文件,存放在用户主目录下~/.vimrc。可以使用命令echo $HOME确定用户主目录。
- 注意:用户配置文件优先于系统配置文件,Vim启动时会优先读取当前用户根目录下的.vimrc文件。所以与个人用户相关的个性化配置一般都放在~/.vimrc中。
什么是vim插件(plugin)
vim已经为我们提供了足够满足日常文本处理的功能。在实际编写代码中,我们还经常需要就所编写的代码语言提供更多的编辑支持,例如代码语法高亮、文件浏览、多窗口切换、自动补全等等。这些不同的功能并不是vim"原生的",而是由不同的vim插件贡献者所带来的。
关注作者
- 自述
作者是一位中科大数字设计专业的研究生,水平有限,如有错误,请大家指正,想要与大家一同进步。 - 经历
曾获得国家奖学金,“高教社杯”数学建模国家二等奖等 - 微信公众号
欢迎大家关注公众号“数字IC小白的日常修炼”,期待与大家一同仗剑遨游数字IC世界。