vi 和 vim 基本使用方法
vi
(Visual Editor)和vim
(Vi IMproved) 都是基于模式的文本编辑器,这意味着你在编辑文本时需要在不同的模式之间切换。以下是 vi
和 vim
的一些基本使用方法,主要集中在命令模式、插入模式和末行模式上。
vi 和 vim 的区别
vi
(Visual Editor)和vim
(Vi IMproved)都是文本编辑器,用于在 UNIX 和类 UNIX 系统中编辑文本文件。它们有许多共同点,但也有一些关键的区别:
功能性:
- vi:是最初 UNIX 系统上的标准文本编辑器,功能较为基本。
- vim:是在 vi 的基础上增强的版本,包含了很多额外的功能,比如代码补全、语法高亮、可撤销/重做、多窗口、多标签等。
可定制性:
- vi:定制性较弱,只提供基本的文本编辑功能。
- vim:支持广泛的定制,包括宏、插件、综合的脚本语言等。
用户界面:
- vi:通常只有一种工作模式,界面简洁。
- vim:可以通过各种插件和设置调整界面,提供了更多的视觉辅助功能,如代码折叠、颜色方案等。
兼容性和可用性:
- vi:几乎在所有 UNIX 和 Linux 系统上都是预装的,确保即使在最基础的系统安装中也能使用。
- vim:虽然现在也很普遍,但在某些基础系统中可能需要单独安装。
命令和使用方法:
- 在基本的文本编辑命令上,vim 完全兼容 vi。但是,vim 添加了很多扩展命令和快捷方式,使得编辑工作更加高效。
简而言之,vim 提供了比 vi 更强大、更灵活的功能,是一个更现代化的版本。对于需要高级文本编辑功能的用户来说,vim 是更好的选择。对于习惯使用基本功能的用户或在非常受限的环境中工作的用户,vi 可能是更合适的选择。
进入和退出编辑器
打开文件
:在命令行中,输入 vi filename 或 vim filename 来打开文件。退出编辑器
::q
—— 退出编辑器(如果没有做修改)。:q!
—— 强制退出(不保存修改)。:wq
或:x
—— 保存文件并退出。ZZ
—— 如果文件被修改过,保存并退出。
命令模式
当你启动 vi
或 vim
时,默认处于命令模式。在命令模式下,你可以执行各种命令来移动光标、删除文本、复制粘贴等,但不能直接编辑文本。
- 移动光标:
h
:向左移动光标。j
:向下移动光标。k
:向上移动光标。l
:向右移动光标。w
:移动到下一个单词的开头。e
:移动到当前或下一个单词的末尾。b
:移动到上一个单词的开头。0
(零):移动到当前行的开头。^
:移动到当前行的第一个非空白字符。$
:移动到当前行的末尾。G
:移动到文件的最后一行。gg
:移动到文件的第一行。
- 编辑命令:
x
:删除当前光标位置的字符。dd
:删除当前行。dw
:删除从当前光标到下一个单词的开头。d$
:删除从当前光标到行末。yy
:复制当前行。p
:在光标之后粘贴。P
:在光标之前粘贴。u
:撤销最后一次更改。Ctrl + r
:重做最后一次撤销。
- 搜索和替换:
/word
:从当前光标位置向下搜索word
。?word
:从当前光标位置向上搜索word
。n
:重复上一次搜索。N
:反向重复上一次搜索。:%s/old/new/g
:在全文中替换old
为new
。
插入模式
在命令模式下,按 i
键可以进入插入模式,此时你可以开始输入文本。
i
:在光标位置之前开始插入文本。a
:在光标位置之后开始插入文本。o
:在当前行的下一行开始插入新行。O
:在当前行的上一行开始插入新行。Esc
:退出插入模式回到命令模式。
末行模式
在命令模式下,按 :
键可以进入末行模式,此时你可以输入命令来保存文件、退出编辑器、执行搜索和替换等。
:w
:保存文件。:q
:退出编辑器。:wq
或:x
:保存并退出编辑器。:q!
:强制退出编辑器,不保存更改。:set number
:显示行号。:set nonumber
:隐藏行号。:help
:显示帮助文档。
这些是 vi
和 vim
的基本使用方法。vim
还有很多高级功能,如多文件编辑、宏录制、插件支持等,但这些基本命令足以让你开始使用这两个编辑器。