zoukankan      html  css  js  c++  java
  • vim 命令理解记忆

    前言

    最近想转 vim,高效是建立在对命令烂熟于心的基础上的。自己总结了一些方便记忆 vim 命令的点。(以 vscode 的 vim 插件为例)

    vim 特点

    我感觉 vim 的最大的特点就在于它的命令组合,比如说:

    20dd
    

    数字“20”就代表执行次数,“dd”是删除当前行,这个命令就代表着删除光标所在处开始的后三行。
    又比如:

    dG
    

    字符“d”代表删除,字符“G”代表文末,这个命令就代表着删除光标所在行到最后一行的所有数据。
    据此我们可以明白 vim 一般模式下的大致语法:

    [执行次数][执行命令][执行范围]
    

    据此,我们只需要记住常用按键的基本的功能,就能举一反三,推出各种复杂的命令。

    按键基础功能

    光标移动

    按键 功能
    h 光标向左移动一个字符
    j 光标向下移动一个字符
    k 光标向上移动一个字符
    l 光标向左移动一个字符
    H 屏幕顶行
    L 屏幕底行
    J 合并两行
    f 行内字符查找
    G 移动到文档最后一行
    W,w 下一单词
    E,e 词尾
    B,b 前一个单词
    0 移动到这一行的最前面字符处
    $ 移动到这一行的最后面字符处
    + 移动到非空格符的上一行
    - 移动到非空格符的下一行

    增删改查

    按键 功能
    / 向前搜索
    ? 向后搜索
    N 查找上一处
    n 查找下一处
    x 向前删除一个字符
    X 向后删除一个字符
    d 删除
    D 删除行
    Y 拷贝行
    y 拷贝
    p 将复制的数据在光标下一层贴上
    P 将复制的数据在光标上一层贴上
    c 修改
    C 修改至行末
    f 行内字符查找
    F 行内字符反向查找
    s 删除字符并插入
    S 删除行并插入

    一般模式切换到编辑模式

    按键 功能
    i,I i 为从目前光标所在处输入;I 为在目前所在行的第一个非空格符处开始输入。
    a,A a 为从目前光标所在的下一个字符开始输入;A 为从光标所在行的最后一个字符开始输入。
    o,O o 为在目前光标所在的下一行处输入新的一行;O 为在目前光标所在的上一行处输入新的一行。
    r,R r 只会取代光标所在的那个字符一次;R 会一直取代光标所在的文字。

    特殊功能

    按键 功能
    ~ 大小写转换
    u 复原上一操作
    . 重复上一操作

    内容来源

    Linux vi/vim|菜鸟教程
    vim 键位图

  • 相关阅读:
    leetcode144 longest-palindromic-substring
    数据结构之二叉树
    数据结构之堆
    数据结构之图
    数据结构之排序
    数据结构之动态规划
    14 RPC
    数据结构之字符串
    数据结构之散列表
    16 中间人攻击
  • 原文地址:https://www.cnblogs.com/luoleqi/p/14220558.html
Copyright © 2011-2022 走看看