一、Vim简介
1. Vim概述
VI:Visual Interface,可视化接口。是一个文本编辑器,主要在Unix及类Unix环境中使用。
Vim:Vim=Vi+IMproved。Vim在Vi的基础之上进行了功能提升,相当于Vi的增强版,主要特点为:
①支持多级撤销。Vi中通过字母u撤销上一级操作,Vim则可撤销多级操作
②支持语法高亮
③可跨平台使用。Vim可运行在Windows环境,安装支持Vim的组件,如:git-bash
④可编辑压缩格式文件(gzip、zip等)
2. Vimrc
Vimrc:Vimrc是一个包含初始化命令的文件,其每一行作为一个命令来执行。rc(run command)。
二、Vi三种模式&常用命令
1. Vi三种模式
1)一般模式
2)编辑模式
3)命令行模式
一般模式-->编辑模式:输入i
、o
、a
...
编辑模式-->一般模式:ESC
2. Vi 编辑器常用命令
1)一般模式:移动光标
命令 | 作用 |
---|---|
h 或 ← | 向左移动一个字符 |
j 或 ↓ | 向下移动一个字符 |
K 或 ↑ | 向上移动一个字符 |
l 或 → | 向右移动一个字符 |
Ctrl+F 或 PgDn | 屏幕向后移动一页 |
Ctrl+B 或 PgUp | 屏幕向前移动一页 |
Ctrl+D | 屏幕向后移动半页 |
Ctrl+U | 屏幕向前移动半页 |
+ | 移动到非空格符的下一列 |
- | 移动到非空格符的上一列 |
0 | 移动到本行行首 |
$ | 移动到本行行尾 |
H | 移动到当前屏幕的最顶行 |
M | 移动到当前屏幕的中央那一行 |
L | 移动到当前屏幕的最底行 |
G | 移动到文本的最末行 |
gg | 移动到该文本的首行 |
nG | 移动到该文本的第 n 行(n为数字) |
n 空格 | 光标向右移动 n 个字符(n为数字) |
n 回车 | 向下移动 n 行(n为数字) |
2)一般模式:查找&替换
命令 | 作用 |
---|---|
/word | 向光标之后搜寻名为 word的字符串,当找到第一个 word后,按 "n"继续搜后一个 |
?word | 向光标之前搜寻名为 word的字符串,当找到第一个word 后,按 "n"继续搜前一个 |
:n1,n2s/word1/word2/g | 在 n1 和 n2 行间,查找 word1 这个字符串并替换为 word2;也可把/ 换成#
|
:1,$s/word1/word2/g | 从第一行到最末行,查找 word1 并替换成 word2 |
:1,$s/word1/word2/gc | 加上 c 的作用:在替换前需要用户确认 |
3)一般模式:删除、复制、粘贴
命令 | 作用 |
---|---|
x, X | x 为向后删除一个字符,X 为向前删除一个字符 |
nx | 向后删除 n 个字符(n 为数字) |
dd | 删除光标所在的整一行 |
ndd | 删除光标所在的向下 n 行(n 为数字) |
d1G | 删除光标所在行到第一行的所有数据 |
dG | 删除光标所在行到末行的所有数据 |
yy | 复制光标所在的整一行 |
nyy | 复制从光标所在行起向下 n 行 |
p, P | p 复制的数据从光标下一行粘贴,P 则从光标上一行粘贴 |
y1G | 复制光标所在行到第一行的所有数据 |
yG | 复制光标所在行到末行的所有数据 |
J | 将光标所在行与下一行的数据结合成同一行 |
u | 还原过去的操作(撤销上一级操作) |
4)编辑模式
命令 | 作用 |
---|---|
i | 在当前字符前插入字符 |
I | 在当前行行首插入字符 |
a | 在当前字符后插入字符 |
A | 在当前行行末插入字符 |
o | 在当前行下插入新的一行 |
O | 在当前行上插入新的一行 |
r | 替换光标所在的字符,只替换一次 |
R | 一直替换光标所在的字符,一直到按下 ESC |
5)命令模式
命令 | 作用 |
---|---|
:w | 将编辑过的文本保存 |
:w! | 若文本属性为只读时,强制保存 |
:q | 退出 vim |
:q! | 不管编辑or未编辑都不保存并退出(强制退出) |
:wq | 保存并退出 |
:e! | 将文档还原成最原始状态 |
ZZ | 若文档没有改动,则不储存离开,若文档改动过,则储存后离开,相当于 :wq |
:w [filename] | 编辑后的文档另存为 filename |
:r [filename] | 在当前光标所在行的下面读入 filename 文档的内容 |
:set nu | 在每行的行首显示行号 |
:set nonu | 取消行号显示 |
:n1,n2 w [filename] | 将 n1 到 n2 的内容另存为名为 filename的文档 |
:! command | 暂时离开 vim 运行某个 linux 命令 如 :! ls /home 暂时列出 /home目录下的文件,然后会提示按回车回到 vim界面 |
网友评论