Vim Notes✨ 关于一个小白vimer的积累~

Usage

四种模式:
1. 默认情况下 normal Mode
2. 按下i或者a insert Mode
3. 按下v visual Mode
4. 按下:(shift+;) command mode

移动normal mode

h左 j下 k上 l右

normal mode(普通模式)

  • 这些快捷键执行过后 保持普通模式
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    x          -> 删除当前光标所在位置
    u -> (undo)撤销上次命令修改
    . -> 重复之前的操作 宏操作
    f/t -> 行内查找下一个指定字符 ;重复 ,回退上一次操作
    F/t -> 行内查找上一个指定字符 ;重复 ,回退上一次操作
    /{ch} -> 整个文章查找下一个 n重复操作 N回退
    ?{ch} -> 整个文章查找上一个 n重复操作 N回退
    dd -> 删除光标所在当前行
    >G -> >G命令会增加从当前行到文档末尾处的缩进层级
    G -> 跳转到文件尾部
    gg -> 跳转到文件开头
    $ -> 跳转到句子末尾
    0 -> 跳转到句子开头
    * -> 查找当前单词 在全文当中依次查询 n重复 N回退 .重复
    C-a/x -> 跳转到本行最近的数字然后做加法/减法
    yy -> 复制整个行
    y -> 复制选择 y+<数字>+h/j/k/l 方向选择复制
    p -> 粘贴 存在寄存器的内容

insert mode(插入模式)

  • 这些快捷键执行过后 自动进入插入模式
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    a          -> 光标后移一位插入
    i -> 光标前移一位插入
    I -> 光标本行移动-最开始字符- 开始插入
    A -> 光标移动到行末 然后插入 类似($a)结合
    c -> change 定位到当前位置 然后下一步是删除 具体方向是自己定义 例子: c4h [c 定位后删除向左4个元素]
    cw -> change word 从当前位置开始直到word结束全部删除
    s -> 删除自己也算 也算是cl 定位删除向右一位
    S -> 删除光标所在的一行
    O -> ko 就是向上跳转 然后行尾插入
    o -> open an another line 跳转下一行 开始insert
    <C-r>=表达式<CR> -> 寄存器计算表达式

visual mode(视觉模式)

  • 这些是在normal mode按下v才可以使用的
1
2
3
4
移动hjkl   -> 选中移动
y -> yank 复制 保存在寄存器
p -> paste 粘贴 之前被yank过的内容

command mode(命令行模式)

1
2
3
4
5
:w     -> 保存写入
:q -> 退出
:q! -> !表示强制 总和就是强制退出
:split <filename> -> 上下分屏 快捷键:C-w s
:vsplit <filename> -> 垂直分屏 快捷键:C-w v
  • 快捷键: C-w + h/j/k/l 可以切换光标在分屏之间 H/J/K/L Z切换分屏位置 *

哲学 :

  1. 尽量去多使用.来重复修改的操作 而不是低效的的自我重复和感动
  2. 命令多去使用 菜就多练 命令需要多去使用
  3. 用hjkl去取代 上下左右方向键 因为上下左右方向键其实是 esc之后h 然后重新开始a插入 对于你撤销操作以及重复操作非常不友好
  4. 多在行内使用C-a C-x 来使得变量数字加减
  5. 。。。多学习多练习 才是学习正确姿势 但是要参考大量的资料并且阅读代码 好的engineer 80%的时间在思考 20%时间在写代码 好比做菜 如果能够不断迭代 并且优化准备过程 才是一个高端工程师应该去考虑的 不要做程序员 去做工程师engineer
You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.