vim学习指南
1. 为什么使用 VIM?
- 服务器没有桌面环境
- VIM 启动快,很适合简单编辑文本。
2. 学习方法
2.1 视频学习
通过视频学习直观清晰,能直接看到操作带来的效果。
2.2 vimtutor 练习(推荐)
vimtutor 是 VIM 自带的教学工具,使用命令 vimtutor 启动教程,通过实操逐一完成教学章节。

2.3 在线练习
👉 OpenVim 👈 在线练习 VIM 。不太推荐。

3.基础操作总结
启动 VIM
vim filename:打开或创建一个文件。vim:不指定文件名,进入 VIM 的空编辑环境。
模式切换
- 正常模式(Normal Mode):默认模式,按
Esc键进入。 - 插入模式(Insert Mode):
i:在光标前插入。a:在光标后插入。o:在当前行下方插入新行。
- 命令模式(Command Mode):按
:进入。 - 可视模式(Visual Mode):按
v进入字符可视模式,V进入行可视模式,Ctrl + v进入块可视模式。
移动光标
h, j, k, l:分别向左、下、上、右移动光标。w:跳到下一个单词开头。b:跳到上一个单词开头。$:移动到行尾,0:移动到行首。
编辑文本
- 删除:
x删除字符,dd删除行,dw删除单词。 - 复制和粘贴:
yy复制行,p在光标下方粘贴。 - 撤销与重做:
u撤销,Ctrl + r重做。
搜索与替换
/pattern:搜索模式,向下查找。:%s/old/new/g:全局替换文本。
文件操作
:w:保存文件。:q:退出 VIM。:wq或ZZ:保存并退出。
配置与定制
- 编辑
~/.vimrc文件,启用行号显示(set number)、语法高亮等功能。
4. VIM 配置清单
创建 ~/.vimrc ,根据需求添加配置项:
vim
" 设置VIM基本配置
set nocompatible " 关闭兼容模式
filetype plugin indent on " 启用文件类型检测,加载相应的插件和缩进规则
syntax on " 启用语法高亮
" 显示相关设置
set number " 显示行号
set ruler " 显示光标位置
set showcmd " 显示命令
set showmode " 显示当前模式
set laststatus=2 " 总是显示状态栏
set wildmenu " 启用命令行补全菜单
" 编辑相关设置
set autoindent " 自动缩进
set smartindent " 智能缩进
set tabstop=4 " 设置Tab键宽度
set shiftwidth=4 " 设置 自动缩进宽度
set expandtab " 使用空格代替Tab
set backspace=indent,eol,start " 允许在插入模式下使用退格键删除
" 搜索相关设置
set incsearch " 增量搜索
set hlsearch " 高亮搜索结果
set ignorecase " 搜索时忽略大小写
set smartcase " 如果搜索模式包含大写字母,则不忽略大小写
" 文件编码设置
set encoding=utf-8 " 设置VIM内部使用的编码
set fileencodings=ucs-bom,utf-8,gb18030,gbk,gb2312,cp936 " 文件编码自动识别
" 性能和安全设置
set nobackup " 不创建备份文件
set nowritebackup " 不创建写时备份
set noswapfile " 不使用交换文件
set undofile " 启用持久化撤销
set undodir=~/.vim/undodir " 设置撤销文件保存目录
" 其他设置
set mouse=a " 启用鼠标支持
set clipboard=unnamedplus " 使用系统剪贴板
set autoread " 自动重载外部修改的文件
set hidden " 允许在有未保存的更改时切换缓冲区
set history=1000 " 命令历史记录的最大条数
" 插件管理器:Vundle
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim' " 必须安装Vundle本身
Plugin 'tpope/vim-fugitive' " Git 插件
Plugin 'scrooloose/nerdtree' " 文件浏览器
Plugin 'vim-airline/vim-airline' " 状态栏增强
Plugin 'vim-airline/vim-airline-themes'
Plugin 'altercation/vim-colors-solarized' " Solarized配色方案
Plugin 'Yggdroot/indentLine' " 显示缩进线
Plugin 'ctrlpvim/ctrlp.vim' " 文件查找
call vundle#end()
" 插件配置
let g:airline_theme='solarized'
let g:airline_powerline_fonts = 1
let g:indentLine_char = '│'
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
" 主题设置
set background=dark
colorscheme solarized
" 自定义映射
nnoremap <C-n> :NERDTreeToggle<CR> " 打开/关闭文件浏览器
nnoremap <C-p> :CtrlP<CR> " 打开文件查找
" 自动命令
autocmd FileType python setlocal expandtab shiftwidth=4 softtabstop=4
autocmd FileType javascript setlocal expandtab shiftwidth=2 softtabstop=2
" 函数和命令
function! TrimWhiteSpace()
%s/\s\+$//e
endfunction
command! TrimWhiteSpace call TrimWhiteSpace()
" 自动保存
autocmd CursorHold,CursorHoldI * update
" 注释快捷键
autocmd FileType python nnoremap <buffer> <leader>c I#<esc>
autocmd FileType javascript nnoremap <buffer> <leader>c I//<esc>
说明:
-
Vundle:这里使用了 Vundle 作为插件管理器,你需要先安装 Vundle,然后运行
:PluginInstall来安装列出的插件。bash安装git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim -
插件:列出了一些常用的插件,如 NERDTree(文件浏览器)、vim-airline(状态栏增强)、CtrlP(文件查找)等。
-
主题:使用了 Solarized 主题,设置为暗色背景。
-
自定义映射:定义了一些快捷键,如使用
<C-n>来打开/关闭文件浏览器。 -
自动命令:根据文件类型自动设置缩进宽度等。
-
函数和命令:定义了一个函数和一个命令来清除行尾空白。
-
自动保存:当光标停止移动时自动保存文件。
5. 获取帮助
进入 VIM 查看指定指令的帮助,例如:
:help copy:查看复制命令的帮助。:help :q:查看退出命令的帮助。


4.2 官方文档与资源
- VIM 官网:获取官方文档与最新版本。
希望这篇学习指南能帮助你迈出第一步,轻松上手 VIM!赶紧试一试吧!✨
别忘了收藏 在线知识库( www.zxzsk.com )哦!😊