zoukankan      html  css  js  c++  java
  • 每日一Vim(1)

    来自

    上一篇讲过了Vim的基本操作命令(打开,编辑,保存退出)以及Vim的三种基本模式和光标的基本导航(hjkl),今天讲一些稍微高级点的光标移动,以及一些基本的文本操作命令。

    翻一页/半页

    对于一个上千行的文本,如果想光标移动几行或翻页查看,hjkl无疑没法满足我们的需求,如果我们结合CTRL键操作的话,翻页时很轻松的事儿。

    CTRL+f:向下翻一页
    CTRL+b:向上翻一页
    CTRL+d:向下翻半页
    CTRL+u:向上翻半页
    

    当然我们只要记住fbdu四个键就行,反正他们是用来与CTRL键组合翻页功能的,具体怎么翻的,自己实践操作几遍就能记住了。

    光标一次移动一个单词的长度
    w:移动到下一个单词的起始处(既然是w,代表的意思就是word,好记吧)
    W:移动到下一个单词的起始处
    

    那么w和W它俩有什么区别呢,w会把一个单词理解成由连续的字母或数字或特殊字符,而W却以空格来识别是否到了下一个单词,一图胜千言

    11

    与之相反的两个操作时b和B

    b:移动到前一个单词的起始处
    B:移动到前一个单词的起始处(b和B的区别与w和W是同理的)
    
    光标在一行内的移动
    0(零):移动到行首
    $:移动到行未
    ^:移动到当前行的第一个非空字符处(如果该行首没有空格,那么效果与0是一样的)
    g_:移动到当前行的最后一个非空格字符处
    
    插入,追加字符
    i:在当前光标位置插入字符
    o:在当前行往下插入新的一空行
    O:在当前行往上插入新的一空行
    a:在当前光标后追加字符
    R:替换当前光标的字符直到推出插入模式(按ESC)
    :r filename:把文件名为filename的内容插入当当前行的下一行
    :r! command:把command返回的结果插入到当前行的下一行
    
    拷贝一个单词、行首、行尾、整行
    yw:拷贝当前的一个单词
    y0:拷贝的范围是当前光标处到行首
    y$:拷贝的范围是当前光标处到行尾
    yy:拷贝当前行
    nyy:从当前行开始拷贝n行(这里的n是数字)
    

    拷贝完后用p就可以粘贴了。

    删除一个单词,行首、行尾、整行
    x:删除当前光标处字符(严格来说x不属于插入,因为你还要按i才能插入)
    dw:删除当前光标出一个单词
    d0:删除光标处到行首的字符
    d$:删除光标处到行尾的字符
    dd:删除整行
    ndd:删除n行(同样n代表数字)   
  • 相关阅读:
    LeetCode "Median of Two Sorted Arrays"
    LeetCode "Distinct Subsequences"
    LeetCode "Permutation Sequence"

    LeetCode "Linked List Cycle II"
    LeetCode "Best Time to Buy and Sell Stock III"
    LeetCode "4Sum"
    LeetCode "3Sum closest"
    LeetCode "3Sum"
    LeetCode "Container With Most Water"
  • 原文地址:https://www.cnblogs.com/chjbbs/p/5707497.html
Copyright © 2011-2022 走看看