玩转vim系列——命令&操作篇

来源:互联网 发布:淘宝联盟高佣金是多少 编辑:程序博客网 时间:2024/05/14 15:34


配置的过程我想单独写,这里我就介绍vi的一些常用(至少我觉得常用)命令和使用方法。

vim三种模式:

Vim打开文件直接cd到文件目录然后

Vim 文件名

如果当前目录没有文件,vim会自动创建这个文件。

打开后并不能直接编辑,vim3种模式:

一般模式(默认进入的模式)

编辑模式

命令模式(通过输入 : / ? 这三个字符的任意一个进入)

先介绍各个模式的作用和切换方法:

 

刚进入的时候是一般模式,可以用来预览整个文档,快速移动光标,进行多行的复制,粘贴,删除。

按下大小写的ioar可以进入编辑模式

比如,如果我们新建一个文档里面什么都没有,就按下 ‘i’ 键进入编辑模式。

在编辑模式下摁Esc退回一般模式,值得注意的是,三种模式之间只有编辑模式和命令模式不能相互转换,也就是说,如果想从编辑模式进入命令模式,就要先经过默认模式,反之亦是如此。

从一般模式进入命令行模式摁 : / ? 这三个字符的任意一个。

总结三种模式转换:

   A    ——————————————>   B         摁下

一般模式——————————————> 编辑模式    i,a,r,o,I,A,R,O

一般模式——————————————> 命令行模式  : / ?

编辑模式,命令行模式————————> 一般模式    ESC 

 

Vim对文件的操作:

Vim对文件的操作有写入并保存,强制关闭不保存,简单来说用w代表写入,q代表退出,!代表强制退出不保存修改,通过这三个组合来实现对文件的操作。

比如保存文件,在编辑模式写完后,先摁 Esc (回到一般模式)

 

再摁 :w (冒号+w(到命令模式)

 

同理,如果想保存并退出则把w改成wq,如果想不保存修改强制退出 是 q!只是退出的话就是q了。

 

Vim对文件操作总结:

保存                                                                     :w另存为                                                                 :w 文件名读入另一个文件数据                                        :r 文件名将第n行到第m行复制到另一个文件里           :n,m w 文件名退出                                                                    :q不保存强制退出                                                :q!保存并退出                                                        :wq


vim对文件操作总结保存:w另存为:w 文件名读入另一个文件数据:r 文件名退出:q不保存强制退出:q!保存并退出:wq将第n~m行复制到另一个文件里:n,m 文件名

Vim在一般模式下的操作(特别方便,推荐学)

快速移动到光标行的第n个字母                 数字n + 空格快速向上/向下移动n行                            数字n + 回车(同数字n+↓)/数字n + ↑快速移动到第n行                                  数字n + G(大写)快速向左/向右移动多少字母                    数字n + ←/数字n + →快速移动到光标行开头                            数字0快速移动到光标行结尾                                    $ (shift + 4那个)快速移动到这一页的最上面                            H(大写,high的意思)快速移动到这一页中间位置                            M(同上,middle的意思)快速移动到这一页最下面位置                        L(同上,low)快速移动到这个文件的最下面                        G(大写)快速移动到这个文件的最上面 gg从第n行到第m行string1替换为string2             n,ms/string1/string2/g (别忘了m后面有个s) 文件从头到尾替换                                           1,$s/string1/string2/g替换前询问用户是否替换                                n,ms/string1/string2/gc


向上查找字符串                                     ?string向下查找字符串                                    /string删除(相当于最常用的backspace)                   x删除(相当于delete)                                         X连续删n个字                                                    nx删除一整行                                                        dd删除从头到光标行的                                         d1G删除从光标行到文件尾的                                  dG删除从光标处到这一行结尾的                           d$删除从这一行开始到光标处的                         d0复制光标行                                                        yy复制光标行往下n行                                        nyy复制从文件头到光标行                                   y1G复制从光标行到文件尾                                  yG复制从光标处到这行开头                             y0复制从光标处到这行结尾                              y$粘贴(正常向下粘贴)                                          p粘贴(粘到光标处之前,偶尔也用,类似x和X)    P撤销(相当于windows的ctrl+z)                           u还原(相当于windows的ctrl+y)                           ctrl+r选择                                                                      ctrl+v其他我个人感觉比较重要的:不退出vim进入shell                                           :shell从shell回vim                                                       exit


 

纯文本模式下多窗口(好用)

横向开一个新窗口                                                         :sp 文件名纵向开一个新窗口(我喜欢用这个)                              :vsp 文件名切换到下一个窗口                                                         ctrl + 双击w切换到不同方位的窗口                                                  ctrl+w+↑/↓/←/→窗口关闭(我觉得摁着不舒服)                                      ctrl+w+q(个人偏向直接 :q这个窗口)调整窗口大小(调整行数)为n行                                   res+n调整窗口大小(调整列数)为n行                            vertical res+n窗口加减n行                                                                  res+ ’+’/’-‘ +n窗口加减n列                                                                  vertical res+ ’+’/’-‘ +n增加行数                                                                       ctrl + w + ’+’减少行数                                                                       ctrl + w + ‘-’


 

关于vim的使用方法,我大概掌握了这些,感觉已经挺够用了,如果还是有不会的就:help找帮助文档吧(虽然感觉还不如百度来得快,文档一大堆不好查),我已经把帮助文档汉化了,在安装配置vim的时候,发现在tty1的时候中文乱码,于是装了fbterm,这东西好啊,支持汉语,虽然我还不能输入中文(因为懒得装纯文本模式下的中文输入法-_-#),不过中文倒是妥妥的支持了,并且字体改的漂亮好多(用苹果字体就是得劲233333),想用中文帮助文档或者是想用vim正常显示中文的童鞋,给你个传送门。

http://zhidao.baidu.com/link?url=7-kyOtdYJE_K3EAqrgSgwVzJTkL1WrRnVN4EkTCrb5fqgZDUiCm_h7_3S9GNn1QDsTpRiBge7_1W6aXSIuyTF_

 

Vim是个好东西,用顺溜了比GUIIDE快好多的,都是让鼠标给惯得,其实不用鼠标反而更快,花里胡哨的GUI会让人眼睛失焦,不能第一时间找到自己想要的按钮,而返璞归真的vim用命令实现鼠标的功能,多敲一敲也就熟悉了,没想象中那么麻烦,我这些东西记下来也就一天的功夫,估计过两天就比用GUI的工具熟练了,小伙伴们加油哦

 

 

 

 

0 0