vim的三种主要模式;
命令模式、插入模式、扩展模式
1、终端输入 → 命令模式:
vim /option/... 进入命令模式,光标默认行首。
vim +n /option/...进入命令模式,光标锁定第n行、行首。
vim +/^... /option/...进入命令模式,光标锁定已选定的第一个字符为行首。
vim + /option/...进入命令模式,光标锁定段尾行的第一个字符为行首。
2、命令模式 → 插入模式:
i:进入插入模式,光标位置,进行编辑。
a:进入插入模式,光标后一位,进行编辑。
o:进入插入模式,在光标位置下,添加一个新行。
I:进入插入模式,在光标所在的行首输入。
A:进入插入模式,在光标所在的行尾输入。
O:进入插入模式,在光标上一行,行首输入。
Esc键-----退出插入模式-----进入命令模式。
3.1、命令模式 → 扩展模式:
Shfit 加:键 .....进入扩展模式 ;
Esc、Enter键------退出扩展模式;
3.2、终端输入→扩展模式:
ex /option/ :进入扩展模式
3.3、扩展模式:
:r--------------在扩展模式下将读到文件内容输入到当前文件中。
:w-------------在扩展模式下将当前文件内容写入另一个文件中。
:!------------在扩展模式下输入!(command)回车,显示命令执行结果,再回车回到命令模式 界面。
:r!-----------在扩展模式下输入r!(command)回车,将命令内容读入到当前文件中。
4、退出vim:
:q -------------在没有进行修改操作时,进入扩展模式输入q退出。
:q! ------------在操作时进行了输写修改,不想保存时进入扩展模式输入q!强行退出。
:wq -----------保存退出。
:wq!-----------强制保存退出。
:x ---------------保存退出。
:ZZ--------------在命令模式下,保存退出。
:ZQ--------------在命令模式下,不保存退出。
5、移动光标
命令模式下移动光标;(只能在命令模式下移动光标)
← h 、↓ j、 ↑k、 → l :光标移动 左、下、上、右
#h、#j、#k、#l、(#为数字)------执行#次命令(h、j、k、l)、移动#个字符。
w----------跳至下一个单词词首·。
W----------跳至下一个空格后单词词首。
b------------跳至前一个单词词首.
B------------跳至前第二个空格后词首。
H------------跳至页首
M------------跳至页中
L------------ 跳至页尾
gg-----------跳至文件首部,行首。
G------------跳至文件尾部,行首。
:#----------跳至#行。
^--------------跳至行首的第一个非空白符。
0(数字)--跳至行首。
$--------------跳至行尾。
#G------------跳至#指定行首。
1G、gg-----跳至第一行行首。
句间移动;
(-------------跳至上一句。
)-------------跳至下一句。
段落间移动;
{ -------------跳至上一段。
} -------------跳至下一段。
翻屏操作;
ctrl+B--------向首部翻屏
ctrl+F--------向尾部翻屏
ctrl+U--------向首部翻半屏
ctrl+D--------向尾部翻半屏
6、命令界面操作,修改、删除、复制;
x---------------删除当前光标字符;
xp-------------交换当前所在的字符与光标后面的字符;如:root、orot
~--------------转换大小写;
J--------------删除当前行的换行符;
r---------------替换当前光标所在位置的字符;(输入的字符替换原有的字符)
R--------------模式替换(REPLACE)
d($、0、^、w、b)-----删除
y($、0、^、w、b)------复制
c($、0、^、w、b)------修改
p------------------------------粘贴
7、扩展模式,地址定界、查找、替换
地址定界:(startpos,endpos)
# :-----------------------------第#行。
#,#:------------------------- 从左侧第#行到右侧第#行表示的行数。
#,+#:--------------------------从左侧第#行起,到加上右侧数字的行数。
.:--------------------------------当前行。
$:-------------------------------最后一行。
%:------------------------------全文,相当于1,$
/pat1/,/pat2/:-----------------从第一次被/pat1/模式匹配到的行开始,一直到第一次被/pat2/匹配到的行结果。
查找 :
/:(PATHERN)-----------从当前光标处向文件尾部查找。
?:(PATHERN)----------从当前光标处向文件首部查找。
n、N -----------------------------辅助使用
查找并替换;
s:--------------------------------在扩展模式下完成查找替换操作。
(s/查找模式/要替换成的内容/修饰符)
修饰符:
i:---------------------------------忽略大小写
g:-----------------------------------全局替换
多文件模式;
next:-----------------------------切换到下一个文件。
provious:-----------------------切换到上一个文件。
last:------------------------------切换到最后一个文件。
first:------------------------------切换到第一个文件。
wqall:----------------------------保存所有文件。
8、多窗口模式
多文件:(vim -o a.txt b.txt......)
-o:--------------------------------水平分割
-O:-------------------------------垂直分割
在窗口间切换Ctrl+w,Arrow(上下左右箭头)
单文件;
Ctrl+w,s:---------------------水平分割
Ctrl+w,v:---------------------垂直分割
窗口属性定义;
set nu :-------------------------显示行号
set nonu:-----------------------取消显示行号
set ai:---------------------------启用自动缩进功能
set noai:----------------------- 取消自动缩进功能
set ic:---------------------------忽略字符的大小写
set noic:------------------------不忽略字符的大小写
set sm:--------------------------括号匹配
set nosm:--------------------------取消括号匹配