今天学习了vim编辑器,很有趣。
linux中vim程序编辑器:
所有的UNIX like系统都会内置vi文本编辑器,其他的文本编辑器不一定存在;
很多软件的编辑接口都会主动调用vi(例如crontab、visudo、edquota等命令);
vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计;
程序简单,编辑速度相当快速。
vim视作vi的高级版本。
vim的使用:vim filename进入一般模式,按下i,o,a进入编辑模式,开始编辑文字,按下[Esc]键回到一般模式,输入“:wq”进入命令行模式保存离开。
一般模式:
ctrl+f=pagedown;
ctrl+b=pageup;
0或[home]键:移动到这一行的第一个字符,0为数字;
$或[end]键:移动到这一行最后一个字符;
G:移动到文件最后一行;
nG:移动到文件第几行,n为数字;
gg:移动到文件第一行,相当于1G;
N[enter]:n为数字,光标向下移动几行;
/word:向下寻找一个名称为word的字符串,n/N查找操作;
:n1,n2s/word1/word2/gc:n1,n2为数字,在第n1和n2行之间寻找word1这个字符串,并将该字符串替换成word2,c为confirm,替换前显示提示给用户确认;
x,X:一行当中,x为向后删除一个字符串(同delete),X为向前删除一个字符串(同backspace);
dd:删除光标所在一行;
ndd:删除光标所在下n行;
yy:复制光标所在一行;
nyy:复制光标所在下n行;
p,P:p为将已复制的数据在光标下一行粘贴,P为粘贴在光标上一行;
u:复原前一操作;
Ctrl+r:重做上一操作;
.:重复前一个操作;
编辑模式:
i,I:进入插入模式,i为从目前光标所在处插入,I为在目前所在行的第一个非空格符出开始插入;
a,A:a为从目前所在下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入;
o,O:o目前光标所在下一行开始插入,O为光标所在上一行开始插入u;
r,R:r只会替换光标所在的那一个字符一次,R会一直替换光标所在文字,知道按下[Esc]键为止。
命令行模式:
w:将编辑数据写入硬盘文件中;
q:离开vim;
wq:保存后离开,wq!强制;
set un:显示行号,set noun取消行号。
块选择:
V:会将光标经过的地方反白;
Crl+v:块选择,可以用长方形的方式选择数据;
y:将反白的地方复制起来;
d:将反白的地方删除。
多文件编辑:vim file1 file2
:n:编辑下一个文件;
:N:编辑上一个文件;
:files:列出目前这个vim的打开的所有文件。
所窗口功能:
:sp显示同一个文件在两个窗口;
ctrl+w+j:光标移动到下方窗口;
ctrl+w+k:光标移动刀上方窗口;
ctrl+w+q:结束离开。
vim环境设置与记录:~/.vimrc,~/.viminfo
vim会主动将你曾经做过的行为记录下俩,好让你下次可以轻松作业。记录操作的文件就是:~/.viminfo。整体的vim的设置值一般放置在/etc/vimrc这个文件中。
1.我用vim打开某个文件后,要在第34行向右移动15个字符,应该在一般模式中下达什么命令?
A.34G、15l。
2.在vim打开的文件中,如何去文件的页首或页尾?
A.gg去页尾,G去页首。
3.在vim打开的文件中,如何在光标所在行中移动到行头及行尾?
A.0或[home]移动到行头,$或[end]移动到行尾。
4.vim的一般模式模式下,按下“r”有什么功能?
A.替换光标所在字符一次。
5.在vim的环境中,如何将目前正在编辑的文件另存新文件名为newfilename?
A.:w newfilename。
6.在linux下最常使用的文本编辑器为vim,请问如何进入编辑模式?
A.i,I;o,O;a,A;r,R。
7.在vim软件中,如何由编辑模式跳回一般模式?
A.esc。
8.在vim环境中,若上下左右键无法使用时,请问如何在一般模式移动游标?
A.ijhk为上下左右键。
9.在vim的一般模式中,如何删除一行、n 行,如何删除一个字符?
A.dd删除光标所在行,ndd删除n行,x,X删除一个字符。
10.在vim的一般模式中,如何复制一行、n 行并加以粘贴?
A.yy复制一行,nyy复制n行,p,P粘贴。
11.在vim的一般模式中如何搜string这个字串?
A./string或?string。
12.在vim目前的编辑文件中,在一般模式下,如何读取一个文件filename进来目前这个文件?
A.:r filename。
14.在vim的一般模式中,如何存档、离开、存档后离开、强制存档后离开?
A.w;q;wq;wq!
15.在vim下作了很多的编辑动作之后,却想还原成原来的档案内容,应该怎么进行?
A.直接按下:e! 即可恢复成档案的原始状态!
16.我在vim这个程式当中,不想离开vim,但是想执行ls /home这个指令,vi有什么额外的功能可以达到这个目的?
A.事实上,可以使用:! ls /home。ctrl + z可暂时退出vim让你在命令行模式中执行命令。
17.在vim的一般模式中,如何替换word1成为word2,而若需要使用确认机制又该如何?
A.:n1,n2s/word1/word2/gc。
本文出自 “开忈的主题” 博客,谢绝转载!
原文地址:http://xeyes.blog.51cto.com/9232813/1585739