Loading

01_vi的使用

  1. 命令模式下进入到输入模式:
    i: 前面 I: 行首
    a: 后面 A: 行尾
    o: 下一行 O: 上一行
    s: 删除当前字符并进入插入模式 S: 删除整行,并进入输入模式
  2. 输入模式到命令模式: esc
  3. 末行模式到命令模式: esc

命令模式下的一些命令:

  1. 移动:

    • h 左
    • j 下
    • k 上
    • l 右
    • gg: 移动到第一行(行首)
    • 1G: 移动到第一行(行首)
    • nG: 第几行, n为数字
    • G: 移动到行尾
    • gg=G自动缩进 (非常有用)
    • Ctrl + d 向下滚动半屏
    • Ctrl + u 向上滚动半屏
    • Ctrl + f 向下滚动一屏
    • Ctrl + b 向上滚动一屏
  2. 删除:

    • ciw 删除一个单词并进行插入模式
    • yiw 复制一个单词
    • diw 删除一个单词
    • dd: 删除一行,剪切一行
    • ndd: 删除n行, n为数字(1, 2, 3...)
    • dG: 从当前行删除到最后一行
    • d1G: 从当前行删除到第一行
    • dw: 删除当前位置到单词末尾
    • d^: 从当前字符删除到行首
    • d$: 从当前字符删除到行尾
    • x: 删除当前字符
    • 3x: 删除3个字符
    • s: 删除当前字符,并进入输入模式
    • S: 删除整行,并进入输入模式
    • cw: 删除当前位置到单词末尾,并进入插入模式
  3. 复制:

    • yy: 复制当前行
    • 3yy: 复制三行
  4. 粘贴:

    • p: 粘贴到下一行
    • 2p: 重复粘贴2次, 2是次数(np)
    • P: 粘贴到上一行
  5. 替换:

    • r: 单字符替换
    • r: 单字符替换
    • 😒/old/new/ 用old替换new,替换当前行的第一个匹配
    • 😒/old/new/g 用old替换new,替换当前行的所有匹配
    • :%s/old/new/ 用old替换new,替换所有行的第一个匹配
    • :%s/old/new/g 用old替换new,替换整个文件的所有匹配
    • 也可以用v或V选择指定行,然后执行
  6. 撤销: u

  7. 恢复: ctrl + r # sublime 的是ctrl + y

  8. 查找:
    :set ignorecase  忽略大小写的查找
    :set noignorecase  不忽略大小写的查找
    /hello : 向下查找hello, 按n查找正向查找, N反向查找
    ?hello : 向上查找hello,

  9. 块操作: v / V

  10. 分屏操作:

    • vim file1 file2 file3 ... 同时编辑多个文件
    • :sp 将窗口分成上下两个子窗口,后接文件名
    • :vsp 将窗口分成左右两个子窗口,可接文件名
    • :bn 切换到下一个文件(当前窗口)
    • :bp 切换到上一个文件(当前窗口)
    • Ctr+w+w 在多个窗口切换
    • Ctrl-w h 把光标移动到左边的屏
    • Ctrl-w j 把光标移动到下边的屏
    • Ctrl-w k 移动光标到上边的屏
    • Ctrl-w l 移动光标到右边的屏
  11. 分屏操作:

    1. 在使用vim打开文件的时候就启动分屏

      $ vim -On f1.txt f2.txt ...  使用大写参数 -O进行垂直分屏
      $ vim -on f1.txt f2.txt ...  使用小写参数 -o进行水平分屏
      

      注: n可以为数字,也可直接为n, 如果n是数字,则表示分屏的数量, 如果直接为n, 则会自动根据打开的文件数量来启动分屏的数量

    2. 编辑中分屏

      # 1. 上下分屏
      ctrl+w s   # 快捷键, 上下分屏当前打开的文件
      :sp [filename]      # 命令模式下, 可接文件名
      
      # 2. 左右分屏
      ctrl+w v   # 快捷键, 左右分屏当前打开的文件
      :vsp [filename]
      
      # 在当前窗口打开新文件
      :open filename
      
    3. 编辑光标在各个窗口间的移动

      - Ctrl+w w    在多个窗口切换
      - Ctrl+w h    把光标移动到左边的屏
      - Ctrl+w j    把光标移动到下边的屏
      - Ctrl+w k    移动光标到上边的屏
      - Ctrl+w l    移动光标到右边的屏
      
    4. 关闭分屏

      # 1. 关闭当前窗口
      ctrl+w c
      
      # 2. 关闭当前窗口,如果只剩最后一个,则退出vim
      ctrl+w q
      
      # 以上命令模式下也是可以的
      :wq
      :wqll   # 保存并退出所有窗口
      
      
    5. 窗口尺寸

      # 1. 增加高度
      ctrl+w  +
      
      # 2. 减少高度
      ctrl+w -
      
      # 3. 左加宽度
      ctrl+w >
      
      # 4. 右加宽度
      ctrl+w <
      
      # 5. 右增加n宽
      ctrl+w n <   # n为数字
      # 6 左增加n宽
      ctrl+w n >
      
      # 7. 让所有习宽度和高度一致
      ctrl+w =
      
posted @ 2019-09-16 01:43  未来已来,你来不来  阅读(245)  评论(0)    收藏  举报