前言
记录一些vim编辑器的一些常用操作
一、vim的三种模式
- 一般命令模式
- 编辑模式
在一般命令模式里按下i,会进入编辑模式。
按下ESC会退出编辑模式,返回到一般命令模式。 - 命令行模式
在一般命令模式里按下:/?三个字母中的任意一个
会进入命令行模式。命令行在最下面。
二、vim的基本使用
输入 vimtutor
Linux 内部的 vim 学习教程
-
移动光标
-
vim的进入与退出
输入vim 文件路径
用vim编辑文件(若文件不存在则创建一个)
输入:
进入命令行模式
输入i
进入编辑模式
输入:wq
保存并退出
输入q!
强制退出
按Esc
:退出编辑模式进入一般命令模式 -
在文本编辑模式下
按x
删除光标所在字符
按i
前面插入字符
按a
后面添加字符
按A
一行后添加字符 -
删除
dw
删除一个单词
d$
当前位置删除至行末
-
在动作前输入数字会重复操作
-
结合以上2点 可以组合
d2w
-
输入
dd
删除整行 -
输入
u
撤销 -
输入
p
将最后一次删除的内容插入下一行 -
输入
r
和一个字符 替换光标所在字符 -
c
删除并跟改后面的内容(类似d组合键) -
G
跳转最后一行gg
第一行ctrl+g
显示当前行号
数字+G
跳转至数字行 -
输入
/
或者?
+要查找的字符串 进行查找操作n
下一个 -
替换操作(将old替换new)
-
输入
:!
然后紧接着输入一个外部命令可执行外部命令 -
v
进入可视化y
复制文本p
粘贴文本 -
n<Space>
n表示数字,按下数字后再按空格,光标会向右移动这一行的n个字符 -
:n
或nG
n为数字,光标移动到第n行 -
n<Enter>
n为数字,光标向下移动n行 -
大于号 > 将选中的文本整体向右缩进一次
-
小于号 < 将选中的文本整体向左缩进一次
-
:set paste
设置成粘贴模式,取消代码自动缩进 -
:set nopaste
取消粘贴模式,开启代码自动缩进 -
:set nu
显示行号 -
:set nonu
隐藏行号 -
gg=G
将全文代码格式化 -
:noh
关闭查找关键词高亮 -
Ctrl + q
:当vim卡死时,可以取消当前正在执行的命令 -
异常处理:
每次用vim编辑文件时,会自动创建一个.filename.swp的临时文件。
如果打开某个文件时,该文件的swp文件已存在,则会报错。此时解决办法有两种:
(1) 找到正在打开该文件的程序,并退出
(2) 直接删掉该swp文件即可