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