vim常用快捷键

868 阅读3分钟

四种模式介绍

  • 正常模式:启动vim默认处于正常模式,其他模式下,按ESC键进入正常模式;
  • 插入模式:即写入内容情况下的模式,按i、o、a等键进入插入模式;
  • 命令模式:在正常模式中,按下:(冒号)键,会进入命令模式,该模式下执行一些输入并执行一些vim或插件提供的指令;
  • 可视化模式:快速选中一块区域,并执行一些操作,比如删除、复制、替换等;

1. 正常模式(normal-mode)

打开Vim都是正常模式。在任何模式下,只要按下 Esc 键就可以返回正常模式

  • 翻页
    ctrl+b    上一页
    ctrl+f    下一页
  • 移动光标
    G    移动光标到文本最后
    gg    移动光标到文本开始
    0/^    移动光标到当前行的行首
    $    移动光标到当前行的行尾
    w    移动光标到下一个单词开头
    b    移动光标到上一个单词开头
    e    移动光标到下一个单词结尾 ge 移动光标到上一个单词结尾
  • 删除(相当于剪切,内容保存在剪切板) 
    dd    删除光标所在行
    cc    删除当前并进入插入模式
    3dd    删除3行内容(包括当前行)
    d0    删除光标所在行前面的字符
    d$    删除光标所在行后面的字符(D同样的效果)
    dG    删除光标到文本结尾的内容 d1G/dgg    删至文档首部 x/del    删除光标所在字符
    X    删除光标前的一个字符  
  • 替换
    r    替换光标所在处的字符
    R    替换光标所到之处的字符,直到按下「ESC」键为止
  • 复制 yy    复制光标所在的行
    6yy    向下复制6行(包括当前行) 
  • 粘贴
    p    粘贴在光标的下一行
    P    粘贴在光标的上一行
  • 恢复
    u    撤销到上一步操作
    ctrl+r    恢复到上一步操作

2. 命令模式(Command)

命令模式则多用于操作文本文件(按:即是从正常模式进入命令模式)

  • 保存或退出
    :wq或:x    保存内容,并退出(加上感叹号是强制,比如:wq!)
    :q!    不保存,强制退出
    :w    写入到当前文件,但不退出
    :w  filename    将当前的修改保存到其他文件
  • 移动光标
    :0  光标移动到文本第一行的行首
    :$  光标移动到文本最后一行的行首 :35光标定位到35行
  • 替换
    :%s/123/456/g    全局替换123为456
    :s/123/456/g    当前行替换
  • 查找
    /123    向下查找123,按回车查找下一个(n/N切换向上向下查找)
    ?123    向上查找123
  • 显示行号
    :set nu    显示行号
    :set nu!    取消行号显示(set nonu)
  • 清空文件内容
    :%d    清空当前文本内容
  • 防止粘贴错乱
    :set paste    粘贴多行内容时,防止错乱

3. 插入模式(insert-mode)

插入模式则用来向文本中添加内容的

i  光标前插入
a  光标后插入
o  当前光标下一行插入
O  当前光标上一行插入
A  行尾插入
S  删除光标所在行,并进入插入模式

4. 可视模式(visual-mode)

可视模式,相当于高亮选取文本后的普通模式。有3种选中的方式 v  按单个字符选中 V  按整行选中 ctrl+v  按单个字符,选中块内容

  • 删除选中内容,并进入插入模式(c或者s)
  • 快速选中内容,并删除(ctrl+v进入可视化模式,上下键选中内容后,按d删除内容)
  • 快速选中汇内容,并复制(ctrl+v进入可视化模式,上下键选中内容后,按y复制内容)
  • 多行注释(选中注释的行,按大写字母I,再插入注释符【例如#】,再按esc键就会全部注释了)
  • 多行取消注释(ctrl+v选中注释符#,按d完成取消注释)

5. 其他

  • 查看vim历史命令(按q:进入,按:q退出)
    image.png
  • 记录模式的使用
    A. 记录操作
    正常模式下,按q进入记录中,再按任意单个字母,比如qx(x缓存了记录);开始操作修改,esc,按q退出记录模式
    B. 使用记录 (光标所在行,按@,再按x)