Vim(Vi IMproved)是Linux和Unix系统上功能强大的文本编辑器,被广泛用于代码编辑和系统管理。以下是Vim最全面的教程,涵盖从基础到高级使用技巧。
一、Vim的基本概念
-
模式:
- 普通模式(Normal mode):默认模式,用于浏览和操作文本。
- 插入模式(Insert mode):用于插入文本。
- 命令模式(Command mode):用于执行保存、退出等命令。
- 可视模式(Visual mode):用于选择文本块。
- 选择模式(Select mode):类似于Visual mode,但选择的文本会立即被替换。
-
启动与退出:
- 启动:在终端输入
vim filename
(如果文件不存在会新建文件)。 - 退出:在普通模式下,输入
:q
退出,:q!
强制退出不保存,:wq
保存并退出。
- 启动:在终端输入
二、基本操作
-
移动光标:
h
:左移一个字符j
:下移一行k
:上移一行l
:右移一个字符
-
进入插入模式:
i
:在光标前插入I
:在行首插入a
:在光标后插入A
:在行尾插入o
:在当前行下方插入新行O
:在当前行上方插入新行
-
删除操作:
x
:删除当前字符dw
:删除一个单词dd
:删除当前行d$
:删除从光标到行尾的内容
-
撤销和重做:
u
:撤销Ctrl + r
:重做
三、文本操作
-
复制和粘贴:
yy
:复制当前行yw
:复制一个单词y$
:复制从光标到行尾的内容p
:在光标后粘贴P
:在光标前粘贴
-
替换:
r
:替换当前字符R
:进入替换模式,可以连续替换字符
-
查找和替换:
/pattern
:向前查找pattern?pattern
:向后查找pattern:s/old/new/g
:替换当前行的old为new:%s/old/new/g
:替换全文的old为new
四、可视模式
-
进入可视模式:
v
:字符可视模式V
:行可视模式Ctrl + v
:块可视模式
-
操作可视区域:
y
:复制d
:删除c
:替换
五、高级技巧
-
多文件编辑:
:e filename
:编辑另一个文件:bn
/:bp
:在文件间切换
-
宏录制与播放:
q + letter
:开始录制宏q
:结束录制@letter
:播放宏
-
分屏和窗口:
:split
或:sp
:水平分屏:vsplit
或:vsp
:垂直分屏Ctrl + w
+方向键
:在窗口间移动
-
标签页:
:tabnew filename
:打开新标签页:tabn
/:tabp
:切换标签页
六、自定义与插件
-
配置文件:编辑
~/.vimrc
进行自定义配置,如设置行号、语法高亮等。set number " 显示行号 syntax on " 语法高亮 set tabstop=4 " Tab宽度 set expandtab " 用空格替换Tab
-
插件管理:使用插件管理工具如Vundle、Pathogen或vim-plug来安装插件。
- Vundle示例:
set nocompatible filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'VundleVim/Vundle.vim' Plugin 'scrooloose/nerdtree' call vundle#end() filetype plugin indent on
- Vundle示例:
通过上述教程,你可以逐步掌握Vim的使用技巧,从而提高工作效率。如果遇到问题,可以查阅Vim的帮助文档(输入:help
)或在线资源。