VIM
编辑器
VIM
是一款功能强大的文本编辑器,也是早年Vi
编辑器的加强版,他的最大特色就是使用命令进行编辑,完全脱离了鼠标的操作。- 对远程服务器的代码直接进行修改,这样操作起来更加快速和方便。
vim
需要安装,不安装使用的是vi
,不太好用,安装之后,vi等同于vim
sudo apt-get insatll vim
工作模式
- 命令模式、编辑模式、末行模式
- 说明:
- 当刚打开
VIM
的时候进入的是命令模式; - 编辑模式和末行模式之间不能直接进行切换,都需要通过命令模式来完成。
- 当刚打开
VIM
命令模式进入编辑模式
命令 | 说明 |
---|---|
i , I | 进入输入模式(Insert mode) :i 为『从目前光标所在处输入』I 为『在目前所在行的第一个非空格符处开始输入』 |
a ,A | 进入输入模式(Insert mode) :a 为『从目前光标所在的下一个字符处开始输入』A 为『从光标所在行的最后一个字符处开始输入』 |
o , O | 进入输入模式(Insert mode) :o 为『在目前光标所在的下一行处输入新的一行』O 为『在目前光标所在处的上一行输入新的一行』 |
r , R | 进入取代模式(Replace mode) :r 只会取代光标所在的那一个字符一次R 会一直取代光标所在的文字,直到按下 ESC 为止; |
[Esc ] | 退出编辑模式,回到命令模式中 |
VIM
的末行模式命令
命令 | 说明 |
---|---|
:set nu | 显示行号 |
:set nonu | 取消显示行号 |
:数字 | 跳到指定行 |
保存退出 | ----------------------------------- |
:q | 退出 |
:q! | 强制退出(修改了又不想保存) |
:w [文件名] | 保存 [另存为“文件名”] |
:开始行,结束行 w 文件名 | 将开始行到结束行的内容另存为“文件名” |
:wq | 保存退出 |
:x | 保存退出 |
:r 文件名 | 读取“文件名”的内容到本文档的光标之后 |
搜索替换 | ----------------------------------- |
/内容 | 向下搜索指定内容(定位到内容) |
?内容 | 向上搜索指定内容(定位到内容) |
:/内容 | 搜索指定内容(定位到行) |
n | 重复搜寻动作,刚才向上查找就继续向上查找 |
N | 反向重复搜寻动作,刚才向上查找就改为向下查找 |
:%s/原内容/新内容/g | 全局替换 |
:%s/原内容/新内容/gc | 全局替换,替换前询问用户是否替换 |
:开始行,结束行s/原内容/新内容/g | 局部替换 |
VIM
的命令模式命令
命令 | 说明 |
---|---|
gg | 跳到第一行 |
G | 跳到最后一行 |
数字G | 跳到指定行 |
删除剪切 | ----------------------------------- |
x | 相当于del |
数字x | 先后删除数字个字符 |
X | 相当于backspace |
dd | 剪切当前行(可当删除用) |
数字dd | 从当前行开始剪切/删除“数字”行 |
d1G | 删除当前行到第一行的所有内容 |
dG | 删除当前行到最后一行的所有内容 |
d$ | 删除光标到本行末尾的所有内容 |
d0 | 删除光标到本行开始的所有内容 |
复制粘贴 | ----------------------------------- |
yy | 复制光标所在行 |
数字yy | 复制光标所在行向下“数字”行 |
y1G | 复制光标所在行到第一行的所有内容 |
yG | 复制光标所在行到最后一行的所有内容 |
y0 | 复制光标所在到行首的内容 |
y$ | 复制光标所在到行尾的内容 |
p | 粘贴内容到当前行的下面 |
P | 粘贴内容到当前行的上面 |
数字<space> | 光标向右移动“数字”个字符 |
数字<enter> | 光标下移“数字”行 |
扩展 | ----------------------------------- |
>> | 向右缩进 |
<< | 向左缩进 |
u | 撤销 |
Ctrl + r | 反撤销 |
. | 重复上一次命令操作 |
^ /<HOME> | 回到当前行首 |
$ /<END> | 回到当前行的行末 |
Ctrl + F /<Page Down> | 下一屏 |
Ctrl + B /<Page Up> | 上一屏 |
V | 按行选中 |