vim 编辑器
vim是Linux下的文本编辑工具,vi -> vim(vi improved)。
vim有三种模式:插入模式(Insert mode:a/i等进入插入模式)<–>命令模式(Command mode:默认进入命令模式,Command mode 是Inset mode 与 EX command mode切换的桥梁,Esc退出命令模式)<–>行模式(EX command mode:冒号”:“进入行模式)
命令模式移动光标:
hjkl:←↓↑→等同于键盘上箭头左下上右;
b:跳到单词的开头(begin),(大写B:忽略标点符号);
e:跳到单词的结尾(end),(大写E:忽略标点符号);
w:下一个单词的开头(word),(大写W:忽略标点符号);
0:跳到行开头;
^:跳到行开头(第一个非空白字符);
$:跳到行结尾;
zt:把当前行放到窗口(窗口指屏幕,下同)第一行;
zz:把当前行放到窗口中间;
zb:把当前行放到窗口最后一行;
H:跳到窗口第一行第一个非空白字符;
M:跳到窗口中间第一个非空白字符;
L:跳到窗口最后一行第一个非空白字符;
gg(1G):跳到文件(相对文件,与窗口不同)第一行;
G:跳到文件最后一行;
nG:跳到文件指定行(number);
ctrl+f:pagedown;
ctrl+b:pageup;
ctrl+d:1/2pagedown;
ctrl+u:1/2pageup;
命令行模式进入插入模式:
i:光标前插入字符;
I:行末插入字符;
a:光标后插入字符;
A:行前插入字符;
s:删除光标处字符后插入字符;
S:删除光标所在行后插入字符;
c+b/e/w,c+h/l(c+x:与移动光标结合,删除,插入):删除光标开始与光标结束(光标结束处指b/e/w,h/l命令到达的地方(b:不包括光标开始处字符,w:不包括光标到达处字符),还可以是其他命令)间的字符后插入字符;
c+j/k:删除光标所在行与目的行间(目的行指j/k命令到达的行)的字符后插入字符;
o:向前插入新行;
O:向后插入新行;
命令模式编辑文本:
选中:
v:选择字符,上下左右可选择多个字符;
V:选择行,上下可选择多行;
ctrl+v:选择块,上下左右可选择不同的块;
删除:
x:光标处字符;
X:光标前字符;
d:选中后删除(还和c相似);
D:删除光标处及所在行后面的内容;
dd:删除行;
ndd:删除多行;
拷贝:
y:选中后再拷贝;
Y/yy:行拷贝;
nY/nyy:拷贝多行(number);
粘贴:
p:把剪贴板的内容粘贴到光标后;
P:把剪贴板的内容粘贴到光标前;
改变:
r:改变光标处字符;
R:改变多个字符,Esc退出改变模式;
标志:
mx:在光标处标志为x;
`x:跳到标志x处;
‘x:跳到标志x所在的行;
缩进:
>>:光标所在的行向右缩进一个tab;
<<:光标所在的行向左缩进一个tab;
>:选中多行向右缩进一个tab;
<:选中多行向左缩进一个tab;
搜索:
*:向下搜索光标所在处单词;
#:向上搜索光标所在处单词;
xx:向下搜索字串,regular expression;
?xx:向上搜索字串,regular expression;
行模式命令:
:set nu 显示行号;
:set nonu 取消行号;
:set all 查看支持的set命令;
:pwd 当前vim工作路径;
:!ls 返回shell并支持命令ls(command);
:map Y y$映射命令的快捷方式Y为y$(拷贝光标处到行尾的字符);
:Ex 水平分屏打开文件所在的文件夹;
:Vex 垂直分屏打开文件所在的文件夹;
多文件编辑:
buffer模式:vim file1 file2(不能用n/N切换)
:e file 打开一个buffer;
:n/bn:向前切换buffer;
:N/pn:向后切换buffer;
分屏模式:
:sp file 水平分屏;
:vsp file 垂直分屏;
ctrl+w+w/j/k:分屏间切换,w(循环),j(向下),k(向上);
ctrl+w+r:分屏间切换窗口(文件所在部分);
以上都是个人自己的笔记,如有错误还望提出 唯有时间了解爱