导语
VIM 是 Linux 系统上一款文本编辑器,它是操作 Linux 的一款利器。
当前有很多优秀的 IDE 都支持安装 VIM 插件,原因就是使用它便捷,高效。
本文主要记录了 VIM 的一些常用使用技巧,方便随时查阅学习。
Vim几种模式:
normal模式:进入vim不能编辑或者少按esc的不能编辑的模式;
编辑模式:通过insert(插入)、append(追加)或者少新建一行o等等可以编辑内容模式;
命令模式:类似退出 :wq这种模式;
可视化模式:visual模式;(Visual模式一般用来块状选择文本)类似于我们的shift+方向键选择;
Normal模式下使用v进入visual选择
使用V选择行
使用ctrl+v进行方块选择
基础操作
移动光标
1 2 3 4
| h //左移 j //下行 k //上行 l //右移
|
退出Vim
正常模式下删除光标所在位置的字符
插入/添加文本
1 2
| i //在光标前插入文本 A //在该行后添加文本
|
删除命令/动作/撤销命令
删除类命令
1 2 3
| dw //删除至下一个单词 d$ //从光标处删除至当前行尾部 de //从光标处删除至单词末尾
|
命令与对象
以删除命令为例,格式如下
其中:
1 2
| d - 删除操作符 motion - 操作符的操作对象
|
一个简短的动作列表:
1 2 3
| w - 从光标当前位置到下一个单词起始处 e - 从光标当前位置到单词末尾 $ - 从光标当前位置到当前行末
|
计数指定动作
1 2 3 4
| number motion 2w //光标向后移到第二个单词的首位 3e //光标向后移到第三个单词的末尾 0 //移动光标至行首
|
用计数以删除更多
以删除命令为例,格式如下:
例如:
操作整行
1 2
| dd //删除掉光标所在的整行 2dd = d2d //删除两行
|
撤销类命令
1 2 3
| u //撤销最后执行的命令 U //撤销对整行的修改 Ctrl + R //重做
|
置入/替换/更改命令
置入类命令
注意:
如果最后一次删除的是一整行,则置入光标所在的下一行,否则置入光标之后。
置换类命令
输入r
和一个字符,即可替换光标所在位置的字符。
更改类命令
注意:
上述ce
命令不仅仅是删除了一个单词,同时让你进入插入模式。
查找/定位
定位及文件状态
1 2 3 4
| Ctrl + g //在页面底部显示当前编辑的文件名和文件中光标的位置 G //光标跳转至文件最后一行 gg //光标跳转至文件第一行 number G //光标跳转至指定行
|
搜索类命令
1 2 3 4 5 6
| / + String //在当前文件中查找字符串 ? + String //在当前文件中逆向查找字符串 n //查找下一个该字符串 N //查找上一个该字符串 Ctrl + o //回到之前的位置 Ctrl + i //跳转到较新的位置
|
查找配对括号
将光标移至任何一个括号处,按%
跳转至配对的括号处,再次按%
跳回配对的第一个括号处。
tips:
在程序调试时,此功能用于查找不配对的括号很有用。
替换命令
1 2 3 4 5
| :s/old/new //将光标所在行的第一个old替换为new :s/old/new/g //将光标所在行的所有old都替换为new :#,#s/old/new/g //将若干行内的old都替换为new,#分别代表首尾两行的行号 :%s/old/new/g //将整个文件中的old都替换为new :%s/old/new/gc //找到整个文件中的old,并对每个old提示是否替换为new
|
文件操作命令
在Vim内执行外部命令
保存文件
1 2
| :w TEST //将对文件的改动保存到TEST文件里 v motion :w TEST //将选中的行写入到TEST文件中
|
提取和合并文件
1 2
| :r FILENAME //将目标文件提取进来,从光标所在位置开始置入 :r !dir //读取dir命令的输入,从光标所在位置开始置入
|
打开/附加/置换/复制粘贴/设置类命令
打开类命令
1 2
| o //在光标的下方打开新的一行并进入插入模式 O //在光标的上方打开新的一行并进入插入模式
|
附加类命令
1 2
| a //在光标之后插入文本 A //在光标所在行行末插入文本
|
另一个置换类命令
将光标移动到需要置换文本的首个字符处,再将正确的字符逐一输入。
此方法更适用于连续的需要替换的字符。
复制粘贴文本
1 2 3
| y //复制文本 p //粘贴文本 yw //复制一个单词
|
使用v
进入可视模式选择文本,输入y
复制高亮文本,移动光标至目标处输入p
粘贴。
设置类命令的选项
1 2 3 4 5
| :set ic //查找时忽略大小写 :set hls is //查找到的单词高亮显示 :set noic //禁用忽略大小写 :nohlsearch //禁用匹配项的高亮显示 \c //加在查找命令之后,仅在一次查找时忽略字母大小写
|
获取帮助信息/创建启动脚本
在线帮助系统
1 2 3 4 5
| <HELP> <F1> :help //打开帮助系统
Ctrl + w Ctrl + w //在窗口之间跳转
|
创建启动脚本
1 2 3
| :edit ~/.vimrc //开始编辑vimrc文件 :r $VIMRUNTIME/vimrc_example.vim //读取vimrc示例文件的内容 :write //保存文件
|