【转】vi编辑器的使用

1. 进入vi的命令                   

1)“vi filename”  :  打开或编辑一个名为filename的文件,进入命令模式

2)“vi +n filename ”:打开文件,并将光标置于第n行首

3)“vi + filename ”:打开文件,并将光标置于最后一行首

4)“vi +/pattern filename”:打开文件,并将光标置于第一个与pattern匹配的串处

5)“vi -r filename” :在上次正用vi编辑时发生系统崩溃,恢复filename

6)“vi filename....filename ”:打开多个文件,依次进行编辑



2.退出vi:

    1) 命令模式下输入 “:q!” :强制退出,不保存此次修改结果

    2)命令模式下输入 “:wq” :保存当前内容后退出



3.进入命令模式 :

    1)进入vi时即为命令模式

    2)从输入模式下进入方法 “ESC”



4. 进入输入模式

    1)“i”: 进入输入模式并在光标前插入文本

    2)“I”: 进入输入模式并在当前行首插入文本

    3)“a”: 进入输入模式并在光标后插入文本

    4)“A”: 进入输入模式并在当前行为尾插入文本

    5)“o” :进入输入模式并在当前行之下新开一行插入文本

    6)“O” :进入输入模式并在当前行之上新开一行插入文本



5.进入最后一行模式

    命令模式下输入 “:”



6.删除(要在命令模式下进行)

    1) “x” : 删除光标所在字符

    2) “X” : 删除光标之前的一个字符

    3) “dw” :删除从光标开始的一个单词

    4) “dd” :删除光标所在行

    5)“do” :删至行首

    6)“d$” : 删至行尾



7.在vi中执行shell命令行(要在最后一行模式下进行)

    “:!command”

  

8.搜索(命令模式下进行)

    1)“fa” :搜索a在当前行下一个所出现的位置

    2)“Fa” :搜索a在当前行上一个所出现的位置

    3)“ta” :搜索a在下一个出现位置之前的字符

    4)“Ta” :搜索a的上一个出现位置之后的字符

    5)“;”  :重复最近的一次搜索命令

    6)“/pattern”:从光标开始处向文件尾搜索pattern

7)“?pattern”:从光标开始处向文件首搜索pattern

8)“n”:在同一方向重复上一次搜索命令

9)“N”:在反方向上重复上一次搜索命令



9.替换(最后一行模式下进行)

    1)“:s/p1/p2/g”:将当前行中所有p1均用p2替代

    2)“:n1,n2s/p1/p2/g”:将第n1至n2行中所有p1均用p2替代

    3)“:g/p1/s//p2/g”:将文件中所有p1均用p2替换



10.替换(命令模式下进行)

    1)“r”替换当前字符

    2)“R”替换当前字符及其后的字符,直至按ESC



11.移动光标(命令模式下进行)

    1)“h”:光标左移一个字符

2)“l”:光标右移一个字符

3)“space”:光标右移一个字符

4)“Backspace”:光标左移一个字符

5)“k”或“Ctrl+p”:光标上移一行

6)“j”或“Ctrl+n”:光标下移一行

7)“Enter” :光标下移一行

8)“w”或“W” :光标右移一个字至字首

9)“b”或“B” :光标左移一个字至字首

10)“e”或“E”:光标右移一个字至字尾

11)“)” :光标移至句尾

12)“(” :光标移至句首

13)“}”:光标移至段落开头

14)“{”:光标移至段落结尾

15)“nG”:光标移至第n行首

16)“n+”:光标下移n行

17)“n-”:光标上移n行

18)“n$”:光标移至第n行尾

19)“H” :光标移至屏幕顶行

20)“M”:光标移至屏幕中间行

21)“L” :光标移至屏幕最后行

22)“0”:(注意是数字零)光标移至当前行首

23)“$”:光标移至当前行尾



12. “ ~  ” :改变光标所在字符的大小写



13.“ . ” : 重复上一个操作



14.“ << ” :把当前行移到左边



15.“ >> ” :把当前行移到右边



16.给文件加锁(最后一行模式下)

    “:X” :在出现Enter key提示后输入密码。下次进入该文件时,格式

为“vi –x  filename”,出现提示,输入密码即可。



17.简化输入(最后一行模式下)

     “:ab string strings” : 编辑时用string来代替strings

      eg:“:ab rd Redstone Info” : 当以后在文本中输入“rd”并回车时,“Redstone Info”就会出现代替rd



18.自定义键盘命令(最后一行模式下,比较危险,不建议使用)

        “:map keys new_seq”



19.显示行号(最后一行模式下,coding时很管用)

    “:set number”显示行号



20.用vi进行coding时查找某个函数

        首先在shell环境下用ctags命令对当前目录下的c原程序进行扫描,生成tags文件

        eg:$ ctags *.c

        然后,在vi中可以通过命令“:ta fun_name”,就可以直接打开函数fun_name所在的文件,并将光标置于函数开头



21.插入文件(最后一行模式下)

    “:r filename” :把文件filename插入到当前文件的当前位置中



22.直接跳转(最后一行模式下)

    “:n” : n为行数,直接跳转到第n行



23.行复制(最后一行模式下)

    “:2,9 co 10” :将第2行到第9行的字copy到第11行(注意是第11行,不是第10行)



24.行剪切(最后一行模式下)

    “:2,9 m 10” :将第2行到第9行的字move到第11行(注意是第11行,不是第10行)

转载地址:http://my.oschina.net/u/559701/blog/70436



猜你喜欢

转载自little-bill.iteye.com/blog/1617857