Vi是Linux中的基础文本编辑器,Vim为其增强版,支持语法高亮、多窗口等更多功能;掌握模式切换、光标移动、删除复制、保存退出等常用命令可提升操作效率;通过Ctrl+v进入块选择模式可实现多行同时编辑,如批量添加注释;配置文件~/.vimrc可自定义缩进、显示行号、语法高亮等设置;常见问题包括误操作、模式混淆等,可通过练习和查阅帮助避免。
Vi,也就是Visual Editor,在Linux世界里,它不仅仅是一个文本编辑器,更像是一种生活方式。掌握它,能让你在服务器上如鱼得水。
Vi编辑器常用操作包括:模式切换(命令模式、插入模式、底行模式),光标移动,文本插入、删除、替换,以及保存和退出等。
Vi和Vim有什么区别?
Vi是Linux/Unix系统自带的文本编辑器,而Vim是Vi的增强版,增加了语法高亮、多窗口编辑、更强大的搜索替换等功能。简单来说,Vim就是更现代、更方便的Vi。大部分Linux发行版默认安装的是Vim,即使你输入
vi
命令,启动的也可能是Vim。
常用的Vi命令有哪些?
Vi的命令简直是浩如烟海,但记住一些常用的,就能应付大部分情况:
- 进入插入模式:
i
(在光标前插入)、
a
(在光标后插入)、
o
(在当前行下方插入新行)、
o
(在当前行上方插入新行)
- 光标移动:
h
(左)、
j
(下)、
k
(上)、
l
(右),或者使用方向键。
w
(跳到下一个单词开头)、
b
(跳到上一个单词开头)、
gg
(到文件开头)、
G
(到文件结尾)
- 删除:
x
(删除光标所在字符)、
dd
(删除整行)、
dw
(删除一个单词)
- 复制粘贴:
yy
(复制整行)、
p
(在光标后粘贴)、
p
(在光标前粘贴)
- 撤销重做:
u
(撤销)、
Ctrl + r
(重做)
- 保存退出:
:w
(保存)、
:q
(退出)、
:wq
(保存并退出)、
:q!
(强制退出,不保存)
- 搜索:
/pattern
(搜索pattern),
n
(下一个),
n
(上一个)
- 替换:
:s/old/new/g
(替换当前行所有old为new),
:%s/old/new/g
(替换整个文件所有old为new)
这些命令一开始可能觉得难记,但用多了自然就熟练了。可以创建一个测试文件,反复练习。
如何在Vi中进行块选择?
块选择是Vi的一个高级功能,可以让你同时编辑多行文本。方法如下:
- 进入可视块模式: 按下
Ctrl + v
- 移动光标: 使用
h
,
j
,
k
,
l
或方向键选择要操作的区域。
- 执行操作: 比如
d
(删除选中的块)、
y
(复制选中的块)、
i
(在选中的每一行开头插入)、
a
(在选中的每一行结尾插入)
举个例子,假设你想在多行代码的开头添加注释
//
:
-
Ctrl + v
进入可视块模式
-
j
或
k
移动光标,选择要注释的行
-
i
(大写字母I) 进入插入模式,在每一行开头插入
- 输入
//
- 按
Esc
退出插入模式,Vi会自动将
//
应用到所有选中的行
Vi配置文件的作用是什么?如何修改?
Vi的配置文件(通常是
.vimrc
文件,如果用的是Vim)可以让你自定义编辑器的行为,比如设置缩进、语法高亮、快捷键等。
要修改配置文件:
- 打开终端,输入
vi ~/.vimrc
(如果文件不存在,会自动创建)
- 在文件中添加或修改配置项。比如,设置4个空格缩进:
set tabstop=4
和
set shiftwidth=4
- 保存并退出:
:wq
一些常用的配置项:
-
syntax on
(开启语法高亮)
-
set number
(显示行号)
-
set autoindent
(自动缩进)
-
set smartindent
(智能缩进)
-
set showmatch
(括号匹配)
-
set ruler
(显示标尺)
配置文件的修改会立即生效,或者重启Vi/Vim。
Vi使用过程中常见的坑有哪些?如何避免?
- 误操作导致文件损坏: 在不确定修改是否正确时,不要直接保存退出,可以先用
:w
保存,然后用
:q!
强制退出。
- 忘记切换模式: Vi有命令模式和插入模式,很多新手容易搞混。记住,只有在插入模式下才能输入文本,其他时候都在命令模式。
- 不熟悉命令: 遇到问题时,不要慌张,可以查阅Vi的帮助文档 (
:help
),或者搜索相关资料。
- 过度依赖图形界面: 虽然现在有很多图形化的编辑器,但掌握Vi仍然很有价值,尤其是在服务器上。
Vi的学习曲线可能有点陡峭,但一旦掌握,你就能体会到它的强大和高效。不要害怕,多练习,多查资料,你也能成为Vi高手。