首页 > 代码库 > 我和linux的第十六天

我和linux的第十六天

今天学习了vim编辑器,很有趣。


linuxvim程序编辑器:

所有的UNIX like系统都会内置vi文本编辑器,其他的文本编辑器不一定存在;

很多软件的编辑接口都会主动调用vi(例如crontabvisudoedquota等命令);

vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计;

程序简单,编辑速度相当快速。

vim视作vi的高级版本。

vim的使用:vim filename进入一般模式,按下ioa进入编辑模式,开始编辑文字,按下[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/gcn1n2为数字,在第n1n2行之间寻找word1这个字符串,并将该字符串替换成word2cconfirm,替换前显示提示给用户确认;

x,X:一行当中,x为向后删除一个字符串(同delete),X为向前删除一个字符串(同backspace);

dd:删除光标所在一行;

ndd:删除光标所在下n行;

yy:复制光标所在一行;

nyy:复制光标所在下n行;

p,Pp为将已复制的数据在光标下一行粘贴,P为粘贴在光标上一行;

u:复原前一操作;

Ctrl+r:重做上一操作;

.:重复前一个操作;

编辑模式:

i,I:进入插入模式,i为从目前光标所在处插入,I为在目前所在行的第一个非空格符出开始插入;

a,Aa为从目前所在下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入;

o,Oo目前光标所在下一行开始插入,O为光标所在上一行开始插入u

r,Rr只会替换光标所在的那一个字符一次,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.34G15l

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的一般模式中,如何删除一行、行,如何删除一个字符?

A.dd删除光标所在行,ndd删除n行,xX删除一个字符。

10.vim的一般模式中,如何复制一行、行并加以粘贴?

A.yy复制一行,nyy复制n行,pP粘贴。

11.vim的一般模式中如何搜string这个字串?

A./string或?string

12.vim目前的编辑文件中,在一般模式下,如何读取一个文件filename进来目前这个文件?

A.r filename

14.vim的一般模式中,如何存档、离开、存档后离开、强制存档后离开?

A.wqwqwq

15.vim下作了很多的编辑动作之后,却想还原成原来的档案内容,应该怎么进行?

A.直接按下:e! 即可恢复成档案的原始状态!

16.我在vim这个程式当中,不想离开vim,但是想执行ls /home这个指令,vi有什么额外的功能可以达到这个目的?

A.事实上,可以使用:! ls /homectrl + z可暂时退出vim让你在命令行模式中执行命令。

17.vim的一般模式中,如何替换word1成为word2,而若需要使用确认机制又该如何?

A.n1,n2s/word1/word2/gc

本文出自 “开忈的主题” 博客,谢绝转载!

我和linux的第十六天