• vim强大探究之光标移动


    vim强大探究之光标移动 - richerg85的专栏 - 博客频道 - CSDN.NET

    废话不多说,直接进入主题,现在在看“byte of vim”,记录强大的命令,一步一步的进阶,希望成为一个Vimer!

         1、简单方向移动

      

      (最基本的移动命令,类似你键盘的左右上下http://write.blog.csdn.net/postedit方向键,但是功能却是异常的强大!)

        ps:如果你是vim新手,希望你能边看边操作,如果你在windows环境,你可以装一个cygwin或者虚拟机下装个linux系统;如果是linux系统,则就啥也不说了!

        这四个操作前面都可以加数字,代表执行操作的次数,例如5h,重复操作h(向左移动5个字母) 5次。

      

        其他键:

      

    1.      ^:移动光标到行首;  
    2.   
    3.      $:移动光标到行尾;  
    4.   
    5.      ctrl-b:类似于键盘上的"PgUp"(b为backword)  
    6.   
    7.      ctrl-f:类似于键盘上的"PgDn"(f为forword)  
    8.        
    9.        
         ^:移动光标到行首;
    
         $:移动光标到行尾;
    
         ctrl-b:类似于键盘上的"PgUp"(b为backword)
    
         ctrl-f:类似于键盘上的"PgDn"(f为forword)
         
         
    



        行操作:

        

    1.      G:移动到末行;  
    2.   
    3.      1G:移动到首行;  
    4.   
    5.      50G:移动到50行;  
    6.   
    7.       H:移动到当前窗口的首行;  
    8.   
    9.       M:移动到当前窗口的中间位置;  
    10.   
    11.       L:移动光标到当前窗口的最后一行;  
          G:移动到末行;
    
          1G:移动到首行;
    
          50G:移动到50行;
    
           H:移动到当前窗口的首行;
    
           M:移动到当前窗口的中间位置;
    
           L:移动光标到当前窗口的最后一行;

    2、单词、句、段落操作

    1. w:光标移动到下一个单词的词首;注:对于中文,连续的多个汉字作为一个word。  
    2. 2w:重复执行w操作2次;  
    3. e:光标移动到下一个单词的词尾;  
    4. 5e:重复执行e操作5次;  
    5. b:向前移动光标,移动到前一个单词的词首;  
    w:光标移动到下一个单词的词首;注:对于中文,连续的多个汉字作为一个word。
    2w:重复执行w操作2次;
    e:光标移动到下一个单词的词尾;
    5e:重复执行e操作5次;
    b:向前移动光标,移动到前一个单词的词首;

    如果想了解更多,可以在vim Normal模式下输入 :help word-motions

    句字(sentences)直接移动操作:

    ):光标移动到下一句;

    (:光标移动到上一句;

    3):光标移动到向下3句

    段落(paragraphs)直接移动操作:

    {:向上移动一个段落;

    }:向下移动一个段落

    3}:向下移动3个段落

    更多操作在vim Normal模式下输入 :help cursor-motions

    标记(mark):

    当你正在编辑一篇文档时(不一定是最后一段),你需要操作当前文档的其他段落,你操作完其他的段落后还想回到当前操作的段落,如何能很快的返回呢:

    给你一段文本,可以便于说明:

    1. 1、I am eagerly awaiting my next disappointment. —Ashleigh Brilliant  
    2. 2、Every man’s memory is his private literature. —Aldous Huxley  
    3. 3、Life is what happens to you while you’re busy making other plans. —John Lennon  
    4. 4、Life is really simple, but we insist on making it complicated. —Confucius  
    5. 5、Do not dwell in the past, do not dream of the future, concentrate the mind on the  
    6. 6、present moment. —Buddha  
    7. 7、The more decisions that you are forced to make alone, the more you are aware of  
    8. 8、your freedom to choose. —Thornton Wilder  
    1、I am eagerly awaiting my next disappointment. —Ashleigh Brilliant
    2、Every man’s memory is his private literature. —Aldous Huxley
    3、Life is what happens to you while you’re busy making other plans. —John Lennon
    4、Life is really simple, but we insist on making it complicated. —Confucius
    5、Do not dwell in the past, do not dream of the future, concentrate the mind on the
    6、present moment. —Buddha
    7、The more decisions that you are forced to make alone, the more you are aware of
    8、your freedom to choose. —Thornton Wilder

    以上文本有8行,当处在第6行编辑时,发现第2行好像有问题,需要修改,为了记住现在操作的行,可以作一个标记,ma,然后2G(跳到第2行),操作完后,回到Normal模式(按ESC),执行 'a(注意a的前面有个单引号),则会回到之前操作的第8行。

    操作说明:

    m+单词(单词为a-z或者A-Z)

    如果再需要一个标记,则可以mb,返回则执行'b;

    标记也可以被删除,使用命令”:delmarks“可以删除指定标记。命令”:marks“列出所有的标记。

    赶紧去试试吧!!!

    光标跳转命令:

    1. ctrl-o:(类似于word等文本编辑器的ctr-z取消操作),此操作返回上一次光标的位置;  
    2.   
    3. ctrl-i:(类似于word等文本编辑器的ctr-Y重做操作),此操作在ctrl-o返回上次光标位置后,再回到最后光标的位置  
    ctrl-o:(类似于word等文本编辑器的ctr-z取消操作),此操作返回上一次光标的位置;
    
    ctrl-i:(类似于word等文本编辑器的ctr-Y重做操作),此操作在ctrl-o返回上次光标位置后,再回到最后光标的位置



    部分文本的操作

    ctrl-v:进入块操作模式

    文本例子还是上文的8段文字,光标放到第6行(你可以使用上文介绍的操作把光标放到第6行的行首),按ESC进入Normal模式,按v进入可视模式(vim下端会提示),按下ap(a paragraph)会选择当前段落,执行~会把大小写字母反转,小写变大写,大写变小写!

    1. 6、PRESENT MOMENT. —bUDDHA  
    6、PRESENT MOMENT. —bUDDHA
    

    如果想对word操作,把ap换成aw(a word)即可!

    附 两张图:

    这张图可以作为桌面;

  • 相关阅读:
    洛谷 P2362 围栏木桩
    洛谷 P1926 小书童——刷题大军
    COGS 1913. AC自动机
    洛谷 P2951 [USACO09OPEN]捉迷藏Hide and Seek
    洛谷 P2984 [USACO10FEB]给巧克力Chocolate Giving
    hdu 2896 病毒侵袭
    hdu 3065 病毒侵袭持续中
    JavaScipt30(第七个案例)(主要知识点:数组some,every,findIndex方法)
    JavaScipt30(第六个案例)(主要知识点:给数字加千分号的正则)
    JavaScipt30(第五个案例)(主要知识点:flex布局)
  • 原文地址:https://www.cnblogs.com/seven1979/p/4249245.html
Copyright © 2020-2023  润新知