您的位置:首页 > 运维架构 > Linux

linux初学之7——vim编辑器

2016-03-27 11:42 387 查看
 1、  vim相对于vi做了哪些提升
vim支持多级撤销
vim可以跨平台,vi只能运行于unix内核系统,vim可以运行到windows系统中
vim支持语法高亮
vim支持图形界面

2、vim操作模式:
(1)底行模式:last line mode(有人也称这种模式为命令行模式)
在命令模式下,输入: /  ?  三个符号中的任意一个,进入底行模式。 “:”,输入命令,保存、退出重命名等。“/”“?”则是查找,后面跟上要查找的内容。

(2)输入模式:insert mode(有人称这种模式叫做编辑模式)
在命令模式下,输入i,I,a,A,o,O,r,R等任意一个字符,进入输入模式。此时左下方会出现INSERT 的字样,此时对文本可以进行编辑,输入的所有的字符都为真正的字符,而不是对应的命令。按【est】键,退出输入模式,进入到命令模式中。
(3)命令模式:command mode(有人也称这种模式叫做一般模式)
打开或者创建一个文件的时候默认的是命令模式,可以移动光标、选择内容、删除字符或者删除整行、删除块、也可以复制粘贴等操作。

3、操作命令
(1)底行模式(其实是在一般模式下,输入:/?进入底行模式,再输入w,q等命令,由于命令是连续出现,如:w  :q等,因此这里讲的底行模式,其实也是一般模式的操作,因此我们经常会混淆底行模式和一般模式)
下面列举底行模式的常用命令

打开文件、保存、另存为、关闭文件
命令说明
:w   //保存文件
:w vpser.net //保存至vpser.net文件
:q  //退出编辑器,如果文件已修改请使用下面的命令
:q!    //退出编辑器,且不保存
:wq    //退出编辑器,且保存文件
:w[finename]将编辑器的数据保存成为另一个文件
:r[filename]在编辑的数据中,读入另一个文件的数据,即将filename这个文件内容加到光标所在行后面
:n1,n2 w[filename]将n1到n2的内容保存为filename文件
:! command暂时离开vi到命令行模式下执行command的显示结果。例如, :! ls /home 即可在vi当中查看/home下面里ls输出的文件信息
查找替换
/word从文档开始,向下查找名为word的字符串
?word从文档末尾向上查找名为word的字符串
n重复前一个查找的操作,也就是重复上面的/word 或者?word,而不需要再次输入/word 或者?word。例如,查找hello,执行/hello,则从文档末尾查找到一个hello,输入n之后,会继续向上查找hello
N与n相反,例如,输入?hello后,按N是向上查找,输入/hello后,是向下查找
:n1,n2s/word1/word2/gn1和n2为数字,在第n1行与n2行之间寻找word1这个字符串并将它替换为word2.
:1,$s/word1/word2/g从第一行到最后一行查找word1字符串,并将该字符串替换为word2
:1,$s/word1/word2/gc从第一行到最后一行查找word1字符串,并将该字符串替换为word2。在替换之前,显示提示字符给用户确认是否需要替换。
vim行号设置与取消
:set nu显示行号,设置之后,会在每一行的前缀显示改行的行号
:set nonu取消行号
(2)插入模式,在一般模式下,输入以下这些命令,即进入插入模式,进入插入模式后,所有字符为输入字符,不再是命令。
插入模式
命令说明
a    在当前光标位置的右边添加文本
i     在当前光标位置的左边添加文本
A   在当前行的末尾位置添加文本
I    在当前行的开始处添加文本(非空字符的行首)
O   在当前行的上面新建一行
o    在当前行的下面新建一行
R  替换(覆盖)当前光标位置及后面的若干文本
J   合并光标所在行及下一行为一行(依然在命令模式)
(3)一般模式,对文件进行光标移动、删除、复制、粘贴等操作

光标移动
命令说明
移动字符
h 或左箭头光标向左移动一个字符
j 或下箭头光标向下移动一个字符
k 或上箭头光标向上移动一个字符
l 或右箭头光标向右移动一个字符
n<space>n代表数字,例如30,按下数字后再空格,光标会向右移动这一行的n个字符。
0或home键移动到这一行的最前面的字符处
$或end键移动到这一行的最后面字符处
移动页
ctrl f 屏幕向下移动一页,pagedown
ctrl b屏幕向上移动一页,pageup
ctrl d屏幕向下移动半页
ctrl u屏幕向上移动半页
移动行
+光标移动到非空格符的下一行
-光标移动到非空格符的上一行
H光标移动到这个屏幕的最上方那一行的第一个字符
M光标移动到这个屏幕的中央那一行的第一个字符
L光标移动到这个屏幕的最下方那一行的第一个字符
G光标移动到这个文件的最后一行的第一个字符
nG光标移动到这个文件的第n行的第一个字符
gg光标移动到这个文件的第一行的第一个字符
n[enter]
删除
命令说明
x,X一行中,x为向后删除一个字符,相当于delete键;X为向前删除一个字符,相当于backspace键
nx,nXnx为向后删除n个字符,nX为向前删除n个字符
dd删除当前行
ndd删除光标所在的向下n行
d1G删除光标所在到第一行的数据
dG删除光标所在到最后一行的数据
d$删除光标所在行,光标所在位置到该行最后一个字符
d0删除光标所在行,光标所在位置到该行第一个字符
复制
yy复制整行
nyy复制光标所在的向下n行的数据
y1G复制光标所在行到第一行的数据
yG复制光标所在行到最后一行的数据
y$复制光标所在行,光标所在位置到该行最后一个字符
y0复制光标所在行,光标所在位置到该行第一个字符
粘贴
p,Pp为在光标所在位置下一行粘贴,P为在光标所在位置上一行粘贴
4、块选择

块选择操作
v小v,字符选择,将光标经过的字符进行选择
V大v,行选择,将光标经过的行进行选择
ctrl v块选择,可以用长方形的方式进行选择
y选择的地方复制
d选择的地方删除
5、多文件操作
一个vim命令,可以同时操作多个文件,这样也极大的提高了操作效率,不过对于新手来讲,还是感觉同时操作多个文件有点转不过来啊。
首先,打个多个文件
vim file1 file2 file3

多个文件之间进行切换

多文件编辑
:n编辑下一个文件
:N编辑上一个文件
:files列出目前这个vim的打开的所有文件
以上命令包含了大部分常用命令,这些命令之间有很多的相似或关联关系等。乍一看之下很多命令,其实总结下来却很有规律。尤其对于初学者,需要自己多花些时间去练习去实践,而不能看见一对命令就逃跑、用到时候再去百度。因为很多小技巧,你是不知道要去怎么查的。

以上学习参考了很多资料,由于内容浅显,网上资料很多,同时个人作为初学者,难免有遗漏、错误,欢迎读者指正!

     
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: