Linux vi/vim 编辑器教程
vi
和 vim
是 Linux 系统中最常用的文本编辑器之一。vim
是 vi
的增强版,提供了更多功能,如语法高亮、代码自动补全等。
1. vi/vim 的基本模式
vi/vim 有三种主要模式:
- 普通模式(Normal Mode):
- 默认模式,用于浏览和操作文本。
- 按
ESC
键可进入普通模式。
- 插入模式(Insert Mode):
- 用于编辑文本。
- 按
i
、a
、o
等进入插入模式,按ESC
返回普通模式。
- 命令模式(Command Mode):
- 用于执行保存、退出、搜索、替换等操作。
- 在普通模式下按
:
进入命令模式。
2. vi/vim 的基本操作
2.1 打开文件
- 打开文件:
vim <文件名>
- 如果文件不存在,将会创建新文件。
2.2 保存和退出
- 保存并退出:
:wq
- 仅保存:
:w
- 仅退出(无修改时):
:q
- 强制退出(放弃修改):
:q!
- 保存并强制退出:
:wq!
2.3 插入模式
- 进入插入模式:
- 在光标前插入:
i
- 在光标后插入:
a
- 在当前行末插入:
A
- 在下一行插入:
o
- 在上一行插入:
O
- 在光标前插入:
2.4 移动光标
- 字符移动:
- 向左:
h
- 向右:
l
- 向上:
k
- 向下:
j
- 向左:
- 单词移动:
- 到下一个单词开头:
w
- 到当前单词末尾:
e
- 到上一个单词开头:
b
- 到下一个单词开头:
- 行内移动:
- 移动到行首:
0
- 移动到行尾:
$
- 移动到行首:
- 跳转到指定行:
- 输入行号后按
G
,如10G
跳到第 10 行。 - 跳到文件开头:
gg
- 跳到文件末尾:
G
- 输入行号后按
3. 文本操作
3.1 删除
- 删除当前字符:
x
- 删除当前行:
dd
- 删除从光标到行末:
D
- 删除指定行数:
n dd
(如删除 3 行:3dd
)
3.2 复制和粘贴
- 复制当前行:
yy
- 复制指定行数:
n yy
(如复制 3 行:3yy
) - 粘贴到光标后:
p
- 粘贴到光标前:
P
3.3 撤销和恢复
- 撤销上一步操作:
u
- 恢复撤销的操作:
Ctrl + r
3.4 替换
- 替换当前字符:
r<新字符>
- 替换当前行:
cc
,进入插入模式后编辑。
4. 搜索和替换
4.1 搜索
- 向下搜索:
/<关键字>
,按n
查找下一个,N
查找上一个。 - 向上搜索:
?<关键字>
,按n
查找上一个,N
查找下一个。
4.2 替换
- 替换当前行的第一个匹配项:
:s/旧字符串/新字符串/
- 替换当前行的所有匹配项:
:s/旧字符串/新字符串/g
- 替换整个文件的所有匹配项:
:%s/旧字符串/新字符串/g
- 替换时确认每个替换:
:%s/旧字符串/新字符串/gc
5. 多文件编辑
5.1 打开多个文件
- 同时打开多个文件:
vim file1 file2 file3
- 在文件间切换:
- 下一个文件:
:n
- 上一个文件:
:prev
- 查看所有打开的文件:
:ls
- 切换到指定文件:
:buffer <编号>
- 下一个文件:
5.2 分屏编辑
- 垂直分屏:
:vsplit <文件名>
- 水平分屏:
:split <文件名>
- 切换屏幕:
- 向下切换:
Ctrl + w + j
- 向上切换:
Ctrl + w + k
- 向左切换:
Ctrl + w + h
- 向右切换:
Ctrl + w + l
- 向下切换:
6. 配置 vim
6.1 配置文件
- 全局配置文件:
/etc/vimrc
- 用户配置文件:
~/.vimrc
6.2 常用配置
在 ~/.vimrc
中添加以下内容:
" 显示行号
set number
" 开启语法高亮
syntax on
" 设置缩进
set tabstop=4
set shiftwidth=4
set expandtab
" 搜索时忽略大小写
set ignorecase
" 搜索时高亮匹配
set hlsearch
" 实时显示匹配结果
set incsearch
6.3 安装插件
- 安装插件管理器(如
vim-plug
):curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
- 在
~/.vimrc
中添加插件列表:call plug#begin('~/.vim/plugged') Plug 'preservim/nerdtree' " 文件树 Plug 'vim-airline/vim-airline' " 状态栏 call plug#end()
- 安装插件: 在 vim 中输入:
:PlugInstall
7. 常用快捷键总结
功能 | 快捷键 |
---|---|
进入插入模式 | i ,a ,o |
保存文件 | :w |
退出 vim | :q |
强制退出 | :q! |
删除当前行 | dd |
复制当前行 | yy |
粘贴 | p |
撤销操作 | u |
搜索 | /关键字 |
替换 | :s/旧/新/g |
显示行号 | :set number |
关闭行号显示 | :set nonumber |
8. 示例操作
- 编辑文件:
vim example.txt
输入i
进入插入模式,编辑内容后按ESC
,输入:wq
保存并退出。 - 查找并替换: 在文件中查找
hello
并替换为world
::%s/hello/world/g
- 分屏编辑: 打开两个文件进行分屏编辑:
vim -O file1 file2
- 配置行号和语法高亮: 在 vim 中输入:
:set number :syntax on
总结
vi
/vim
是功能强大的文本编辑器,适合处理代码和配置文件。掌握基本操作后,可以通过插件和配置进一步增强其功能,满足不同需求。如需更详细的说明或具体操作指导,请随时告诉我!
发表回复