Vim常用命令

Vim的三种模式

命令模式

打开vim:在Linux输入vim fileName(fileName 代表文件名 有这个文件 则打开 没有则自动创建并打开)

在使用vim打开文件的时候 默认就是命令模式 在这在个模式下输入的字符都会被当作命令

常用切换到命令模式的命令
  • i切换到输入模式 输入字符
  • x删除当前光标所在位置的字符
  • :切换到底线命令模式,在最地下一行输入命令副

输入模式

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

按ESC键可随时退出底线命令模式。

搜索替换

  • /word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用)
  • ?word向光标之上寻找一个字符串名称为 word 的字符串。
  • n重复上一个搜索的操作
  • N反向重复上一个搜索的操作 比如 为上一次操作是向下搜索的 使用N后则会向上搜索
  • :n1,n2s/word1/word2/gn1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则: 『:100,200s/vbird/VBIRD/g』

删除、复制、粘贴

  • x X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
  • nx n为数字,5x 向后删除5个字符
  • dd删除光标所在的那一行
  • ndd删除光标以下n行 如:5dd的意思就是 删除 5行
  • d1G删除光标所在位置 到 第一行 的 所有数据
  • dG删除光标所在位置 到 最后一行 的所数据
  • d$删除光标所在位置的字符 到 所在行 的最后一个字符
  • d0那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
  • yy复制光标所在的那一行
  • nyy复制光标以下n行 5yy代表复制光标以下5行
  • y1G复制光标所在行到第一行的数据
  • yG复制光标所在行到最后一行的数据
  • y0复制光标所在该行位置到该行的第一个字符
  • y$复制光标所在行位置到该行最后一个字符
  • p将复制的数据向光标所在行的下一行粘贴
  • P将复制的数据向光标所在行的上一行粘贴
  • J将光标所在行与下一行的数据结合成同一行
  • c重复删除多个数据,例如向下删10行 10cj
  • u复原前一个动作 撤销的意思
  • Ctrl+r重复前一个动作
  • .不要怀疑!这就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用)

进入输入或取代的编辑模式

  • i从光标当前所在位置开始输入
  • I从光标所在行的第一个非空字符位置开始输入
  • a从光标当前所在位置的下一个字符开始输入
  • A从光标所在行的最后一个字符开始输入
  • o从光标所在的下一行开始输入新的一行
  • O从光标所在的上一行开始输入新的一行
  • r取代光标所在的字符一次
  • R取代光标所在位置字符 一直取代 知道按下ESC

指令行的储存、离开等指令

  • :w将编辑的文档写入硬盘档案
  • :w!若文件为只读权限时,强行写入该文件 不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
  • :q退出vim
  • :q!若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
  • :wq存储并离开
  • :wq!强制存储并离开
  • ZZ文件如果没有修改 则直接离开 如果文件修改 则存储并离开
  • :w[filename]将文件另存为
  • :r[filename]在编辑的数据中,读入另一个文件的数据,就是将filename这个文件的内容添加到正在编辑的文件的光标所在行之后
  • :n1,n2 w[filename]将n1行 到 n2行的内容另存为filename文件
  • :! command暂时离开vi指令行模式 执行command命令 现实的结果 如::! ls /home可以在vim模式下查看/hom 底下 以 ls 输出的信息

vim 环境变量

  • :set nu显示行号 在每一行的前缀显示该行号
  • :set nonu跟set nu 相反 隐藏行号

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦