从接触Linux到如今,也已经好几年了,对于linux的感受一直是分分离离,充满了遗憾,最大的遗憾之一就是一直没能精通vim,不能彻底适应vim下的代码开发。
最近工做中又普遍接触到vim的使用,我以为有必要总结一下。
可是我又没法针对vim的全部命令使用展开叙述,反而认为针对android,或者说java的一些经常使用编辑相关的操做命令作一个解说更具备效性。html
1.vim的三种命令模式
(1).命令模式:用于输入命令,简单更改
(2).插入模式:用于插入文本,修改文本
(3).末行模式:用于输入命令,视化操做,查找替换等
这三种模式熟悉后,颠覆了windows里面编辑+工具栏(或者菜单栏)的方式,是咱们进入命令介面的重要认知,通过使用以后,相信你们必定会喜欢这种操做模式的。
三种模式之间的切换方式以下:
(1).命令模式进入到插入模式:输入文本插入命令。
文本插入命令有:i,I,a,A,o,O
(2).插入模式退出到命令模式:ESC。
(3).命令模式进入到末行模式:冒号:。
如::set nu 表示行号显示
:set nonu 取消行号显示
(4).末行模式推出到命令模式:Enter或者ESC。
由此咱们也看出命令模式是这里还起了一个枢纽的做用,很是重要。java
2.文本插入命令
上面说到文本插入命令了,正好咱们就趁势说完。
文本插入命令主要是这几个i,I,a,A,o,O。linux
1
2
3
4
5
6
|
i(insert) 在光标前插入文本
I 在光标所在行首插入文本
a(append) 在光标后插入文本
A 在光标所在行尾添加文本
o(
open
) 在光标所在行下面添加一行
O 在光标所在行上面添加一行
|
说句实话,这几个命令都还真是有用,必须掌握,我建议先记住小写的便可,大写先无论,到后面熟悉以后,大写的天然就记住了。android
3.vim的退出和保存
退出vim也是基本操做基本涉及以下几个命令:shell
1
2
3
4
5
|
:q 退出vim返回到shell,如有修改未被保存,vi在末行给出提示信息并不退出vim到shell
:q! 退出vim返回到shell,放弃未保存的修改
:wq 先保存,而后退出vim返回到shell
:x 和wq命令功能相似,区别是若是是文件没有修改的话,x不会更新文件的修改时间,而wq则会更新文件的修改时间,不管是否有修改。
:w filename 写入当前文件到filename文件
|
wq和x应该用的不少吧。vim
4.命令模式的经常使用操做
在命令模式最经常使用操做大概包括,删除,复制,粘贴,撤销,移动等等,我列举几个最经常使用的以下 :windows
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
dd 删除当前1行
5dd 删除当前行向下5行
x 删除光标后字符
X 删除光标前字符
yy 复制当前1行
5yy 复制当前行向下5行
p 粘贴
u 撤销
hjkl 向左下上右方向移动光标
^ 光标移动到本行行首
$ 光标移动到本行行尾
gg 跳到文件首行
5gg 跳到第5行
G 跳到文件尾行
Ctrl + f 向后滚一页。
Ctrl + d 向后滚半页。
Ctrl + b 向前滚一页。
Ctrl + u 向前滚半页。
Ctrl + e 屏幕向下滚一行。
Ctrl + y 屏幕项上滚一行。
|
上述命令是咱们编辑文件常常使用的一些操做,必须掌握,很是有用。app
5.查找替换编辑器
1
2
3
4
5
6
7
8
|
/android 查找android,而后若是按n,表示向下查找,若是按N,表示向上查找
?android 查找android,而后若是按n,表示向上查找,若是按N,表示向下查找
shift
+8 向后搜索当前光标指向的单词
shift
+3 向前搜索当前光标指向的单词
:
%s
/old/new/g 将编辑器的缓冲区的
"old"
替换为new
:19,20s/old/new/g 将文件的19到20行的的
"old"
替换为new
|
用vim查找和替换仍是挺方便的。工具
6.小结 差很少,上述是vim编辑器的基本用法,今天写在这里,作一总结,同时与你们共勉。