从实际操作中学习vim编辑器(集模式关系+常用指令图+指令示意图为一体)

  • Post author:
  • Post category:其他





工作中接触最多的编辑器当属vim,然而也因为vim的功能太过强大导致其指令多且杂,很难完全掌握,

本文是基于本人的实际情况并通过浏览一系列介绍vim的文章进行的归纳总结,且长传前均经过一一实验,



适合于菜鸟


,为了简略,文中诸多用语可能很不准确,且部分描述不够明了,如有疑问请点击本文文末的参考原文(无链接请直接复制搜索),此仅是本人阅读笔记初稿,见笑!




内容概要


第一章节               常用编辑方法总结




1

正常模式下




2

命令模式下






3

可视模式下(正常模式下按


v







4

中文乱码问题






5

两种实用功能推荐(高级):




==>

1

多档案编辑






==>2

打开多窗口模式



第二章节

vim


三种模式相互关系



第三章节

vim


常用功能示意图


第四章节

vim


指令图



第一章节 常用编辑方法总结

1

正常模式下

(==

》记住几个大写字母意义


X(


往前删


),P


(往上粘)


,O


(往下插新行)


,G


(到最后一行)


,U


(撤销当前行的操作)


,N


(反向搜索)


,A(


行末插


)





0


(数字,到行首,不是到行首的插入模式)

x :

向后删除一个字符


X


:

向前删除一个字符(这个我最喜欢用了,但是原来公司的那个不知道这样搞





惊喜!)


nx


:

连续向后删除


n


个字符



(

大写也一样


)

dw ;

删除一个单词,从光标位置起的单词(包括空格)


J


:

将光标所在数据与下一行合成一列(常用)

/****************

删除


+


复制


begin*****************************/

de 删除一个单词,从光标位置起的单词(不包括空格)


d$


(=D)


;

删除从光标位置起至行尾


d0


:

删除从光标位置至行首

d1G :删除光标所在到第一行的所有数据

dG :删除光标所在到最后一行的所有数据(注意

y





d


的使用方法一致,实现复制功能)

/****************

删除


+


复制


end*****************************/

/****************定位插入取代begin*****************************/


0

或功能键


[Home]



:

到行首



(阿拉伯数字0,只是定位)


$

或功能键


[End]



:


到行末


—-

公司的那个超烂



(

只是定位


)


i





为『从目前光标所在处插入』,


I





为『在目前所在行的第一个非空格符处开始插入』。

(


常用


)


a





为『从目前光标所在的下一个字符处开始插入』,


A





为『从光标所在行的最后一个字符处开始插入』。

(


常用


)


o





为『在目前光标所在的下一行处插入新的一行』;(字母o)


O





为在目前光标所在处的上一行插入新的一行!

(


常用


)


r





只会取代光标所在的那一个字符一次;


R





会一直取代光标所在的文字,直到按下

ESC


为止;


(


常用


)

/****************定位插入取代end*****************************/

ctrl + R :

撤销掉撤销命令(先按


ctrl


键)

U



撤销在一行中所做的改动


r+

字母



:输入

r


和一个字符替换光标所在位置的字符。



r


**


cw+

字符串



:要改变一个单字

/


单词的部分或者全部,请输入


cw **

c$ :

可以替换当前光标到行末的内容。请输入


c$ **

/

字符串

:

正向搜索


,


如果你突然想反向,


请按

Shift-N


组合键

?字符串 :

逆向搜索


%

(先让光标停在某个括号前再按):按


%


可以查找配对的括号


)





]





}———–


调试很有用


(


测试不起作用


,


起作用了,要按住


Shift





)

Ctrl-g :

用于显示当前光标所在位置和文件状态信息(如我想知道我当前打开的文件的名称和总行数,)

Shift-G :

用于将光标跳转至文件最后一行。

n<Enter> :

n


为数字。光标向下移动


n





(


常用


)


,当然很多时候我们用


:n


来到指定的行

2

命令模式下


:#,#s/old/new/g


:在




两行之间





替换所有的字符串


old


为新的字符串


new





#


代表行号





定位修改很有用

:s/old/new/g :

替换当前行中所有

:s/old/new :

替换当前行中第一个匹配的

:%s/old/new/g :

替换所有文本(在以上的替换命令后面加一个字符


c


可以在替换之前提醒确认)


:!

命令名



:

输入


:!


然后紧随著输入一个外部命令可以执行该外部命令,再按回车(如:


!ls


或者


!dir


,也可用


:!rm


文件名删除一个文件)


—-



这个实在太炫了

/**************

文件之间内容的复制


begin*******************************/


:w filename


:



编辑

的数据储存成另一个档案(类似另存新档)


:#,# w FILENAME


:

要保存文件的部分内容到


FILENAME——–


这个很炫,不过还没实际操作过!


:r


filename








编辑


的数据中,读入另一个档案的数据。亦即将 『

filename


』 这个档案内容加到游标所在行后面


:#,# r FILENAME


:




FILENAME


文件里的指定行内容插入到当前文件中


—————-


一定要学会


important—-

/**************

文件之间内容的复制


end*******************************/

:set ic :

忽略大小写(一般在查找前根据需要你可以先用这个命令设置


ignore Case



:set all :

查看当前环境参数设置值

/*************/*************//*************//*************//*************//*************//


:set backspace=2


:

使


backspace


键能够在


INSERT


模式下删除任意字符


(:set backspace=



~(~

代表空格


)



,

只能让


backspace


键在


INSERT


模式下删除刚刚增加的字符



,


公司原来就做了这个限制超不爽


)

/*************/*************//*************//*************//*************//*************//

3

可视模式下(正常模式下按


v



移动键盘(就是hjkl

或者四个箭头

)选择目标,接着按

y

:

复制  再在正常模式下按


p :


粘贴

,完全不用鼠标实现

vim


的粘贴复制(找了

好长时间的功能,以前没怎么关注vim

的使用

4

中文乱码问题



(图一:中文编码原因分析)




(图二:中文编码问题)




(图三:语系编码转换


vi.big5–>vi.utf8






(图四:语系编码转换


vi.big5–>


utf8



5

两种实用功能推荐(高级):

==>

1

多档案编辑

shell

终端输入命令


==>vim file1 file2 file3 (


打开多档案编辑


)

正常模式下

==





:files


(列出目前这个


vim


开启的所有档案)

正常模式下

==>:n(


编辑下一个文档


)

正常模式下

==>:N(


编辑上一个文档


)


优点:


这样之后就可以在




这些档案之间





进行上面提到的复制粘贴了


==>2

打开多窗口模式

在正常模式下,譬如我们已经打开了某个文本

a.txt==>:sp filename


(则


a.txt


将和


filename


共同显示在屏幕上,一人一半,即分割,默认打开的文件从首行开始显示)

====>

小提醒:最初打开的文件光标在哪行,重新分割窗口后依旧在该行,只是宽度被压缩了


优点:实现多文档对照管理



第二章节 vim

三种模式相互关系




第三章节 vim

常用功能示意图




第四章节 vim

指令图





~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

参考:1.鸟哥的私房菜

http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece7631052873d590297634b818b4468d4e411d2234c413031b5fc3022674296d8223c5de8034bed846621765871aa99c98b4899e0852858ca7d766459db0144dc5df4945124b137e059fed81bf0ca8125e0d8c5d2af4323c144767c9780fc4d7660&p=86759a46d6c333b70be2977e4852a538&user=baidu&fm=sc&query=vim%B1%E0%BC%AD%B9%A4%BE%DF&qid=cca57ab1465ba9fb&p1=10

2.vim实用教程初级

http://wenku.baidu.com/view/550376375a8102d276a22f6c.html

3.vim指令图解

http://image.baidu.com/i?tn=baiduimage&ct=201326592&lm=-1&cl=2&nc=1&word=vim%E6%8C%87%E4%BB%A4%E5%9B%BE%E8%A7%A3&ie=utf-8



4.vim中文手册

http://wenku.baidu.com/view/a3df014633687e21af45a997.html



版权声明:本文为USBdrivers原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。