Vim 手册

Vim 手册

  • .: 重复上一次改变,比如 x 可以删除字符,那么 x.. 就可以连续删除三个字符。
  • u: undo changes
  • dd: 删除当前行
  • >G: 当前行增加缩进

移动

  • $: 移动到行尾
  • f{char}: 在当前行寻找下一个 char 出现的位置,然后移动上去,同时 ; 可以重复上一次 f 命令搜索的字符,继续进行搜索,使用 , 可以反方向搜索
  • F{char}: 在当前行寻找上一个 char 出现的位置,然后移动上去
  • /pattern<CR>: 在整个文档寻找下一个出现的位置,n 继续,N 反方向
  • ?pattern<CR>: 在整个文档寻找上一个出现的位置,n 继续,N 反方向
  • /content: 搜索某个字符
  • %: 在匹配的括号之间来回跳转
  • zz: 让当前行显示在屏幕中间

编辑

  • a: 在当前光标的字符下一个位置追加字符
  • A: 在当前光标的行的末尾追加字符
  • s: 删除当前字符,进入 Insert 模式
  • :s/target/replacement: 执行替换,u 可以撤销,& 可以重复

Insert Mode:

  • <C-h> Delete back one character (backspace)
  • <C-w> Delete back one word
  • <C-u> Delete back to start of line
  • <C-[> 或者 Esc 都可以回到 Normal Mode

替换

命令格式:

:[range]s[ubstitute]/{pattern}/{string}/[flags]
  • :s/going/rolling 将第一个 going 替换为 rolling
  • :s/going/rolling/g 将当前行所有的 going 替换为 rolling
  • :%s/going/rolling/g 将文档中所有的 going 替换为 rolling
  • :%s/content/copy/gc 每一次替换都问一下是否替换,y 代表是,n 代表跳过

Visual Mode

  • v: 字符级
  • V: 一行
  • <C - v>: 块级
  • 每一行末尾加上 ;,如果是在行开头加上注释应该是输入 I :

拆分窗口

多个窗口中移动焦点

  • <C-w>w Cycle between open windows
  • <C-w>h Focus the window to the left
  • <C-w>j Focus the window below
  • <C-w>k Focus the window above
  • <C-w>l Focus the window to the right

关闭窗口:

  • :cl[ose] <C-w>c Close the active window
  • :on[ly] <C-w>o Keep only the active window, closing all others