mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
1878 字
5 分钟
Ubuntu Vim指南

Ubuntu Vim 完全指南:从入门到精通#

Vim 是“Vi IMproved”的缩写,是 Unix/Linux 系统中最强大、最经典的文本编辑器之一。它以其模态编辑、键盘驱动和高度可扩展性著称,一旦掌握,能极大提高文本处理效率。无论你是开发者、系统管理员还是普通用户,学习 Vim 都是一项值得投资的高回报技能。

本文将带你从零开始,全面了解 Vim 在 Ubuntu 下的安装、使用、配置和高级技巧。

1. 安装 Vim#

在 Ubuntu 上,Vim 通常默认已安装(以 vi 形式)。但建议安装完整版以获得更多特性:

sudo apt update
sudo apt install vim
验证安装:
```bash
vim --version

如果看到 +clipboard+python3 等特性,表示功能齐全。

2. Vim 的四种模式#

Vim 最独特的地方在于它的模式设计。新手最常犯的错误就是不知道当前处于哪种模式。

模式说明如何进入
普通模式(Normal)默认模式,用于移动光标、复制、粘贴、删除等命令操作Esc 从任何模式返回
插入模式(Insert)输入文本的模式iao 等进入
可视模式(Visual)选中文本块,用于批量操作v(字符可视)、V(行可视)、Ctrl+v(块可视)
命令模式(Command-line)执行保存、退出、查找替换等命令在普通模式下按 : 进入

提示:不确定当前模式时,多按几次 Esc 可安全返回普通模式。

3. 基本操作#

3.1 启动与退出#

  • 启动 Vim:vim filename(若文件不存在,保存时创建)
  • 退出 Vim:在命令模式下输入 :q(未修改时退出)或 :q!(强制退出,不保存)
  • 保存并退出::wqZZ(普通模式下按 Shift+zz
  • 仅保存::w

3.2 移动光标(普通模式)#

按键作用
h / j / k / l左 / 下 / 上 / 右
w / b下一个单词开头 / 上一个单词开头
e / ge下一个单词结尾 / 上一个单词结尾
0 / ^ / $行首 / 行首非空白 / 行尾
gg / G文件首行 / 文件尾行
Ctrl+f / Ctrl+b向下翻页 / 向上翻页
H / M / L光标移到屏幕顶部 / 中部 / 底部

3.3 编辑文本(普通模式)#

按键作用
i / a光标前插入 / 光标后插入
I / A行首插入 / 行尾插入
o / O下一行插入 / 上一行插入
x / X删除光标下字符 / 删除光标前字符
dd删除整行
yy复制整行
p / P粘贴到光标后 / 光标前
u撤销
Ctrl+r重做
.重复上一次操作

3.4 可视模式操作#

  • 进入可视模式后,移动光标选择区域,然后按 d(删除)、y(复制)、>(缩进)、<(反缩进)等操作。
  • 行可视(V)和块可视(Ctrl+v)尤其适合批量处理。

4. 查找与替换#

4.1 查找#

  • 向前查找:/pattern
  • 向后查找:?pattern
  • 下一个匹配:n
  • 上一个匹配:N

4.2 替换#

命令模式下的替换语法:

:[range]s/old/new/[flags]
  • range:替换范围,例如 % 表示整个文件,1,10 表示第1到10行
  • flagsg 全局替换(行内所有匹配),c 确认替换,i 忽略大小写

常用示例:

  • 替换当前行第一个 oldnew:s/old/new/
  • 替换当前行所有 oldnew:s/old/new/g
  • 替换整个文件所有 oldnew:%s/old/new/g
  • 替换时询问确认::%s/old/new/gc

5. 多文件与多窗口#

5.1 分割窗口#

  • 水平分割::spCtrl+w s
  • 垂直分割::vspCtrl+w v
  • 切换窗口:Ctrl+w wCtrl+w 方向键
  • 关闭当前窗口::qCtrl+w q

5.2 标签页#

  • 新建标签页::tabnew filename
  • 切换标签页:gt / gT:tabn / :tabp

5.3 缓冲区(Buffer)#

Vim 打开的文件都在缓冲区中,可以同时编辑多个文件而不关闭窗口。

  • 查看缓冲区列表::ls
  • 切换到指定缓冲区::b 编号:b 文件名部分
  • 删除缓冲区::bd

6. Vim 配置文件#

Vim 的配置存储在 ~/.vimrc(用户级)或 /etc/vim/vimrc(全局)。每次启动 Vim 都会读取该文件。

下面是一个基础配置文件示例:

" 启用语法高亮
syntax on
" 显示行号
set number
" 相对行号(方便移动)
set relativenumber
" 自动缩进
set autoindent
set smartindent
" 使用空格代替制表符,并设置缩进宽度
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
" 搜索时忽略大小写,且高亮匹配
set ignorecase
set smartcase
set hlsearch
set incsearch
" 显示状态栏
set laststatus=2
" 启用鼠标支持
set mouse=a
" 设置编码
set encoding=utf-8
" 备份设置
set backup
set backupdir=~/.vim/backup
set directory=~/.vim/swap
set undodir=~/.vim/undo

保存后,需要创建相应的备份目录,例如:

mkdir -p ~/.vim/{backup,swap,undo}

7. 插件管理#

Vim 插件极大地扩展了其功能。常用的插件管理器有 vim-plugVundle 等。这里推荐 vim-plug。

7.1 安装 vim-plug#

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

7.2 在 .vimrc 中配置插件#

在配置文件中加入:

call plug#begin('~/.vim/plugged')
" 示例插件
Plug 'preservim/nerdtree' " 文件树
Plug 'vim-airline/vim-airline' " 美化状态栏
Plug 'tpope/vim-fugitive' " Git 集成
Plug 'ycm-core/YouCompleteMe' " 代码补全(需编译)
Plug 'scrooloose/nerdcommenter' " 快速注释
call plug#end()

保存后,在 Vim 中运行 :PlugInstall 安装插件。

7.3 常用插件推荐#

  • NERDTree:文件浏览器,快捷键 :NERDTreeToggle
  • vim-airline:轻量级状态栏,增强信息显示
  • fzf.vim:模糊搜索,快速打开文件
  • coc.nvim:代码补全与 LSP 客户端(需要 Node.js)
  • vim-fugitive:Git 操作,:Gstatus:Gblame

8. 高级技巧#

8.1 宏录制#

宏可以记录一系列操作并重复执行。

  • 录制:q + 寄存器名(如 a),然后执行操作,再按 q 结束。
  • 执行:@a(一次)或 @@(重复上次宏),也可 100@a 执行100次。

8.2 快速跳转#

  • 使用标记(mark):m + 字母 设置标记,`a 跳转到标记位置。
  • 使用 Ctrl+oCtrl+i 在跳转历史中后退/前进。

8.3 批量操作#

  • 使用 :normal 在选定行上批量执行普通模式命令。例如,在可视模式选中多行后,输入 :normal I// 可在每行开头插入 //
  • 使用 :global 对匹配模式的行执行命令。例如,:g/^#/d 删除所有以 # 开头的行。

8.4 使用 Vim 的 help#

Vim 自带非常详细的帮助文档:

  • 查看帮助::help
  • 查看特定主题::help topic,如 :help motion
  • 在帮助窗口中,可用 Ctrl+] 跳转链接,Ctrl+o 返回

9. Vim 与终端#

9.1 从 Vim 中运行外部命令#

  • 临时执行外部命令::!command,例如 :!ls
  • 将命令输出插入当前缓冲区::r !command
  • 将缓冲区内容作为命令输入::[range]w !command

9.2 在 Vim 中打开终端#

Vim 8.0 以上版本内置了终端功能:

  • 打开终端窗口::terminal:term
  • 在终端中按 Ctrl+w N 退出终端模式返回普通模式,按 i 重新进入。

10. 常见问题与解决#

问题解决方法
无法使用系统剪贴板检查 Vim 版本是否支持 +clipboard,若未支持可安装 vim-gtk3 替代
中文显示乱码.vimrc 中添加 set fileencodings=utf-8,ucs-bom,gbk,gb2312
插件安装失败确保网络正常,或使用代理;若使用 vim-plug,可执行 :PlugUpdate
按键无响应检查是否处于其他模式,按 Esc 返回普通模式
无法退出 Vim新手常见,按 Esc 后输入 :q! 强制退出

11. 结语#

Vim 的学习曲线起初可能有些陡峭,但它的高效与强大是值得投入的。本文从安装、模式、基本操作到高级配置和插件管理,为你提供了一条完整的学习路径。建议在日常工作中逐步练习,将常用命令内化成肌肉记忆,你会发现 Vim 成为你最得力的伙伴。

进一步学习资源:

  • Vim 官方文档::help
  • Vim 用户手册(中文):vimtutor 命令启动交互式教程
  • 在线社区:Reddit 的 r/vim、Stack Overflow 的 vim 标签

愿你在 Vim 的世界里游刃有余,享受编辑的乐趣!

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Ubuntu Vim指南
http://blog.mcstarland.top/posts/vim/
作者
MEMZGBL
发布于
2026-03-22
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00