跳至主要内容

Vim命令学习

一般模式切换至编辑模式

  • i,I    从目前光标所在处插入,从所在行第一个非空格符处插入
  • a,A    从光标所在下一个字符开始插入,从光标所在行最后一个字符出开始插入
  • o,O    下一行插入,上一行插入
  • r,R    替换光标所在字符一次,一直替换直至[Esc]

常用操作

  • dd    删除光标所在行       ndd    删除光标所在的向下20
  • dw    删除一个字(word)
  • J    两行合并
  • u    复原前一个操作         ctrl-r   重做上一个操作
  • .    重复前一个操作,重复删除,重复粘贴都常用到
  • x,X    相当于[Del],[Backspace]
  • D    删除到行末
  • yy    复制光标所在行         nyy,表示从当前行开始复制n
  • yw    复制一个字
  • y$    复制到行末
  • p,P    将复制数据粘贴在下一行,上一行

查找和替换

  • /word    向下查找带有word字符串
  • ?word    向下寻找带有word字符串
  • :n1,n2s/word1/word2/g    在第n1行和第n2行之间替换word1word2
    • :n1,$s/word1/word2/gc   从第一行搜寻至最后一行,替换之前询问用户

退出VIM

  • :w[filename]  将缓冲区写入文件,即保存文件
  • :q     退出,如果对缓冲区进行过修改,则会提示
  • :q!     强制退出,放弃修改
  • :wq     保存修改并退出
  • :x     保存修改并退出

窗口命令

  • ctrl+w s     水平分割窗口
  • ctrl+w w     切换窗口
  • ctrl+w q     退出当前窗口(由于同时有多个文件,此命令不会影响其他窗口)
  • ctrl+w v     垂直分割窗口

页面操作

  • h,j,k,l     上,下,左,右
  • ctrl-f     相当于pagedown
    c
    trl-b     相当于pageup
  • $     ^        跳至行尾           跳至行首的第一个字符
  • home0  end$     移动到这一行行首/行尾
  • gg    G   跳至文件的第一行      最末行
  • nG         移动到这个文件的第n         gg 本质上相当于1G
  • N[ENTER]  n为数字,光标向下移动n行