Vim快捷键

记录常用的 Vim 快捷键。

Vim 官网:http://www.vim.org/

常用快捷键

使用Vim 应该注意的几点:

  • 区分字母大小写
  • 含有 Ctrl 字眼都表示 Ctrl 键盘按钮

  • 移动

    • k,上
    • j,下
    • h,左
    • l,右
    • v,按 v 之后按方向键可以选中你要选中的文字
    • gg,跳到第 1 行
    • G,跳到第最后行
    • 16G:16,跳到第 16 行
    • $,到本行 行尾
    • 0,到本行 行头
    • w,到下一个单词的 开头
    • e,到下一个单词的 结尾
    • Ctrl + u,向 上翻 半屏
    • Ctrl + d,向 下翻 半屏
    • Ctrl + f,向 下翻 一屏
    • Ctrl + b,向 上翻 一屏
    • *n,匹配光标当前所在的单词,移动光标到 下一个 匹配单词
    • #,匹配光标当前所在的单词,移动光标到 上一个 匹配单词
    • %,匹配括号移动,包括 (、{、[
  • 插入
    • I,在当前 行首 插入
    • A,在当前 行尾 插入
    • i,在当前字符的 左边 插入
    • a,在当前字符的 右边 插入
    • o,在当前行 下面 插入一个新行
    • O,在当前行 上面 插入一个新行
  • 编辑
    • 删除
      • x,删除 光标后 的 1 个字符
      • 2x,删除 光标后 的 2 个字符
      • X,删除 光标前 的 1 个字符
      • 2X,删除 光标前 的 2 个字符
      • dd,删除当前行
      • cc,删除当前行后进入 insert 模式
      • dw,删除当前光标下的单词/空格
      • d$,删除光标至 行尾 所有字符
      • dG,删除光标至 文件尾 所有字符
      • 3dd,从当前光标开始,删掉 3 行
    • 复制
      • y,复制光标所选字符
      • yw,复制光标后单词
      • yy,复制当前行
      • 4yy,复制当前行及下面 4 行
      • y$,复制光标位置至 行尾 的内容
      • y^,复制光标位置至 行首 的内容
    • 粘贴
      • p,将粘贴板中内容复制到 光标之后
      • P(注意是大写),将粘贴板中内容复制到 光标之前
    • 其他
      • ddp,交换当前光标所在行和下一行的位置
      • u,撤销
      • :wq,退出并 保存
      • :q!,退出并 不保存
      • Ctrl + v,进入 Vim 列编辑
      • guu,把当前行的字母全部转换成 小写
      • gUU,把当前行的字母全部转换成 大写
      • g~~,把当前行的字母是大写的转换成小写,是小写的转换成大写
      • :saveas /opt/setups/text.txt,另存到 /opt/setups/text.txt
  • 搜索
    • /hello,从光标开始处向文件尾搜索 hello 字符,按 n 继续向下找,按 N 继续向上找
    • ?hello,从光标开始处向文件首搜索 hello 字符,按 n 继续向下找,按 N 继续向上找
  • 替换

    • :%s/hello/hi/g,把文件中所有 hello 替换为:hi
    • :%s/hello/hi/,把文件中所有行中第一个 hello 替换为:hi
    • :s/hello/hi/,把光标当前行第一个 hello 替换为 hi
    • :s/hello/hi/g,把光标当前行所有 hello 替换为 hi
    • :s#hello/#hi/#,除了使用斜杠作为分隔符之外,还可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符,该命令表示:把光标当前行第一个 hello/ 替换为 hi/
    • :10,31s/hello/hig,把第 10 行到 31 行之间所有 hello 替换为 hi
  • 显示行号

    • set number或者set nu

特殊的复制、黏贴

  • Vim 提供了 12 个剪贴板,分别是:0,1,2,3,4,5,6,7,8,9,a,",默认采用的是 ",也就是双引号。
  • 复制到某个剪切板的命令:"3y,表示使用 3 号剪切板。
  • 黏贴某个剪切板内容:"3p,表示使用 3 号剪切板内容进行黏贴

配置

备份老的Vim配置文件

1
cp ~/.vimrc ~/.vimrc_bak

下载

下载 vim-for-server

1
curl https://raw.githubusercontent.com/wklken/vim-for-server/master/vimrc > ~/.vimrc

或者通过git clone

1
2
git clone https://github.com/wklken/vim-for-server.git
ln -s vim-for-server/vimrc ~/.vimrc