如何高效使用vim
Vim 是一款文本编辑器,被称为编辑器之神
,非常适合在shell
中编辑代码,熟练的使用Vim
,可以让你高效的编写代码。
Vim 是Vi 的增强版,所有的类Unix 系统,都自带这两个工具,这两个工具中使用较多的也是Vim
。
Vim 中有很多命令,本文并不打算介绍所有的命令,只介绍常用实用
的命令,熟练使用这些命令,就可以快速的编写代码。
1,Vim 的三种模式
vim 中有三种模式,分别是普通模式
,编辑模式
,可视模式
。
其实,还有一种模式是命令模式
,这里我将命令模式
归入到了普通模式中,并没有单独将命令模式
拿出来。其实命令模式
就是在普通模式
下输入一个冒号:
加一个命令
。
其中可视模式
又分为行可视
和列可视
,如下:
vim 模式 ├── 普通模式
├── 编辑模式:可向文件中输入内容
└── 可视模式
├── 行可视:按行选中某块区域
└── 列可视:按列选中某块区域
它们之间的转换如下所示:
vim + 文件名
打开文件进入普通模式
普通模式
输入i
或o
或a
进入编辑模式
普通模式
输入Ctrl + v
进入列可视
普通模式
输入Shift +v
进入行可视
- 其它模式输入
Esc
返回普通模式
下面介绍每个模式支持的常用命令
。
2,普通模式
在普通模式下,可以使用下面这些命令,普通模式的命令最多。
2.1,如何进入编辑模式
使用以下命令进入编辑模式
:
命令 含义
i
在当前光标
前位置进入编辑模式
a
在当前光标
后位置进入编辑模式
o
在当前光标
下一行进入编辑模式
2.2,如何移动光标
使用以下命令移动光标:
命令 含义
k
或方向键↑
向上移动,建议使用k
j
或方向键↓
向下移动,建议使用j
h
或方向键←
向左移动,建议使用h
l
或方向键→
向右移动,建议使用l
^
移动到当前行第一个可见字符
0
或者Home键
移动到当前行开头
$
或者End键
移动到当前行最后
%
在两个匹配的{}[]()<>
之间移动
w
向后移动一个单词
b
向前移动一个单词
gg
移动到当前文件的第一行
G
移动到当前文件的最后一行
M
移动到当前文件的中间一行
Ctrl + o
移动到上一次编辑的地方
:
+数字N
输入一个:
,再输入一个数字
,按回车,快速跳到某一行
2.3,如何删除/复制/粘贴
使用以下命令删除
/复制
/粘贴
:
命令 含义
dd
删除光标所在的行,并且内容在剪切板
yy
复制光标所在的行,并且内容在剪切板
dw
删除光标所在的单词,并且内容在剪切板
x
删除光标所在的一个字符,并且内容在剪切板
D
删除光标
到行末尾
所有的内容,并且内容在剪切板
p
粘贴剪切板的内容到光标处
2.4,如何进行搜索
使用以下命令在当前文件中搜索
:
命令 含义
*
光标停留在某个字符串时,*
可以在当前文件中搜索这个字符串
/+字符串+回车
在当前页面搜索这个字符串
n
锁定到下一个匹配的字符串
N
锁定到上一个匹配的字符串
:set hlsearch
让所有匹配的字符串
高亮
:set noh
取消字符串
高亮
2.5,如何进行分屏
vim 分屏
:
命令 含义
:vsp + 文件名
横向分屏
:sp + 文件名
竖向分屏
Ctrl + ww
锁定到下一个屏
退出命令
使用退出命令
,退出当前屏
2.6,如何退出文件
退出命令
如下:
命令 含义
:wq
保存
并退出
当前文件
:w
保存
当前文件
:q
退出
当前文件
:qa
退出
打开的所有文件
:q!
强制退出
(不保存)
2.7,如何进入可视模式
进入可视模式
:
命令 含义
Shift + v
进入行可视模式
Ctrl + v
进入列可视模式
2.8,其它
命令 含义
u
撤销
上一次操作
Ctrl + r
反撤销
操作
~
英文字符大小写转换
:%s/x/y/g
将当前文件中所有的x
换成y
数字
+ ==
用于格式化代码
,比如先输入一个999
,再输入==
,从当前行开始,以下999
行代码都会格式化
:set nu
显示行号
:set nonu
关闭行号
3,编辑模式
在编辑模式下可以使用下面命令。
命令 含义
Ctrl + n
搜素下一个变量名,函数自动补全
Ctrl + p
搜索上一个变量名,函数自动补全
Shift + Insert
在当前光标插入系统剪切板
的内容
4,行可视模式
在行可视模式
下可以使用下面命令。
命令 含义
k
或方向键↑
向上选中多行
j
或方向键↓
向下选中多行
d
删除
选中的区域内容,并且内容在剪切板
y
复制
选中的区域内容,并且内容在剪切板
p
粘贴
剪切板中的内容
>
将选中的区域向右缩进
<
将选中的区域向左缩进
5,列可视模式
在列可视模式
下可以使用下面命令。
命令 含义
k
或方向键↑
向上选中多行
j
或方向键↓
向下选中多行
h
或方向键←
向左选中多列
l
或方向键→
向右选中多列
d
删除
选中的区域内容,并且内容在剪切板
y
复制
选中的区域内容,并且内容在剪切板
p
粘贴
剪切板中的内容
>
将选中的区域向右缩进
<
列可视模式下不支持
以上讲到的命令需要多使用才能熟练,所谓孰能生巧。
如果你想配置Vim 插件
的话,建议不需要配置多么花哨复杂的插件,简单实用就好。
注意,在使用Vim
的时候,鼠标
基本是没有什么用的,所以这时可以忘记鼠标
的存在,只有键盘
。
另外,vimdiff
命令可以对比多个文件的不同,如下所示,打开两个文件(也可打开多个文件):
vimdiff 1.c 2.c
这里还有一个Vim 小游戏 ------《Vim 大冒险》,很有创意的一个小游戏,可以锻炼使用Vim,感兴趣的可以玩一下。
6,Vim 命令速查表
最后附上两张Vim 命令速查表
,自行选择,各取所需。
图一:
图二: PDF版在这里。
(完。)
以上是 如何高效使用vim 的全部内容, 来源链接: utcz.com/z/515588.html