vim编辑器
1.vi:Visual Interface 文本编辑器,字处理器;文本:ASCII,Unicode
2.vim:VI iMproved
4.vim模式:
编辑模式(命令模式)
输入模式
末行模式
5.模式转换:
编辑 ------> 输入:
i | I :在当前光标所在字符的前面,转为输入模式;
a| A :在当前光标所在字符的后面,转为输入模式;
0|O :在当前光标所在字符的下方,新建一行,并转为输入模式;
输入----->编辑:
Esc:
编辑---> 末行:
" :"
末行--->编辑:
ESC,ESc
一.打开文件
#vim filename
vim +# :打开文件,并定位于#行;
vim + :打开文件,定位于最后一行;
vim + /PATTERN :打开文件,定位至第一行被PATTERN匹配到的行的行首。
默认属于编辑模式
二.关闭文件
1>..末行模式关闭文件:
:wq(保存并退出)
:q!强制退出
2>.编辑模式下关闭文件:
ZZ
!ls filename :查看某个文件
输入模式和末行模式不可以转换
三.移动光标
1>.逐字符移动:
h: 在光标所在处往左移动一个字符;
l: 在光标所在处往右。。。。;
j: 。。。。。上移。。。。。;
k: 。。。。。下移。。。。。;
#h: 移动#个字符
2>. 逐个单词移动
w:移至下一个单词的词首;
e: 跳至当前或者下一个单词的词尾;
b: 跳至当前或者前一个单词的词首;
# COMMAND:由#指定一次跳转的单词数;
3>.行内的跳转
0: 绝对的行首;
^: 行首的第一个非空白字符;
$: 绝对的行尾
4>.行间跳转
#G:跳转至第#行;
G: 跳转至最后一行 .
回到行首: gg ,G
5>.句间移动:
)
(
6>.段落间移动:
}
{
四.翻屏
1>.Ctrl+f :向下翻一屏
2>.Ctrl+b :向上翻一屏
3>.Ctrl+d : 向下翻半屏
4>.Ctrl+u :向上翻半屏
字符编辑:
五.删除单个字符
x:删除光标所在处的单个字符;
#x:删除光标所在处及向后的共#个字符
六.删除命令
d命令删除跳转命令组合使用
#dw,de,#db
末行模式下;
dd :删除当前光标所在的行 #dd;
从当前行到第n行: .,+nd
删除n,m行: n,md;
$:最后一行;
+#:向下的#行;
删除的内容被保存在内存中
七.黏贴命令
1>.P(大写):如果删除或复制为整行内容,则黏贴至光标所在行的下方,如果复制或删除的内容为非整行,则黏贴至光标所在字符后面;
2>.p(小写):如果删除或复制为整行内容,则黏贴至光标所在行的上方,如果复制或删除的内容为非整行,则黏贴至光标所在字符前面。
八.复制命令:y
类似d
九.修改,先删除内容,再转换为输入模式
c(change):
c$,c^,c0 ;
cb,ce,cw
十.替换:r
R:替换模式
十一.撤销编辑操作 u(undo)
u: 撤销前一次的编辑操作 可连续使用
#u :撤销最近#次编辑操作
撤销最近一次的撤销操作:Ctrl+r
十二.重复前一次编辑操作
点号: ”.“
十三.可视化模式
v: 按字符选取
V(大写);按矩形(行)选定
经常结合 d,c,y编辑命令
十四.查找
/PATTERN :从当前光标所在处向文件尾部查找;
?PATTERN: 从当前光标所在处向文件首部查找;
n: 与命令同方向;
N: 与命令反方向;
支持正则表达式
十五.查找并替换
S: 在末行模式下完成查找替换操作
s/要查找的内容/替换的内容/修饰符
要查找的内容:可使用模式
替换为的内容:不能使用模式,但可以使用\1,\2.....等向后引用符号,还可以使用“&”引用前面查找到的整个内容;
修饰符
i: 忽略大小写;
g:全局替换,默认情况下,每行只替换第一次出现;
查找替换中的分隔符”/“可替换为其他字符;eg:
s@@@
s####
十六.如何打开多个文件
vim file1 file2 file3
: next 切至下一个文件;
:prev 切换至前一个文件;
:last 切换至最后一个文件;
:first 切换至第一个文件;
:qall 退出所有;
:wall 保存退出.
十七.分屏显示多个文件
Ctrl+w ,s :水平分窗口
Ctrl+w , v : 垂直拆分窗口
在窗口间切换光标:
Ctrl+w , ARROW(上下箭头)
退出:qa全部退出
十八.分窗口多个文件
vim -o |O file1 file2 ......
-o :水平分割显示
-O : 垂直分割显示
十九.将当前文件中部分内容另存为另外一个文件
末行模式下使用w命令
:w
:ADDR1 w /PATH/to /somewhere
二十.将另一个文件的内容填充在当前文件中
:r /path/to/somewhere
二十一.跟shell交互
:! Command
二十二.高级话题
1>.显示行号:
:set nu | nonu
2>.显示忽略或区分字符的大小写
:set ignorecase | ic
:set noignorecase
3>.设定自动缩进
:set autoindent | ai | noai
4>.查找到的文本高亮显示或取消
:set hlsearch | nohlsearch
5>.语法高亮
:syntax on | off
6.>括号匹配:
匹配: set showmatch ,简写为set sm
取消: set nosm
二十三定制vim的工作特性
.配置文件 :永久有效
全局 :/etc/vimrc
个人 : ~/.vimrc
Vim 的末行模式:
内建的命令行接口
1>. 地址定界: :start_pos ,end_pos
#: 具体第#,行,eg :2,表示第2行
#,# :从左侧#表示行起始,到右侧行表示行结尾
#,+# :从左侧#表示行的起始,加上右侧#表示的行数;
. : 当前行;
$: 最后一行;
.,$-1: 从当前行到$-1行;
%=1,$: 全文;
/pat1/,/pat2/:从第一次被pat1模式匹配到的行开始,一直到第一次pat2匹配到的行的结束(可结合#,$使用)
2>.使用方式:
后跟一个编辑命令(可结合d,y,w,r命令使用)
w /PATH/TO/SOMEWHERE :将范围内的行另存至指定文件中;
r /PATH/FROM/SOMEFILE:在制定文职插入制定文件中的所有内容;
Note: 带有颜色的为常用选项
本文出自 “9470860” 博客,请务必保留此出处http://9480860.blog.51cto.com/9470860/1696382
原文:http://9480860.blog.51cto.com/9470860/1696382