vi编辑器:是 Linux 和 Unix 系统中一个经典的文本编辑器,功能强大但学习曲线较陡。它的改进版本 vim(Vi IMproved)提供了更多功能,如语法高亮、多级撤销等。以下是 vi 和 vim 的基本使用方法。
- 启动 vi 或 vim
- 打开文件:
vi filename
vim filename
- 如果文件不存在,vi 或 vim会创建一个新文件。
- vi 的三种模式
vi 有三种主要模式,每种模式下可以执行不同的操作:
- 命令模式(Command Mode):
-
启动 vi后默认进入命令模式。
-
在此模式下可以执行复制、粘贴、删除、保存等操作。
-
按 Esc 键可以从其他模式返回命令模式。
- 插入模式(Insert Mode):
-
在命令模式下按 i、a、o 等键进入插入模式。
-
在此模式下可以输入和编辑文本。
- 末行模式(Last Line Mode):
-
在命令模式下按 : 进入末行模式。
-
在此模式下可以执行保存、退出、查找等操作。
- 常用命令
命令模式下的操作
-
移动光标:
-
h:左移。
-
j:下移。
-
k:上移。
-
l:右移。
-
0:移动到行首。
-
$:移动到行尾。
-
gg:移动到文件开头。
-
G:移动到文件末尾。
-
Ctrl + f`:向下翻页。
-
Ctrl + b:向上翻页。
-
删除操作:
-
x:删除光标处的字符。
-
dd:删除当前行。
-
dw:删除从光标处到单词末尾。
-
d$:删除从光标处到行尾。
-
复制和粘贴:
-
yy:复制当前行。
-
yw:复制从光标处到单词末尾。
-
p:粘贴到光标后。
-
P:粘贴到光标前。
-
撤销和重做:
-
u:撤销上一次操作。
-
Ctrl + r:重做。
-
查找和替换:
-
/pattern:查找 `pattern`(按 `n` 查找下一个,`N` 查找上一个)。
-
?pattern:反向查找 `pattern`。
-
:%s/old/new/g:全局替换 `old` 为 `new`。
插入模式下的操作
-
进入插入模式:
-
i:在光标前插入。
-
a:在光标后插入。
-
o:在当前行下方插入新行。
-
O:在当前行上方插入新行。
-
退出插入模式:
-
按 Esc 键返回命令模式。
末行模式下的操作
-
保存和退出:
-
:w:保存文件。
-
:q:退出 vi。
-
:wq 或 :x:保存并退出。
-
:q!:强制退出(不保存更改)。
-:shift+两次zz
-
其他操作:
-
:set nu:显示行号。
-
:set nonu:隐藏行号。
-
:n:跳转到第 `n` 行。
-
:e filename:打开另一个文件。
-
:help:查看帮助文档。
- 示例
示例 1:编辑文件
- 打开文件:
bash
vi myfile.txt
-
按 i 进入插入模式,输入文本。
-
按 Esc 返回命令模式。
-
输入 :wq 保存并退出。
示例 2:查找和替换
-
在命令模式下输入 /hello,查找 hello。
-
按 n 查找下一个匹配项。
-
输入 :%s/hello/world/g,将文件中所有的 hello 替换为 world。
示例 3:复制和粘贴
-
将光标移动到某一行,按 yy 复制该行。
-
移动光标到目标位置,按 p 粘贴。
-
vim 的额外功能
-
语法高亮:
-
在 vim 中,默认启用语法高亮。如果没有启用,可以在末行模式下输入 :syntax on。
-
多级撤销:
-
vim 支持多级撤销,按 `u` 可以多次撤销。
-
分屏操作:
-
:split:水平分屏。
-
:vsplit:垂直分屏。
-
Ctrl + w + w:切换分屏。
-
插件支持:
-
vim 支持丰富的插件,可以通过插件管理器(如 Vundle、Pathogen)扩展功能。
- 配置文件
-
vi 的配置文件是 ~/.exrc。
-
vim 的配置文件是 ~/.vimrc。
-
可以在配置文件中设置个性化选项,例如:
vim
set nu " 显示行号
set tabstop=4 " 设置 Tab 为 4 个空格
syntax on " 启用语法高亮
- 常用快捷键总结
快捷键 功能
i 进入插入模式
Esc 返回命令模式
:w 保存文件
:q 退出
:wq 保存并退出
dd 删除当前行
yy 复制当前行
p 粘贴
/pattern 查找 pattern
:%s/old/new/g | 全局替换 old 为 new
通过以上内容,你可以快速上手 vi 和 vim。虽然初学可能有些复杂,但熟练掌握后会极大提高文本编辑效率!