目录
3. 底行模式(Ex Mode 或 Last Line Mode)
Vi 和 Vim 是 Linux 系统中最常用的文本编辑器之一。Vi(Visual Editor)是 Unix 系统上的经典编辑器,而 Vim(Vi IMproved)是 Vi 的增强版本,提供了更多的功能和改进。无论是 Vi 还是 Vim,都因其强大的文本编辑能力和高效的操作方式而深受系统管理员和开发人员的喜爱。
Vi/Vim 的基本模式
Vi 和 Vim 有三种基本模式:命令模式(Command mode)、插入模式(Insert mode)和底行模式(Last line mode)。
1. 命令模式(Normal Mode)
这是 Vi/Vim 的默认模式。在这个模式下,你可以使用各种命令来编辑文本,如移动光标、删除文本、复制文本等。
2. 插入模式(Insert Mode)
在这个模式下,你可以像在普通的文本编辑器中一样输入文本。要进入插入模式,可以从命令模式下使用 i
、a
、o
等命令。
3. 底行模式(Ex Mode 或 Last Line Mode)
在这个模式下,可以输入一些特殊的命令来执行更复杂的操作,如保存文件、查找替换文本等。要进入底行模式,可以从命令模式下使用 :
键。
Vi/Vim 的基本操作
1. 进入 Vi/Vim 编辑器
打开一个文件进行编辑:
bash
深色版本
1vi filename
2vim filename
如果文件不存在,Vi/Vim 会创建一个新的文件。
2. 进入插入模式
i
:在光标当前位置前插入文本。a
:在光标当前位置后插入文本。o
:在当前行下方新开一行插入文本。O
:在当前行上方新开一行插入文本。
3. 在命令模式下移动光标
h
:向左移动一个字符。j
:向下移动一行。k
:向上移动一行。l
:向右移动一个字符。0
:移动到行首。$
:移动到行尾。^
:移动到当前行的第一个非空白字符处。gg
:移动到文件的第一行。G
或Shift + G
:移动到文件的最后一行。Ctrl + f
:向下翻一页。Ctrl + b
:向上翻一页。Ctrl + d
:向下翻半页。Ctrl + u
:向上翻半页。- 数字 +
j
或k
:向下或向上移动指定行数。
4. 文本编辑操作
x
:删除光标所在字符。X
:删除光标前面的字符。dd
:删除当前行。yy
:复制当前行。p
:粘贴剪贴板中的内容。u
:撤销上一次操作。Ctrl + r
:重做上一次撤销的操作。
5. 进入底行模式
:
:进入底行模式。
6. 底行模式命令
:w
:保存文件。:q
:退出 Vi/Vim。:wq
或:x
:保存并退出。:q!
:不保存直接退出。:e filename
:编辑另一个文件。:set nu
:显示行号。:set nonu
:取消显示行号。:set number
:同:set nu
。:set nonumber
:同:set nonu
。:/pattern
:搜索包含pattern
的行。:n
:重复上次搜索。:N
:反向重复上次搜索。:s/pattern/replacement/flags
:替换当前行中第一个pattern
为replacement
。:%s/pattern/replacement/flags
:替换文件中所有pattern
为replacement
。:help
:显示 Vim 的帮助文档。
Vi/Vim 的高级特性
1. 分割窗口
:sp filename
或:split filename
:水平分割窗口,并在新窗口中打开filename
。:vsp filename
或:vsplit filename
:垂直分割窗口,并在新窗口中打开filename
。Ctrl + w + w
:切换窗口。Ctrl + w + h
:移动到左侧窗口。Ctrl + w + l
:移动到右侧窗口。Ctrl + w + k
:移动到上方窗口。Ctrl + w + j
:移动到下方窗口。Ctrl + w + q
:关闭当前窗口。Ctrl + w + o
:只保留当前窗口。
2. 书签
mk
:标记当前行。\'
:跳转到标记的位置。:marks
:显示所有标记的位置。
3. 插件和脚本
Vim 支持插件和脚本,可以极大地扩展其功能。通过 .vimrc
文件可以配置 Vim 的行为,如语法高亮、自动补全等。
Vi/Vim 的安装
如果你的 Linux 系统中还没有 Vim,可以使用包管理器进行安装:
-
Ubuntu/Debian:
深色版本
1sudo apt update 2sudo apt install vim
-
CentOS/Fedora:
深色版本
1sudo yum install vim-enhanced
总结
Vi 和 Vim 是 Linux 系统中非常强大的文本编辑器,熟练掌握它们的基本操作和常用命令对于系统管理和编程都是非常有益的。通过上面的介绍,你应该能够开始使用 Vi/Vim 来编辑文本文件,并逐步探索更多高级功能。随着实践的深入,你会逐渐发现 Vim 的强大之处,并能够利用它来提高工作效率。