vim基础命令

发布时间 2023-10-01 02:15:13作者: wuhu12345

模式

  • 默认是一般命令模式,对于多个字符组成的命令,vim右下角会显示已输入的字符。
  • i进入编辑模式
  • v进入可视化(Visual)模式
  • /:?中的一个进入命令行模式
  • 在编辑模式或命令行模式中按ESC可以返回一般命令模式。

光标

  • vim中的光标类似于insert模式,输入字符是向光标中的字符前插入。

常用命令

  1. 光标的上下左右移动:h、j、k、l分别对应上、下、左、右。
  2. 行内移动:
    • n:光标向后移动n个字符,若本行字符不够则移动到下一行。
    • 0Home:光标移动到本行开头。
    • $或End**:光标移动到本行末尾。
  3. 行间移动:
    • G:光标移动到最后一行的开头。
    • gg:光标移动到第一行的开头。
    • :nnGngg:光标移动到第n行的开头。
    • n:光标向下移动n行,当然光标也是停在行的开头。
  4. 查找与替换:
    • /word?word:前者是向光标后寻找第一个值为word的字符串,查找后光标会停在该字符串的头部;后者则是向光标前查找。
    • n:重复前一个查找操作。
    • N:反向重复前一个查找操作。
    • :n1,n2s/word1/word2/g:在n1行和n2行之间查找值为word1的字符串并将其替换为word2。
    • :1,$s/word1/word2/g:在全文查找值为word1的字符串并将其替换为word2。
    • :1,$s/word1/word2/gc:在全文查找值为word1的字符串并将其替换为word2,替换前要求用户确认。

    其实上面三条命令并不难背,s/word1/word2是查找并替换字符串命令,其前面的n1,n2是行限定,前面也说了\(有末尾的意思**,所以**1,\)能表示全文;其后则是一些权限问题,在此不多赘述。

  5. Visual模式:
    • v进入可视化模式,在此模式中可以选中文本,此选中以进入visual模式时光标停留的位置为起点,在该模式中上面提到的光标移动命令基本都可用。
  6. 一般命令模式对文本的操作:
    • d:删除选中的文本。
    • dd删除当前行。
    • y:复制选中的文本。
    • yy:复制当前行。
    • p:将复制的内容粘贴到光标目前位置。粘贴后粘贴的字符串的头部会在光标的粘贴前位置,光标则会移动到粘贴的字符串尾部。
    • u:撤销。
    • Ctrl r:取消撤销。
    • Shift >:将选中的文本整体向右移动。
    • Shift <:将选中的文本整体向左移动。
    • gg=G:将全文格式化。
    • :set nu:显示行号。
    • :set nonu:隐藏行号。
  7. 对文件的操作:
    • :w:保存文件。
    • :w!:强制保存文件。
    • :q:退出。
    • :q!:强制退出。
    • :wq:保存并退出。
    • Ctrl q:强制关闭目前正在执行的命令。


这些命令只是一小部分,但是也足够举一反三到其他命令,以后如果有新的经常用的命令会再更新。