1. 编辑器vim介绍
三种模式: 命令模式 (移动光标,剪切,复制,粘贴)默认进入命令
输入模式(编辑)
末行模式(保存,退出,替换)
三种模式转换: 命令 -> a/i/o -> 输入 -> esc -> 命令
命令 -> : -> 末行 -> esc -> 命令
输入 -> esc -> 命令 -> : -> 末行
#进入末行模式: 命令模式输入: w:保存 q:退出 !强制
2. 详细介绍
1. vim 打开文件 如: vim /test/vi.php
Vim 打开文件的快捷方法
Vi 使用的选项 说 明
vim filename 打开或新建一个文件,并将光标置于第一行的首部
vim -r filename 恢复上次 vim 打开时崩溃的文件
vim -R filename 把指定的文件以只读方式放入 Vim 编辑器中
vim + filename 打开文件,并将光标置于最后一行的首部
vi +n filename 打开文件,并将光标置于第 n 行的首部
vi +/pattern filename 打幵文件,并将光标置于第一个与 pattern 匹配的位置
vi -c command filename 在对文件进行编辑前,先执行指定的命令
2. 使用 vim 进行编辑
vim 插入文本
从命令模式进入输入模式进行编辑,可以按下 I、i、O、o、A、a 等键来完成,使用不同的键,光标所处的位置不同。
插入文本
快捷键 功能描述
i 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I 在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令
o 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O(大写) 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a 在当前光标所在位置之后插入随后输入的文本
A 在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行 a 命令
vim 查找文本 (直接在 命令模式中查找)
Vim 查找目标文本
快捷键 功能描述
/abc 从光标所在位置向前查找字符串 abc
/^abc 查找以 abc 为行首的行
/abc$ 查找以 abc 为行尾的行
?abc 从光标所在为主向后查找字符串 abc
n 向同一方向重复上次的查找指令
N 向相反方向重复上次的查找指定
在查找过程中需要注意的是,要查找的字符串是严格区分大小写的,如查找 "shenchao" 和 "ShenChao" 会得到不同的结果。
如果想忽略大小写,则输入命令 ":set ic";调整回来输入":set noic"。
如果在字符串中出现特殊符号,则需要加上转义字符 "\"。常见的特殊符号有 \、*、?、$ 等。如果出现这些字符,例如,要查找字符串 "10$",则需要在命令模式中输入 "/10\$"。
Vim 替换文本
Vim替换文本
快捷键 功能描述
r 替换光标所在位置的字符
R 从光标所在位置开始替换字符,其输入内容会覆盖掉后面等长的文本内容,按“Esc”可以结束
:s/a1/a2/g 将当前光标所在行中的所有 a1 用 a2 替换
:n1,n2s/a1/a2/g 将文件中 n1 到 n2 行中所有 a1 都用 a2 替换
:g/a1/a2/g 将文件中所有的 a1 都用 a2 替换
例如,要将某文件中所有的 "root" 替换为 "liudehua",则有两种输入命令,分别为:
:1, $s/root/liudehua/g
或
:%s/root/liudehua/g
上述命令是在编辑模式下操作的,表示的是从第一行到最后一行,即全文查找 "root",然后替换成 "liudehua"。
如果刚才的命令变成 :10,20 s/root/liudehua/g,则只替换从第 10 行到第 20 行的 "root"。
有以下一些表示方法:
不写range : 默认为光标所在的行。
. : 光标所在的行。
1 : 第一行。
$ : 最后一行。
n : 第n行。
'a : 标记a所在的行(之前要使用ma做过标记)。
.+1 : 当前光标所在行的下面一行。
$-1 : 倒数第二行。(这里说明我们可以对某一行加减某个数值来
取得相对的行)。
n,m : 第n~m行。
1,$ : 第1行 到 最后一行。
1,. : 第1行 到 当前行。
.,$ : 当前行 到 最后一行。
'a,'b : 标记a所在的行 到标记b所在的行。
% : 所有行(与 1,$ 等价)。
一些参数说明
无 :只对指定范围内的第一个匹配项进行替换。
g : 对指定范围内的所有匹配项进行替换。
c : 在替换前请求用户确认。
e : 忽略执行过程中的错误。
注意:上面的所有flags都可以组合起来使用,比如 gc 表示对指定范围内的
所有匹配项进行替换,并且在每一次替换之前都会请用户确认。
Vim 删除文本
Vim 删除文本快捷键
快捷键 功能描述
x 删除光标所在位置的字符
dd 删除光标所在行
ndd 删除当前行(包括此行)后 n 行文本
dG 删除光标所在行一直到文件末尾的所有内容
D 删除光标位置到行尾的内容
:a1,a2d 函数从 a1 行到 a2 行的文本内容
注意,被删除的内容并没有真正删除,都放在了剪贴板中。将光标移动到指定位置处,按下 "p" 键,就可以将刚才删除的内容又粘贴到此处。
Vim 复制和粘贴文本
Vim 复制文本
快捷键 功能描述
p 将剪贴板中的内容粘贴到光标后
P(大写) 将剪贴板中的内容粘贴到光标前
y 复制已选中的文本到剪贴板
yy 将光标所在行复制到剪贴板,此命令前可以加数字 n,可复制多行
yw 将光标位置的单词复制到剪贴板
Vim 其他常用快捷键
1. 某些情况下,可能需要把两行进行连接。比如说,下面的文件中有两行文本,现在需要将其合并成一行(实际上就是将两行间的换行符去掉)。可以直接在命令模式中按下 "J" 键
2. 如果不小心误删除了文件内容,则可以通过 "u" 键来撤销刚才执行的命令。如果要撤销刚才的多次操作,可以多按几次 "u" 键。
3. Vim 保存退出文本
Vim 的保存和退出是在编辑模式中进行的,其常用命令如下表所示。
Vim 常用保存退出命令
命令 功能描述
:wq 保存并退出 Vim 编辑器
:wq! 保存并强制退出 Vim 编辑器
:q 不保存就退出 Vim 编辑器
:q! 不保存,且强制退出 Vim 编辑器
:w 保存但是不退出 Vim 编辑器
:w! 强制保存文本
:w filename 另存到 filename 文件
x! 保存文本,并退出 Vim 编辑器,更通用的一个 vim 命令
ZZ 直接退出 Vim 编辑器
Vim 移动光标快捷键汇总
Vim 文本编辑器中,最简单的移动光标的方式是使用方向键,但这种方式的效率太低,更高效的方式使用快捷键。
Vim 移动光标常用的快捷键及其功能如下面各表所示,需要注意的是,表中所有的快捷键都在命令模式(默认状态)下直接使用。
Vim快捷方向键
Vim光标上、下、左、右移动快捷键
快捷键 功能描述
h 光标向左移动一位
j 光标向下移动一行(以回车为换行符),也就是光标向下移动
k 光标向上移动一行(也就是向上移动)
l 光标向右移动一位
Vim 光标以单词为单位移动
某些情形下,可能需要光标迅速移动至一行中的某个位置,将光标以单词为单位进行移动就会很方便。
Vim光标以单词为单位进行移动
快捷键 功能描述
w 或 W 光标移动至下一个单词的单词首
b 或 B 光标移动至上一个单词的单词首
e 或 E 光标移动至下一个单词的单词尾
nw 或 nW n 为数字,表示光标向右移动 n 个单词
nb 或 nB n 为数字,表示光标向左移动 n 个单词
vim 光标移动至行首或者行尾
光标移动到行首或行尾
快捷键 功能描述
0 或 ^ 光标移动至当前行的行首
$ 光标移动至当前行的行尾
n$ 光标移动至当前行只有 n 行的行尾,n为数字
vim 光标移动至指定字符
一行中,如果需要将光标移动到当前行的某个特点字符,则可以使用表 4 中的快捷键。
光标移动至指定字符
快捷键 功能描述
fx 光标移动至当前行中下一个 x 字符处
Fx 光标移动至当前行中下一个 x 字符处
vim 光标移动到指定行
光标移动到指定行
快捷键 功能描述
gg 光标移动到文件开头
G 光标移动至文件末尾
nG 光标移动到第 n 行,n 为数字
:n 编辑模式下使用的快捷键,可以将光标快速定义到指定行的行首
本文介绍了Vim编辑器的基础操作,包括三种模式:命令模式、输入模式和末行模式的转换。详细讲解了如何打开和编辑文件,以及移动光标、插入文本、查找与替换文本、删除、复制和粘贴的快捷键。此外,还提到了撤销操作和保存退出的命令。重点介绍了各种高效移动光标的快捷键。
5万+

被折叠的 条评论
为什么被折叠?



