• 每日一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代表数字)   
  • 相关阅读:
    218. The Skyline Problem (LeetCode)
    并发编程-读书笔记
    Lock Free (无锁并发)
    最近公共祖先 LCA 递归非递归
    Node.js 开发指南-读书笔记
    [paper reading] C-MIL: Continuation Multiple Instance Learning for Weakly Supervised Object Detection CVPR2019
    开发者必备,超实用的PHP代码片段!
    二级菜单联动效果
    页面js框架
    我的java mvc
  • 原文地址:https://www.cnblogs.com/chjbbs/p/5707497.html
Copyright © 2020-2023  润新知