vim文本编辑器
vim介绍
vim是Linux自带的文本编辑器,具有命令模式、编辑模式、末行模式三种模式。
模式间的切换:
- 命令模式下,按键盘上的
i
、a
等键可进入编辑模式 - 命令模式下,输入
:
可进入末行模式 - 编辑模式下,按键盘上的
esc
键可回到命令模式 - 末行模式下,按一次(慢退)或两次(快退)
esc
键可回到命令模式
vim打开文件方式 | 说明 |
---|---|
vim filename | 打开或新建一个文件,并将光标置于第一行的首部 |
vim -r filename | 恢复上次vim打开时崩溃的文件 |
vim -R filename | 用只读的方式打开文件 |
命令模式
光标移动
快捷键 | 功能描述 |
---|---|
h、j、k、l | 光标向左、下、上、右移动 |
gg | 光标移动到首行 |
G | 光标移动到末行 |
b/B | 光标向前移动一个单词 |
w/W | 光标向后移动一个单词 |
ctrl+b 或 PageUp | 翻屏操作,向上翻 |
ctrl+f 或 PageDown | 翻屏操作,向下翻 |
ctrl+u | 向上翻半屏 |
ctrl+d | 向下翻半屏 |
` | 光标移动到上次编辑处 |
数字+G | 快速将光标移动到指定行 |
数字+上下方向键 | 以当前光标为准,向上/下移动n行 |
数字+左右方向键 | 以当前光标为准,向上/下移动n个字符 |
H | 光标移动到屏幕顶部 |
M | 光标移动到屏幕中间 |
L | 光标移动到屏幕底部 |
shift+6 | 光标移动到行首 |
shift+4 | 光标移动到行尾 |
选中内容
快捷键 | 功能描述 |
---|---|
v | 字符选中 |
V 或 shift+v | 行选中 |
复制内容
快捷键 | 功能描述 |
---|---|
y | 复制已选中的文本到剪贴板 |
n+yy | 复制光标所在行,此命令前可以加数字n,表示复制n行 |
yw | 复制光标位置的单词 |
ctrl+v,方向键,yy | ctrl+v,并按方向键选中区块,按下yy进行复制 |
粘贴内容
快捷键 | 功能描述 |
---|---|
p | 将剪贴板中的内容粘贴到光标后 |
P | 将剪贴板中的内容粘贴到光标前 |
删除
快捷键 | 功能描述 |
---|---|
x | 删除光标所在位置的字符 |
X | 删除光标前一个字符 |
dd | 删除光标所在行,删除之后,下一行上移;严格来说它是剪切命令,可以配合p命令使用 |
D | 删除光标位置到行尾的内容,删除之后,下一行不上移;也有剪切的作用 |
ndd | 删除当前行(包括此行)后n行文本;可以理解成剪切多行,配合p命令使用 |
dG | 删除光标所在行一直到文件末尾的所有内容 |
撤销/恢复
快捷键 | 功能描述 |
---|---|
u | 撤销 |
U | 撤销所有编辑 |
ctrl+r | 恢复 |
字符转换
快捷键 | 功能描述 |
---|---|
~ | 转换大小写 |
u | 转成小写 |
U | 转成大写 |
编辑模式
快捷键 | 功能描述 |
---|---|
i | 在当前光标所在位置插入,光标后的文本相应向右移动 |
o | 在光标所在行的下方插入新的一行,光标停在空行首,等待文本输入 |
O | 在光标所在行的上方插入新的一行,光标停在空行首,等待文本输入 |
a | 在当前光标所在位置之后插入 |
A | 在光标所在行的行尾插入,相当于光标移动到行尾再执行a命令 |
末行模式
保存/退出
快捷键 | 功能描述 |
---|---|
wq | 保存并退出vim编辑器 |
wq! | 保存并强制退出vim编辑器 |
q | 不保存并退出vim编辑器 |
q! | 不保存并强制退出vim编辑器 |
w | 保存但不退出vim编辑器 |
w! | 强制保存文本 |
w filename | 另存到filename文件中 |
x! | 保存文本,并退出编辑器 |
ZZ | 直接退出编辑器 |
查找
快捷键 | 功能描述 |
---|---|
/abc | 从光标所在位置向前查找字符串abc |
?abc | 从光标所在位置向后查找字符串abc |
/^abc | 查找以abc为行首的行 |
/abc$ | 查找以abc为行尾的行 |
行号显示
快捷键 | 功能描述 |
---|---|
set nu | 行号显示 |
set nonu | 取消行号显示 |
文件切换
使用vim打开多个文件后,在末行模式下可以进行切换。
快捷键 | 功能描述 |
---|---|
files(%a表示激活状态,#表示上一个打开的文件) | 查看当前打开的所有文件 |
open filename | 切换到filename文件 |
bp | 切换到上一个文件 |
bn | 切换到下一个文件 |
扩展
在末行模式下,输入syntax on/off
,能够显示或取消显示代码颜色。
vim内置计算器的使用:
- 进入编辑模式
- 按
"ctrl+r
,光标变成引号,输入=
,光标转到最后一行 - 输入需要计算的内容,按下Enter键,计算结果会替代引号,光标恢复
vim的配置:
- 文件打开时,末行模式下输入的配置为临时配置,关闭文件后配置无效
- 修改个人配置文件,可以永久保存个人配置(~/.vimrc,如果没有可以自行创建)
- 修改全局配置文件,对每个用户生效(vim自带,/etc/vimrc)
注:个人配置文件优先级更高,当个人配置和全局配置发生冲突时,系统以当前用户的个人配置文件为准
处理异常:
- 在编辑文件后,未正常保存退出时,会产生异常退出交换文件(.原文件名.swp);将交换文件删除后,再次打开文件时,便不会有提示:"#rm -f .原文件名.swp"。