您的位置:首页 > 其它

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

2015-01-18 12:00 225 查看
配置的过程我想单独写,这里我就介绍vi的一些常用(至少我觉得常用)命令和使用方法。

vim三种模式:

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

Vim 文件名

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

打开后并不能直接编辑,vim有3种模式:

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

编辑模式

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

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

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

按下大小写的i,o,a,r可以进入编辑模式

比如,如果我们新建一个文档里面什么都没有,就按下 ‘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是个好东西,用顺溜了比GUI的IDE快好多的,都是让鼠标给惯得,其实不用鼠标反而更快,花里胡哨的GUI会让人眼睛失焦,不能第一时间找到自己想要的按钮,而返璞归真的vim用命令实现鼠标的功能,多敲一敲也就熟悉了,没想象中那么麻烦,我这些东西记下来也就一天的功夫,估计过两天就比用GUI的工具熟练了,小伙伴们加油哦
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: