vim基本使用

vim命令模式

  1. 普通模式(默认,其他模式按esc返回)
  2. 命令行模式(按进入)
  3. 插入模式(按a或者i进入)

命令行模式输入wq回车后保存并退出vim

基本命令

  • 进入文件 vim fileName

  • 进入插入模式方法

    | 命令 | 说明 |
    | —- | —————————————- |
    | i | 在当前光标处进行编辑 |
    | I | 在行首插入 |
    | A | 在行末插入 |
    | a | 在光标后插入编辑 |
    | o | 在当前行后插入一个新行 |
    | O | 在当前行前插入一个新行 |
    | cw | 替换从光标所在位置后到一个单词结尾的字符 |

  • 退出

    • 普通模式下退出vim输入shift+zz即可保存退出vim
    • 命令行模式:wq——保存并退出
    • :q!强制退出
    • :q退出
    • :w <文件路径> :saveas 文件路径 另存为
    • :x保存并退出

vim文档编辑

  • vim重复命令——

    • 普通模式下.表示重复上一次的命令操作
    • 普通模式,输入N<command>,N表示重复后面的次数
      • 10x——删除10个连续字符
      • 3dd——删除3行文本
      • .——重复上一次的命令(例:重复3dd)
      • dw或者daw(delete a word)——删除一个单词
      • dnw(n替换为相应数字)——表示删除n个单词
  • 跳转命令

    • 行间跳转

      • :set nu——显示行号
      • nG(n shift+g) ——移动到第n行
      • gg——移动到第一行
      • G——到最后一行

      小技巧在完成依次跳转后,可以使用Ctrl+o快速回到上一次(跳转前)光标所在位置

    • 行内跳转

  • 复制粘贴

    • 使用y复制
      • yy——复制整行
      • 3yy——复制3行
      • y^复制至行首,或者y0。(不含光标所在处字符)
      • y$复制至行尾。含光标所在处字符。
      • yw——复制一个单词
      • y2w——复制2个单词
      • yG——复制至文本末
      • y1G复制至文本开头
    • 使用p粘贴
      • p小写粘贴至光标后(下)
      • p大写粘贴至光标前(上)
    • 使用dd剪切
      • ddp快速交换上下行

查找替换

  • 字符替换命令

    | 命令 | 说明 |
    | —————- | ——————————————– |
    | r+<待替换字母> | 将游标所在字母替换为指定字母 |
    | R | 连续替换,直到按下Esc |
    | cc | 替换整行,即删除游标所在行,并进入插入模式 |
    | cw | 替换一个单词,即删除一个单词,并进入插入模式 |
    | C(大写) | 替换游标以后至行末 |
    | ~ | 反转游标所在字母大小写 |
    | u{n} | 撤销一次或n次操作 |
    | U(大写) | 撤销当前行的所有修改 |
    | Ctrl+r | redo,即撤销undo的操作 |

  • 字符查找命令

    • f+keyword ——查找
    • 普通模式下输入/icmp然后回车即可查找字符串 icmp
    • 普通模式下输入n查找下一个 icmp
    • 普通模式下输入?tcp向上查找字符串 tcp
    • 普通模式下输入N查找上一个出现的 tcp
    • 命令行模式下输入 noh 然后回车即可取消搜索
    • 普通模式下输入\*寻找游标所在处的单词
    • 普通模式下输入\#同上,但 \# 是向前(上)找,\*则是向后(下)找
    • 普通模式下输入g\*\* ,但部分符合该单词即可
    • 普通模式下输入g\#\# ,但部分符合该单词即可

    以上查找n,N 的继续查找命令依然可以用

  • shiftwidth命令

    • :set shiftwidth?——获取目前设置的缩进值
    • :set shiftwidth=10——设置缩进为10个字符
  • 调整文本位置

    • :ce——本行内容居中
    • :ri——本行内容靠右
    • :le——本行内容靠左