XFE 技术 生活 笔记 文集

Vim编辑器

🔖 开发工具 👀 69 🕒 2019-09-11 👨‍🎓 XFE/Peter

一般来说,这个古老而神奇的东西是大部分linux发行版会内置的一个编辑器,所以在鼓捣服务器的时候,不可避免的要用到学习这个东西,毕竟通用性强。

以下命令,默认都拥有root权限的情况下执行的

重点
Vim 命令严格区分大小写
Vim 命令严格区分大小写
Vim 命令严格区分大小写

编辑器模式

Vim编辑器由于是命令行编辑器,没有菜单栏很多的特殊操作都是需要通过命令来完成的,所以我们使用Vim的时候要注意怎么切换模式,一次让我们来顺利的编辑文件

  • 插入模式(insert)

这个模式下可以通过方向键来移动光标,通过字母键盘输入内容,要注意的一点是,vim编辑器对于小键盘支持并不友好,使用过程中请不要随便触碰小键盘

  • 命令模式

这个模式可以移动光标,删除字符,键入各种命令等

打开文件

vim filepath/fleiname

保存,关闭文件

  • 保存文件
:w
  • 保存内容至filename文件
:w filename
  • 退出编辑器(文件内容修改,会报错执行失败,需要使用下面的命令)
:q
  • 强制退出编辑器,并且不保存文件
:q!
  • 退出编辑器并保存文件
:wq

插入文本或行

除了最后一个命令其他命令执行之后都会进入插入模式(insert)

  • 在当前光标位置右边添加文本
a
  • 在当前光标位置左边添加文本
i
  • 在当前行的末尾添加文本
A
  • 在当前行的开始处添加文本
I
  • 在当前行的前面新建一行
O
  • 在当前行的后面新建一行
o
  • 替换(覆盖)当前光标位置及后面的若干文本
R
  • 合并光标所在行及下一行为一行(不进入编辑模式)
J

移动光标

  1. 使用上下左右方向键移动光标
  1. 命令模式下使用:
k j h l
- Enter(回车) Backspace(退格) Sapce(空格)

删除、恢复字符或行

  • 删除当前字符
x
  • 删除从光标开始的n个字符
nx
  • 删除当前行
dd
  • 向后删除当前行在内的n行
ndd
  • 撤销上一步操作
u
  • 撤销对当前行的所有操作
U

搜索

  • 从光标开始向后搜索str字符串
/str
  • 从光标开始向前搜索str字符串
?str
  • 继续向后搜索
n
  • 继续向前搜索
N

跳转到指定行

  • 向后跳转n行
n+
  • 向前跳转n行
n-
  • 跳转到n行
nG
  • 跳转到底部
G

显示、隐藏行号

  • 显示行号
:set nu
  • 隐藏行号
:set nonu

复制、黏贴

  • 将当前行复制到默认缓存区
yy
  • 将当前行复制到指定a缓存区(缓存区可以指定为a-z的任意字母)
ayy
  • 将当前行向后n行复制到默认缓存区
nyy
  • 将当前行向后n行复制到指定a缓存区(缓存区可以指定为a-z的任意字母)
anyy
  • 复制从光标开始到刺猬的字符
yw
  • 复制从光标开始的n个单词
nyw
  • 复制从光标到行首的内容
y^
  • 复制从光标到行尾的内容
y$
  • 粘贴默认缓存区里面的内容到光标后
P
  • 粘贴指定缓存区a里面的内容到光标后
aP
  • 粘贴默认缓存区里面的内容到光标前
p
  • 粘贴指定缓存区a里面的内容到光标前
ap

替换

  • 用new替换行中首次出现的old
:s/old/new
  • 用new替换黄忠所有的old
:s/old/new/g
  • 用new替换从n到m行中所有的old
:n,m s/old/new/g
  • 用new替换当前文件里所有的old
:%s/old/new/g