vi或vim编辑器

一、vim:是vi的增强版,Visual Interface iMproved,它是全屏编辑器,模式化编辑器,文本版处理工具。
vim编辑器的四种模式:编辑模式(命令行模式),输入模式,末行模式,可视化模式。

二、vim 打开文件,如:vim test.txt 如果test.txt存在,则打开此文件,不存在则创建此文件并打开,需要注意的是如果文件前面有目录,此目录必须要存在,如vim /my/test.txt那么/my必须存在。

            vim +n test.txt打开test.txt并跳到第n行
            vim + test.txt打开test.txt并跳到第最后一行
            vim +/pattern test.txt 打开test.txt文件并且跳到第一次匹配到的pattern的行

三、模式之间的切换

    vim打开文件时,是处于编辑模式下。
    编辑模式--->输入模式,按:
                    i:在当前光标所在字符前,转为输入模式,I:跳到行首(非空白字符),进入输入模式
                    o:在当前光标所在行的下一行,新建下一行,进入输入模式,O:在当前光标所在行的上一行,新建上一行,进入输入模式
                    a:跳到当前光标所在字符的后面一个字符,进入输入模式,A:跳到行尾,进入输入模式
    输入模式--->编辑模式
                    按ESC退出输入模式,进入编辑模式
    编辑模式--->末行模式
                    按 : 进入末行模式
    末行模式--->编辑模式
                    按 ESC   ESC 两下
    编辑模式--->可视化模式
            v或V
    可视化模式--->编辑模式
                    按 ESC   ESC 两下

四、光标移动(在编辑模式下)

    1.上下左右方向键单个字符移动
    2.k、j、l、h 可以上下左右单个字符移动光标
    (与数字件的组合,可以实现多个字符移动,如 3 加上 h 可以向右移动三个字符)
    3.以单词为单位移动
                    w:跳到下一个单词的词首
                    e:跳到单词的行尾,或下一个单词的词尾
                    b:跳到单词的行首,或上一个单词的词首
                    (同样可以和数字组合)
    4.行内跳转
                    0:跳到行首
                    ^:跳到行首(非空白字符的行首)
                    $:跳到行尾

        5.行间跳转
                        G:跳到文件的最后一行
                        gg:跳到文件的最上一行
                        (同样可以和数字组合,在末行模式下直接给出行号,然后按回车键即可)

五、翻屏跳转(编辑模式下)

            ctrl+f :向下翻一屏
            ctrl+b :向上翻一屏
            ctrl+d :向下翻半屏
            ctrl+u:向上翻半屏

六、删除字符(编辑模式下)

            x:向后删除一个字符(可以和数字组合)
            dd:删除光标所在的行
            dw,de:删除光标所在的单词的后面那部分,db:删除光标所在的单词的前面那部分(w不删除单词后面的空格,e删除空格,b不删除空格)
            和数字组合如:d2下(方向键下)删除当前光标所在的行以及下面的两行
            在末行模式下:
                            .d回车,表示删除光标所在的那一行
                            $d回车,删除最后一行
                            +nd,删除当前光标所在行,以及下面的n行
                            n,md 删除第n行和第m行以及之间的行
        需要注意:以上方式删除字符类似windows下的剪切,另外也可以直接在输入模式下按删除键删除。

七、复制字符,使用 y 的组合,方法同删除字符
八、粘贴(编辑模式下)

            p:如果复制的某行的部分,那么粘贴在光标的行尾,否则粘贴在下一行
            P:如果复制的某行的部分,那么粘贴在光标的行首,否则粘贴在上一行

九、替换(编辑模式下)
r:替换光标选中的单个字符
R:进入替换模式

十、撤销(编辑模式下)

            u:撤销前一次操作,可连续按u(可以和数字组合)
            ctrl+r:可以取消上一次的撤销操作

十一、可视化模式(在编辑模式下)

            v:一个字符一个字符的选取
            V:矩形方式选取
            (可以和y,d等组合,如选取之后按y,表示复制所选内容)

十二、查找(编辑模式)
/string 或?string全文搜索string的字符,按n或N前后跳转到搜索到的内容
十三、查找并替换(末行模式下)

扫描二维码关注公众号,回复: 2198660 查看本文章
            如:n,ms/string1/string2/gi 将n行至m行的string1替换成string2,g表示全部替换如果不加,则只替换第一个匹配到的,i 忽略大小写;
            n,$s/string1/string2/gi 将n行至最后行的string1替换成string2,g表示全部替换如果不加,则只替换第一个匹配到的,i忽略大小写;
            %s/string1/string2/g 全文替换,g表示全部替换如果不加,则只替换第一个匹配到的

十四、退出文件(末行模式下)

            q 关闭文件不保存
            q! 强制关闭文件,不保存(如果文件改动了,不想保存)
            wq  或 x 保存并退出,wq!强制保存退出
            w ,w! 保存,强制保存不退出
            在编辑模式下:ZZ 保存并退出。

另外:

            在末行模式下,使用 read!command命令,可以执行command,并且把执行结果输出到光标的下一行,如在 “末行模式下” :read!cat /etc/inittab 可以把/etc/inittab中的文件内容输出到光标的下一行。

猜你喜欢

转载自blog.51cto.com/13803030/2145123