标签:vim 技巧
vim使用说明
一、定义
vi:visual interface
vim:visual interface iMproved
扩展:
Emacs、sed、awk、nano
二、模式
1、三种模式:
编辑模式(命令模式)
输入模式
末行模式
2、模式切换
1、vi/vim file:默认进入编辑模式(命令模式)
2、编辑模式(命令模式)-----> 输入模式
i:在紧挨光标所在位置的前面输入。
I:在行首输入
a:在紧挨光标所在位置的后面输入(光标向后移动1个字符,再输入)
A:在行尾输入
o:在光标所在行下面新建输入新行
O:在光标所在行上方新建输入新行
3、输入模式------> 编辑模式(命令模式)
Esc
4、编辑模式(命令模式)-----> 末行模式
:
5、末行模式------> 编辑模式(命令模式)
Esc
三、打开关闭
1、打开
vim
vim FILENAME:打开文件到编辑模式
vim +# FILENAME(#为行数):打开文件并定位光标到第#行
vim +/PATTERN:打开文件并定位光标到匹配第一个PATTERN的行
2、关闭
末行模式下:
:wq 保存退出
:q 退出
:q! 不保存强制退出
:x 保存退出
编辑模式(命令模式)下:
ZZ 保存退出
四、编辑模式(命令模式)命令
1、光标跳转(移动)
h:向左移动一个字符
j:移动到光标正对下一行的字符
k:移动到光标正对上一行的字符
l:向右移动一个字符
等同于小键盘的方向键(h左,j下,k上,l右),可以与数字同时使用。例:#h向左移动#个字符
w:移动到后一个单词的词首
e:移动到当前或后一个单词的词尾
b:移动到当前或前一个单词的词首
w,e,b同样可以与数字同时使用,#w,#e,#b
^:移动到行首第一个非空字符
0:移动到行首
$:移动到行尾
#G:移动到第#行第一个非空字符
1G,gg移动到第一行第一个非空字符
G:移动到最后一行第一个非空字符
2、编辑命令
x:删除光标所在位置的字符
#x:删除光标所在往后的#个字符
#xp:剪切粘贴
r #:替换光标所在处字符为#
d:删除光标所在的行
d^:删除光标所在至行第一个非空字符
d$:删除光标所在至行尾
d0:删除光标所在至行首
dw:删除光标所在至下一个单词的词首
de:删除光标所在至当前或下一个单词的词尾
db:删除光标所在至当前或上一个单词的词首
dd:删除光标所在整行
注:d命令删除的内容会被vim编辑器保存至缓冲区
p:粘贴
1、复制或删除的内容不是一个完整的行
p小:粘贴至当前光标所在处后面
P大:粘贴至当前光标所在处前面
2、复制或删除的内容是完整行(可是多行)
p小:粘贴至当前光标所在行下方
P大:粘贴至当前光标所在行上方
y:复制,与d用法相同
y^:复制光标前一字符至行第一个非空字符
y$:复制光标所在至行尾
y0:复制光标所在至行首
yw:复制光标所在至下一个单词的词首
ye:复制光标所在至当前或下一个单词的词尾
yb:复制光标所在至当前或上一个单词的词首
yy:复制光标所在整行
c:修改,删除指定字符,并切换到输入模式
c^:修改光标之前一个至行第一个非空字符
c$:修改光标所在至行尾
c0:修改光标所在至行首
cw:修改光标所在至下一个单词的词首
ce:修改光标所在至当前或下一个单词的词尾
cb:修改光标所在至当前或上一个单词的词首
cc:修改光标所在整行
u:撤销上一步操作
ctrl+r:恢复撤销的操作
.:重复前一个编辑命令
3、翻屏
ctrl+f:向后一屏
ctrl+b:向前一屏
ctrl+d:向后半屏
ctrl+u:向前半屏
五、末行模式
1、地址定界匹配
:start_pos,end_pos
:# 第#行
:#,& 第#行到&行
:. 当前行
:$ 最后一行;等同于命令模式下的G
:% 全文;等同于:1,$
2、查找
/pattern:向尾部进行
?pattern:向首部进行
n:与命令同方向
N:与命令反方向
3、替换
s:在末行模式下,在地址定界的范围内完成查找替换操作
格式:
s/要查找的内容/想要替换成的内容/修饰符
查找内容:可使用模式匹配
替换内容:不能使用模式,但可以使用后向引用符号,以引用前面模式中的分组括号所匹配到的内容;引用:
() \1,\2……
&:引用查找内容匹配到整个内容
修饰符:
i:忽略大小写
g:全局
分隔符:习惯用 /,查找替换的内容若出现/。可以:
1、用转义符\。写成:\/
2、使用其他字符代替分隔符:例如@,#等
4、导入
:!command 执行系统命令
:r filename 导入文件;在光标所在位置写入导入文件的内容
:r!command 将命令结果写入打开的文件光标所在位置
六、编辑多文件
同时编辑修改多个文件
vim FILE1,FILE2……
1、切换文件
:next 下个文件
:first 第一个文件
:prev 上一个文件
:last 最后一个文件
2、退出
:wqall 全部保存退出
:q!all 全部强制退出
3、多文件窗口分割
vim -o|-O FILE1 FILE2……
-o:水平分割
-O:垂直分割
4、 单文件分割
ctrl+w,s水平分割
ctrl+w,v 垂直分割
操作:ctrl+w,然后按s或v
七、特性定制
1、行号
:set nu
:set nonu
2、括号匹配
:set sm
:set nosm
3、自动缩进
:set ai
:set noai
4、高亮搜索
:set hlsearch
:set nohlsearch
5、语法着色
:syntax on
:syntax off
6、忽略大小写
:set ic
:set noic
使以上特性永久性生效:
全局:/etc/vimrc
个人:~/.vimrc
本文出自 “从头再来” 博客,请务必保留此出处http://4708705.blog.51cto.com/4698705/1690412
标签:vim 技巧
原文地址:http://4708705.blog.51cto.com/4698705/1690412