linux学习之命令(1)------ vi文本编辑器

来源:互联网 发布:选5型5中5旋转矩阵公式 编辑:程序博客网 时间:2024/05/11 11:38

     本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020       

  

     Linux 下最强大的文本编辑器当属Vi/Vim了,其命令之多,如果能灵活运用,在写程序或者编辑文本时,要比其他的文本编辑器更有效率。

     Vi/Vim没有菜单,只有命令,共有三种工作模式: 分别是命令模式、插入模式和编辑模式,三者关系如下图


Vi常用命令

      插入命令:

           a               在光标后插入

           A              在本行末附加文本

           i                在光标前插入

           I                在本行首插入文本

          o                在光标下插入新行

          O               在光标上插入新行

 

      定位命令:

          h,方向左键             左移一个字符

          j ,方向下键             下移一个字符

          k,方向上键             上移一个字符

          l, 方向右键             右移一个字符 

          $                              移动到行尾

          0                              移到到行首

          H                             移动到屏幕上端

          M                             移动到屏幕中央

          L                              移动到屏幕下端

          :set nu                    显示行号

          :set nonu               取消行号

          gg                           到第一行

          G                             到最后一行

          :$                            到最后一行,和G功能相同

          nG                          到第n行

          :n                            到第n行

          ctrl+f                       向前滚动一页

          ctrl+b                      向后滚动一页


     删除命令:

          x                            删除光标所在字符

          nx                          删除光标所在处后n个字符

         dd                           删除光标所在行

         ndd                        删除光标所在行的后n行

         dG                          删除光标所在行到文件末尾的内容

         d0                           删除光标所在处到本行行首的所有内容

         d$                           删除光标所在处到本行行尾的所有内容

         D                             删除光标所在处到本行行尾的所有内容,同d$

         dw                          删除一个单词

         ndw                        删除光标所在处的后n个单词

        :nd                           删除第n行

        :n1,n2d                   删除第n1行到n2行的所有内容

        :n1,n2 mo $            将n1行到n2行的内容移动到最后一行


   复制和剪切

        yy ,Y                        复制当前行

        nyy, nY                    复制当前行的以下n行

        dd                             剪切当前行,其实就是删除

        ndd                           剪切当前行以下n行

        :n1,n2 co n3            将n1-n2行的所有内容复制到第n3行

        :n1,n2 co $              将n1-n2行的所有内容得到到最后一行

      

    粘贴命令

         p                                粘贴到当前行的下一行

         P                                粘贴到当前行的上一行

 

    取消命令

         u                                取消上一步操作

    搜索和替换

         /string                       搜索string所在位置,n从前往后找,N从后往前找,搜索时如果要忽略大小写,则加上:set ic

        :%s/old/new/g          全文替换指定字符串

        :s/old/new                 替换当前行出现的第一个指定字符串

        :s/old/                         替换当前行所有的指定字符串

        :n1,n2 s/old/new/g   在n1-n2行中替换所指定的字符串

    保存和退出

          :wq                            保存退出

          :wq!                           强制保存退出

           :x                              和:wq功能一样

          ZZ                             和:wq!功能一样

          :q                              退出

          :q!                             强制退出


    注:

           还有一个命令,就是“.” 命令,这个命令的作用是用来重复上一个命令的。


     

      

        



        




    




0 0
原创粉丝点击