vi和vim的区别

它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
vim的这些优势主要体现在以下几个方面:
1、多级撤消
我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。
2、易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。
3、语法加亮
vim可以用不同的颜色来加亮你的代码。
4、可视化操作
就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。
5、对vi的完全兼容
某些情况下,你可以把vim当成vi来使用。
6、Vi:Vi不支持正则表达式的搜索
我前段时间也下载使用了vim编辑器,我用的xp系统,之前在linux SUSE下也用过vi,个人感觉是vim相对于vi来说,扩展性更强了,以前使用vi时ctrl+s和ctrl+z之类的是不能用的(应该没有记错),但是vim就可以的。

安装vim之后会有个vimrc文件,像高亮、字体等等所有的设置都可以写在里面的,你去网上找找vim配置文件,有牛人配置很强大。
 
 

VI与VIM的常用命令
注:由于VI与VIM在命令上几乎相同,所以这里那VIM为例。

1、模式转换
        正常-->输入:以下这几个参数实现的功能都是转为输入模式,只不过转换后的光标所在的位置不同(感兴趣可以试一试,虽然意义不大!)

            i:在当前光标所在字符的前面,转为输入模式;

            a:在当前光标所在字符的后面,转为输入模式;

            o:在当前光标所在行的下方,新建一行,并转为输入模式;

            I:在当前光标所在行的行首,转为输入模式;

            A:在当前光标所在行的行尾,转为输入模式;

            O:在当前光标所在行的上方,新建一行,并转为输入模式;

        输入-->正常:

            ESC

        正常-->末行:

            :(英文冒号)

        末行-->正常:

            ESC,ESC

注意:输入模式和末行模式之间不能直接切换。

2、关闭文件(末行模式)
        :q        退出;

        :q!        不保存退出;

        :w        保存;

        :w!        强行保存;

        :wq        保存退出

        :wq!        强制保存并退出

注意:在正常模式下按组合键shift zz可以保存并退出

3、移动光标(正常模式)
    1)逐字符移动:
        h: 左;

        l: 右;

        j: 下;

        k: 上;

        #h: 移动#个字符

    2)以单词为单位移动
        w: 移至下一个单词的词首;

        e: 跳至当前或下一个单词的词尾;

        b: 跳至当前或前一个单词的词首;

        #w: 移动#个单词

    3)行内跳转:
        0: 绝对行首;

        ^: 行首的第一个非空白字符;

        $: 绝对行尾

    4)行间跳转
        #G:跳转至第#行;

        gg: 第一行;

        G:最后一行

    5)末行模式
        .: 表示当前行;

        $: 最后一行;

        #:第#行;

        +#: 向下的#行

4、翻屏(正常模式)
        Ctrl+f: 向下翻一屏;

        Ctrl+b: 向上翻一屏;

        Ctrl+d: 向下翻半屏;

        Ctrl+u: 向上翻半屏

5、复制字符

    1)正常模式

        复制:

        yy:复制当前行

        nyy:复制当前行至下面的n行

        粘贴:

        p:粘贴到光标的后面

        P:粘贴到光标的前面

    2)可视模式

        复制:

        y:复制当前行

        ny:复制当前行至下面的n行

        粘贴:

        p:粘贴到光标的后面

        P:粘贴到光标的前面

6、删除字符(正常模式)
        x: 删除光标所在处的单个字符;

        #x: 删除光标所在处及向后的共#个字符;

        d$或D:从当前光标处删除至行尾;

        d^:从当前光标处删除之行首;

        dd: 删除当前光标所在行;

        #dd: 删除包括当前光标所在行在内的#行;

注:dd相当于剪切操作,如果你dd之后按p或者P可以进行粘贴。

7、替换字符

        r:替换单个字符(按完r在按你要替换的字符即可)

        R:替换多个字符(从你要替换的位置开始替换,直至你退出正常模式)

8、撤销编辑操作:u
        u:撤消前一次的编辑操作;

        #u:直接撤消最近#次编辑操作;

        温馨提示:连续u命令可撤消此前的n次编辑操作;

9、将另外一个文件(/path/sunhui.txt)的内容填充在当前文件夹中
        :r   /path/sunhui.txt :填充到当前文件所在光标的后面

 

10、修改vim配置文件
        vim   ~/.vimrc:修改当前用户的vim配置文件

        vim    /etc/vimrc:修改所有用户的vim配置文件

        例:在当前用户的vim配置文件中添加显示行数的命令

        vim    ~/.vimrc:在末行添加 set nu 即可

11、拓展(末行模式)
    1)显示或取消显示行号
        :set    nu            //显示

        :set    number    //显示

        :set    nonu        //取消

    2)设置语法高亮
        :syntax    on    //开启

        :syntax    off    //关闭

    3)分屏
        :vsp xxx.x    //将两个文件垂直分屏

        :ctrl+w w   //切屏
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值