简介:
Vi编辑器是所有Unix及Linux系统下标准的编辑器,在Unix及Linux系统的任何版本,Vi编辑器是完全相同的,Vi也是Linux中最基本的文本编辑器。
? Vim都是Linux中用的最多的编辑器,与Vi不同的是,Vim比较高级,可以视为Vi的升级版本。Vi使用于文本编辑,但是Vim更适用于coding(写代码的)。
Vim特点:
Vim三种模式:
Vi/Vim+filename(已经存在的文件名或者创建一个新文件)
,Vi之后默认进入命令模式;i/a/o
进入像Windows记事本一样的插入模式;Esc
之后回到命令模式,输入:
可以进入编辑模式;:wq
即可保存退出。命令模式:使用 Vim 编辑文件时,默认处于命令模式,敲的任何一个字符系统都会当成命令来处理。在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等)。
输入模式:在命令模式状态下输入 i/a/o
等插入命令可以进入输入模式,在该模式Vim可以对文件执行写操作,类似于在 Windows 系统的文档中输入内容。
编辑模式:在在命令模式状态下按:
进入编辑模式,可以在末行:
之后输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等等),命令执行后会自动返回命令模式。
任何模式下按Esc
键都可以返回命令模式。
Vim常用命令(在命令模式下输入):
插入命令
命令 | 作用 |
---|---|
i | 在当前光标所在字符前插入随后输入的文本,光标后的文本相应向右移动 |
I | 在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符 |
o | 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本 |
O | 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 |
a | 在当前光标所在字符后插入随后输入的文本 |
A | 在光标所在行的行尾插入随后输入的文本 |
定位命令
命令 | 作用 |
---|---|
:set nu | 设置行号 |
:set nonu | 取消行号 |
gg | 到第一行 |
G | 到最后一行 |
nG | 到第n行 |
:n | 到第n行 |
$ | 移至行尾 |
0 | 移至行首 |
删除命令
命令 | 作用 |
---|---|
x | 删除光标所在处字符 |
nx | 删除光标所在处后n个字符 |
dd | 删除光标所在行 |
ndd | 删除当前行(包括此行)后 n 行文本 |
dG | 删除光标所在行到文件末尾内容 |
D | 删除光标所在处到行尾内容 |
:n1,n2d | 删除从 a1 行到 a2 行的内容 |
复制、粘贴和剪切命令
命令 | 作用 |
---|---|
yy | 复制当前行 |
nyy | 复制当前行以下n行 |
dd | 剪切当前行 |
ndd | 剪切当前行以下n行 |
p、P | p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行 |
替换和取消命令
命令 | 作用 |
---|---|
r | 取代光标所在处字符 |
R | 从光标所在处开始替换后面等长字符,按Esc结束 |
u | 取消上一步操作 |
:n1,n2s/a1/a2/g | 将文件中 n1 到 n2 行中所有 a1 都用 a2 替换 |
:g/a1/a2/g | 将文件中所有的 a1 都用 a2 替换 |
:1,$s/word1/word2/g | 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 |
:%s/word1/word2/g | 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 |
搜索和搜索替换命令
命令 | 作用 |
---|---|
/string | 搜索指定字符串 搜索时忽略大小写 :set ic |
/^abc | 查找以 abc 为行首的行 |
/abc$ | 查找以 abc 为行尾的行 |
?abc | 从光标所在为主向后查找字符串 abc |
n | 向同一方向重复上次的查找指令 |
N | 向相反方向重复上次的查找指令 |
:%s/old/new/g | 全文替换指定字符串 |
:n1,n2s/old/new/g | 在一定范围内替换指定字符串 |
要查找的字符串是严格区分大小写的,如果想忽略大小写,则输入命令 :set ic
;调整回来输入:set noic
。
如果在字符串中出现特殊符号,则需要加上转义字符 "\"。常见的特殊符号有 \、*、?、$ 等。如果出现这些字符,例如,要查找字符串 "10$",则需要在命令模式中输入 "/10$"。
保存和退出命令
命令 | 作用 |
---|---|
:w | 保存修改 |
:w new_filename | 另存为指定文件 |
:wq | 保存修改并退出 |
ZZ | 快捷键,保存修改并退出 |
:q! | 不保存修改退出 |
:wq! | 保存修改并强制退出(文件所有者及root可使用) |
原文:https://www.cnblogs.com/yangyu-IoT/p/12757959.html