超详Linux之vim命令大全

打开Linux终端,开始创建第一个文件,回车进入vim编辑器(命令模式)

[user@master ~]$ vim text

超详Linux之vim命令大全_第1张图片

超详Linux之vim命令大全_第2张图片

vim编辑器的三种模式转换

插入模式<=>命令模式<=>末行模式

  • 命令模式  => 插入模式       按insert键或i键、a键、o键、s键等
  • 插入模式  => 命令模式       按Esc键
  • 命令模式  => 末行模式       按冒号键
  • 末行模式  => 命令模式       输入末行命令之后回车键

 在命令模式下高效按键

  • 各种插入模式

  1. a      在光标后插入

  2. A      在当前行末尾插入

  3. o      在当前行的下一行插入

  4. O     在当前行的上一行插入

  • 简单移动光标

  1. 0      数字零,到行首

  2. ^      到本行第一个不是blank的字符(blank字符有空格、tab、换行、回车)

  3. $      到本行行尾

  4. g_    到本行最后一个不是blank的字符

  5. /pattern    搜索 pattern 字符串,如果多个匹配,按n切换到下一个

  • 复制、粘贴

  1. p   当前位置后粘贴

  2. P   当前位置前粘贴

  3. yy   复制当前行

  4. nyy    n不是字母,而是数字,相当于要复制多少行,相样也有ndd,删除多少行

  5. yw   将光标处开始到字结尾处的所有字符复制

  6. nyw  n不是字母,而是数字,将光标处开始的n个字复制

  • 删除

  1. h,j,k,l   对应光标左、下、上、右移动

  2. x      一次删除当前光标处的一个字符

  3. n x   一次删除当前光标处开始的n个字符

  4. X      一次删除当前光标前面的一个字符

  5. n X   一次删除当前光标前面的n个字符

  6. dd    一次删除一行字符

  7. n dd  一次删除n行字符

  • 撤销和恢复

  1. u   撤销最近一次的操作
  2. ctrl+r    恢复最近一次的撤销操作
  • 页数操作

  1. ctrl+b   往回移动一页
  2. ctrl+f    向前移动一页
  3. ctrl+u   往回移动半页
  4. ctrl+d   向前移动半页
  • 光标快速移动
  1. nG 到第n行,注意G是大写,也可以在 command 模式输入 :n ,到第n行

  2. gg 到第一行,相当于1G

  3. G 到最后一行

  4. w/W 到下一单词的开头,大小写均可,但w认为是单词是字母数字下划线组成,其它字符均为分隔符;W只认为blank字符(空格,tab)为分隔符

  5. e/E 到下一单词的结尾,说明同上

  6. % 匹配括号移动,包话 (,{,[

  7. * 和 # 匹配光标当前所在的单词,移动光标到下一个匹配单词是 * , 上一个是 #

  8. r/R 替换一个字符/全局替换模式

在末行模式下的高效按键

  1. :wq 保存退出
  2. :q!   放弃最后一次保存之后做的修改并退出
  3. :q (最后一次保存之后,没有对文档进行任何修改)退出
  4. :z    将缓冲区内容写入文件,不退出
  5. :x    保存退出
  6. :set number 或者 :set nu     显示行号
  7. :set nonumber 或者 :set nonu  不显示行号
  8.  :n    表示将光标移动到第n行的行首 
  9.  :!   不退出vi,执行shell命令
  10. 替换命令   【这里详细讲解一下】

           格式

                       : [范围] s /string1/string2 /[c e g i]     【注】如果省略范围,默认从当前光标处开始

           选项

                        c 每次替换之前,询问师范替换?  y确认  n拒绝 a确认全部 q返回  默认全部替换

                        g 所有符合的部分,都做替换   没有g,只对每行第一次出现的符合的部分进行替换

                        e:不显示errors

                         i:不区分大小写

           示例

                         :1,7 s /deep/abcd/g    【注】表示从1行到7行中所有deep替换成abcd

插入模式 

  • 插入模式下直接输入即可

你可能感兴趣的:(linux,vim,编辑器,运维)