vim编辑器

vim模式

模式种类

编辑模式(命令模式)

输入模式

末行模式

模式转换

编辑–>输入:

  • i: 在当前光标所在字符的前面,转为输入模式
  • a: 在当前光标所在字符的后面,转为输入模式
  • o: 在当前光标所在行的下方新建一行,并转为输入模式
  • I: 在当前光标所在行的行首,转为输入模式
  • A: 在当前光标所在行的行尾,转为输入模式
  • O: 在当前光标所在行的上方新建一行,并转为输入模式

输入–>编辑

ESC键

编辑–>末行

输入冒号:即可

1
:set nu //显示行号

打开文件

1
2
3
4
vim /path/to/somefile
vim +n // 打开文件,并定位到第n行
vim + // 打开文件,定位至最后一行
vim +/Pattern // 打开文件,定位至第一次被Pattern匹配到的行的行首

打开文件之后处于编辑模式

关闭文件

末行模式关闭文件

  • :q 退出
  • :wq 保存并退出
  • :q! 不保存并退出
  • :w 保存
  • :w! 强行保存(管理员)
  • :x 保存并退出

编辑模式下退出

  • ZZ(同时敲俩下大写的z)

移动光标

逐字符移动

  • h: 左
  • l: 右
  • j: 下
  • k: 上

nh: 移动n个字符

以单词为单位移动

  • w: 移动到下一个单词的词首
  • e: 移动到当前或者下一个单词的词尾
  • b: 移动到当前或者前一个单词的词首

都支持与数字组合移动n个单位,例如3w,3e

行内跳转

  • 0: 绝对行首
  • ^: 行首的第一个非空白字符
  • $: 绝对行尾

行间跳转

  • nG: 跳转至第n行
  • G: 跳转至最后一行
  • 末行模式直接给出行号即可跳转

翻屏

ctrl+f: 向下翻一屏

ctrl+b: 向上翻一屏

ctrl+d: 向下翻半屏

ctrl+u: 向上翻半屏

删除单个字符

x: 删除光标所在处的单个字符

nx: 删除光标所在处以及向后的工n个字符

删除命令

d命令跟跳转命令组合使用

例如:dw d0 de db; 2dw, 2de, 2db

dd: 删除当前光标所在行
ndd: 删除光标所在行在内的n行

末行模式:

start,endd

.: 表示当前行
$: 表示最后一行
+n: 向下的n行

例如:

:1,8d 删除第1行到第8行

粘贴命令

p: 如果删除的或者复制的是整行内容,则粘贴至光标所在行的下方;如果不是整行,则粘贴至光标所在字符的后面

P: 如果删除的或者复制的是整行内容,则粘贴至光标所在行的上方;如果不是整行,则粘贴至光标所在字符的前面

复制命令

y 用法同d命令

修改:先删除内容,再转换为输入模式

c 用法同d命令

替换

r

R: 替换模式

撤销编辑操作

u:撤销前一次的编辑操作

连续u命令,可撤销此前的n次操作

nu: 直接撤销最近的n次编辑操作,n: 1,2,3…

撤销最近一次撤销:ctrl+r

重复前一次的编辑操作

.

可视化操作

v: 按字符选取

V: 按矩形选取

查找

/Pattern

?Pattern

n

N

查找并替换

在末行模式下使用s命令

start,ends/pattern/string/gi


摘录自 PHP中文网–马哥初级运维视频教程