全屏文本编辑器:在Linux里是默认的编辑器
vi:visual interface,S.U.N(斯坦图大学网络研究中心)公司的bill joy(比尔乔伊)主持开发的
vim:vi improved(vi的升级版)
模式化编辑器:
编辑模式(命令模式)-->默认的工作模式
末行模式-->
插入模式(输入模式)-->
替换模式-->
可视化模式 -->
一、vi/vim的打开方式:
1.vi/vim:打开vi/vim的界面
2.vim file :file存在,则打开并将光标默认放置在第一行第一个字符;
file不存在,则以新文件的方式打开,若保存,则文件被创建;若不保存,文件消失;
3.vim + # file:指定在打开文件的时候,将光标定位在第#行行首;如果定位的行数比整个文档的行还要打,则光标停留在最后一行的行首;
4.vim + file:直接将光标定位在文档的最后一行行首;
5.vim +/pattern/(模式匹配符):打开文件,并且将光标定位至首次被pattern匹配的行的行首位置:即只完成首次匹配。
二、vim的关闭方式:
末行模式的关闭:
:q直接关闭vim编辑器,不保存修给内容;
:q!强制退出但不予保存;
:w保存修改的内容;
:wq保存修改的内容并关闭vim编辑器;
:wq!对于root用户来说,一些只读文件的修改可以强制保存并推出;
:w!强制保存
编辑模式的关闭:
ZZ:保存并退出;
ZQ:不保存退出;
三、在vim的编辑模式中。移动光标;
1.逐字符移动
1)arrow
2)h:光标向左
j:光标向下
k:光标向上
l:光标向右
2.逐字移动
w:将光标移动到下一个字的字首;(两个单词之间有空格算一个字)
e:将光标移动到下一个字的字尾;
b:将光标移动到上一个次的字首;
3.行内跳转:
0(零):绝对行首;将光标移动到行首位置
^:相对行首;将光标移动到非空白字符行首位置
$:绝对行为;将光标移动到行尾位置
4.行间跳转:
#G:直接将光标移动至#行;
G:直接将光标移动到文档的最后一行;
gg:直接将光标移动至第一行
末行模式中光标移动:
:# 直接将光标移动至第#行;
:1 直接将光标移动至第一行;
:$ 直接将光标移动至文档的最后一行;
四、翻屏
Ctrl+f:向下翻一屏
Ctrl+b:向上翻一屏
Ctrl+d:向下翻半屏
Ctrl+u:向上翻半屏
五、逐字符删除:
x:删除光标所在位置的单个字符:
X:删除光标所在位置左侧的单个字符;
六、编辑模式中的万能删除命令;
d:删除光标经过的所有内容;
dh、dj、dk、dl、darrow、dw、de、de、dG、dgg
dd:删除光标所在行;
在末行模式下:
:d:删除光标所在行
:#d:删除第#行
:m,+nd:删除从m行开始,再经过n行的所有行;
:m,nd:删除从第m行开始到第n行结束的所有行;
:.,$d:删除从光标所在行到文档的最后一行;
.:表示当前光标所在行;
$:文档的最后一行
七、编辑模式中的万能粘贴命令:
p(小写):向右向下进行粘贴;
P(大写):向左向上进行粘贴;
末行模式下:
p
八、编辑模式中的万能复制命令:
y:复制光标经过的所有内容;
用法与d命令相同
yy:复制光标所在行
九、模式的切换:
1.从编辑模式到末行模式:
:输入命令
/和?进行查找, n和N,n表示顺序查找,N表示逆序查找;
/:自上而下
?:自下而上
2.从末行模式到编辑模式;
ECS键
Enter键
Backspace键
3.从编辑魔术到输入模式;
I:将光标移动至行首并进入输入模式;
i:在光标所在位置的前面插入字符;
A:将光标移动至行尾并进入输出模式;
a:在光标所在位置的后面插入字符
O:在光标所在行的上面插入新行;
o:在光标所在行的下面插入新行;
Cc:删除整行内容之后,进入输入模式;
C:从光标所在位置删除至行尾,进入输入模式;
s:删除光标所在位置的一个字符,进入输入模式;
S:删除整行内容之后,进入输入模式;
4.从输入模式到编辑模式:
ECS键
5.从编辑模式到替换模式:
R:进入替换模式
6.从替换模式到编辑模式:
ECS键
7.从编辑模式到可视化模式:
v:按照字符为单位进行矩形选取;
V:按照行为单位进行矩形选取;
在选取之后可以执行复制或删除的操作;
只要完成操作,就返回到编辑模式;
所有的模式切换必须经由编辑模式,两种非编辑模式之间无法直接进行切换;
十、替换命令
r:替换光标所在位置的一个字符;
十一、撤销编辑操作
U:撤销一次此前的编辑操作;
Ctrl+r:撤销最近的一次撤销操作;
十二、重复之前的一次编辑操作:
.:重复之前的一次编辑操作:
十三、特殊的末行命令:
1.显示和取消行编号:
:set number --> :set nu
:set nonumber --> :set nonu
2.开启或关闭字符大小写:
:set ignorecase --> :set ic
:set noignorecase --> :set noic
3.开启或关闭自动缩进功能:
:set autoindent --> :set ai
:set noautoindent --> :set noai
4.开启或关闭查找高亮显示:
:set hlsearch
:set nohlsearch --> :set nohl
5.开启或关闭语法着色
:syntax on
:syntax off
十四、Vimtutor
十五、使用vim编辑多个文件
1)vim file1 file2 file3 ...
:next 查看或编辑后一个文档的内容
:prev 查看或编辑前一个文档的内容
:first 查看或编辑第一个文档的内容
:last 查看或编辑 最后一个文档的内容
2)vim -o|O file1 file2 file3 ...
-o:水平分屏显示多个文件
-O:垂直分屏显示多个文件
Ctrl+w,ARROW(箭头)
#Ctrl+w,ARROW(箭头)
#Ctrl+w,s 将一个文件水平分屏显示
#Ctrl+w,v 将一个文件垂直分屏显示
:qa(q all 退出所有)
:wa(w all 保存所有)
十六、将其他文件中的内容填充至当前文件中
:r /PATH/TO/SOMEFILE
十七、跟shell交互
:!COMMAND(直接打开shell执行命令,enter退出)
十八、部分另存为
:w /PATH/TO/SOMEFILE
:m,nu /PATH/TO/SOMEFILE
:m,+nw
:.,$w
本文转自谁等了谁 51CTO博客,原文链接:http://blog.51cto.com/12486569/1906603