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"。