vim编辑器
创新互联建站主要从事网站建设、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务百色,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
1.基本模式:
编辑模式,命令模式
输入模式;
末行模式;
2.打开文件,模式间转换
#vim [OPTION]... FILE...
+#:打开文件后,直接让光标处于第#行的行首
-/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首;
模式转换:
编辑模式 --> 输入模式
i:insert,在当前光标所在处输入
a:append,在当前光标所在处的后边输入
o:open,在当前光标的下面新开一行输入
I:在当前光标所在行的行首输入
A:在当前光标所在行的行尾输入
O:在当前光标所在行的上面新开一行输入
输入模式 --> 编辑模式
ESC
编辑模式 --> 末行模式
:
末行模式 --> 编辑模式
ESC(正常按2次,按1次反应很慢)
关闭模式:
:q 没有任何修改的时候,在末行模式退出
:q! 不保存做出的修改,强制不保存不退出
:wq 保存做出的修改,保存退出
:x 保存退出
:w /PATH/SOMESWHERE 保存到指定的地方
ZZ 在编辑模式,直接保存退出,无需切换到末行模式再保存退出
3.光标跳转
字符间跳转
h:向左
j:向下
k:向上
l:向右
单词单跳转
w:跳转到下一个单词的词首
e:跳转到当前或下一个单词的词尾
b:跳转到当前或上一个单词的词首
行首行尾跳转
^:跳转到当前行的行首
0:跳转到当前行的行着
$:跳转到当前行的行尾
行间移动
G:跳转到最后一行
#G:跳转到第#行
1G,gg:跳转到首行
4.vim的编辑命令
字符编辑
x:删除当前光标所在处的字母
#x:删除当前光标所在处,向后数的第#个字符
xp:交换当前光标所在处与其后面字符的交换
r:replace,按下r键,再按a键,表示把当前光标所在处的字符替换为a
删除命令:
d:删除命令,可以结合光标跳转字符,实现范围内删除
d$:删除当前光标所在处至行尾的内容
d^,d0:删除当前光标所在处至行首的内容
dd:删除当标所在行一整行
#dd:实现在多行删除,以当前光标所在行为起始
dw:
de:
db:
粘贴命令(p,put,paste):
p:缓冲区存的如果为事先,则粘贴在当前光标所在行的下方;否则,粘贴至光标所在处的后面
p:缓冲区存的如果为事先,则粘贴在当前光标所在行的上方;否则,粘贴至光标所在处的后面
复制命令(y,yank):
y:复制,工作行为类似于d命令
y^:复制当前光标所在处至行首
y0:复制当前光标所在处至行首
y$:复制当前光标所在处至行尾
yy:复制当前光标所在行的一整行
#yy:实现多行复制,以当前光标为起始
yw:
ye:
yb:
改变命令(c,change):
c:修改
编辑模式 --> 输入模式
c$:修改光标处至行尾,直接把光标所在处至行尾的内容删除,并变为插入模式
c^:修改光标处至行首,直接把光标所在处至行首的内容删除,并变为插入模式
c0:修改光标处至行首,直接把光标所在处至行首的内容删除,并变为插入模式
cw:
cb:
ce:
cc:修改整行,并变为插入模式
撤消此前的编辑(u,undo):
u:撤消前一次的操作
#u:撤消此前指定次数的操作
撤消此前的撤消:即使用u撤消之前的操作后,又后悔了,想要变回来
ctrl+r
重复前一个编辑动作:
.
可视化模式:
v:按字符选定
V:按行选定
注意:经常结合编辑命令,实现多行删除,复制等
翻屏操作:
ctrl+f:向文件尾部翻一屏
ctrl+b:向文件首部翻一屏
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
5.vim中的末行模式
内建的命令行接口
(a)地址界定
:start_pos,end_pos
#:具体第#行,例如2表示第2行
#,#:从第几行开始到第几行
#,+#:从第几行开始加几行
.:点表示当前行
$:表示最后一行
$-1:表示倒数第2行
%:表示全文,等于1,$
/pat1/,/pat2/
从第一次被模式pat1匹配开始,到第一次被模式
使用方式:后跟一个编辑命令
d:表示匹配成功后执行删除动作
y:表示匹配成功后执行复制动作
w:表示匹配成功后执行写入到指定的文件中
w /PATH/SOMEWHERE
(b)查找
/PATTERN:从当前光标所在处向文件尾部查找
?PATTERN:从当前光标所在处向文件首部查找
n:与命令方向同方向
N:与命令方向反方向
(c)查找并替换
s:在末行模式下完成查找替换操作
s/要查找的内容/替换为的内容/修饰符
要查找的内容:可以使用正则表达式
替换为的内容:不能使用正则表达式,但可以进行引用&,\1,\2等引用符
修饰符:
i:忽略大小写
g:全局替换,默认情况下,每一行只替换第一次出现的;
查找替换中的分隔符"/"可替换为其它字符;例如
s@@@ 例:%s@
s### 例:%s#
6.多文件模式
#vim FILE1 FILE2 FILE3 ...
:next 下一个
:last 最后一个
:first 第一个
:prev 前一个
:wall 保存所有
:qall 退出所有
:wqall 保存所有并退出
多文件窗口分隔模式:
#vim -o|-O FILE1 FILE2 ...
-o:水平分割
-O:垂直分割
在多个文件窗口中进行切换:
ctrl+w,Arrow(上下左右箭头)
单文件窗口分割
ctrl+w,s(水平分割文件)
ctrl+w,v(垂直侵害文件)
7.定制vim的工作特性
(a)设置行号
显示行号:set nu(number)
不显示行号:set nonu(nonumber)
(b)搜索命中的单词高亮显示
显示高亮:set hl(hlsearch)
不显示高亮:set nohl(nohlsearch)
(c)缩进
自动缩进:set ai(autoindent)
取消自动缩进:set noai(noautoindent)
(d)语法着色
显示颜色:syntax on
不显示颜色:syntax off
(e)自动匹配括号
自动匹配括号:set sm(showmatch)
不自动匹配括号:set nosm(noshowmatch)
(f)忽略字符大小写
忽略大小写:set ic(ignorecase)
不忽略大小写:set noic(noignorecase)
8.配置文件
#vim /etc/vimrc 对全局做配置,安装好vim,此文件就已经存在
#vim ~/.vimrc 对用户做配置,此文件事先可能不存在,需要自己创建