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