Linux Vim 最全面教程:从入门到精通
一、引言
Vim 是一款功能强大且在 Linux 系统中广泛使用的文本编辑器。它有着高效的编辑模式、丰富的快捷键以及众多强大的功能,对于想要深入学习 Linux 系统操作以及进行文本处理相关工作的新手来说,掌握 Vim 是很有必要的。不过一开始接触 Vim 可能会觉得有些复杂,不用担心,在这篇教程中,将从最基础的部分开始,逐步带大家从入门走向精通。
二、Vim 的安装
(一)在常见 Linux 发行版中安装
- Ubuntu 系统
在终端中输入以下命令:
sudo apt-get update
sudo apt-get install vim
先更新软件源,然后通过 apt-get
命令来安装 Vim。安装完成后,可以通过输入 vim --version
来查看 Vim 的版本信息,验证是否安装成功。
- CentOS 系统
使用如下命令安装:
sudo yum install vim
同样可以后续用 vim --version
查看版本情况。
(二)验证安装成功
打开终端,输入 vim
命令,如果能进入 Vim 的界面(初始界面是一个空白的编辑区域,底部有一些提示信息),那就说明安装成功了,可以开始使用啦。
三、Vim 的基本模式
Vim 有多种工作模式,理解这些模式是熟练使用 Vim 的关键。
(一)普通模式(Normal Mode)
这是 Vim 启动后的默认模式。在这个模式下,你不能直接输入文本内容,但可以使用各种快捷键来移动光标、删除文字、复制粘贴内容等操作。例如:
- 移动光标:
h
:光标向左移动一个字符。j
:光标向下移动一行。k
:光标向上移动一行。l
:光标向右移动一个字符。- 你还可以使用
Ctrl + f
向下翻页,Ctrl + b
向上翻页等操作来快速浏览文本内容。
- 删除操作:
x
:删除光标所在位置的字符。dd
:删除光标所在的整行内容。dw
:删除从光标位置开始到单词末尾的字符。
(二)插入模式(Insert Mode)
在普通模式下,按下 i
(在光标当前位置插入)、a
(在光标后一个位置插入)、o
(在光标所在行的下一行插入新行并进入插入模式)等键,就可以进入插入模式,此时就可以像在普通文本编辑器中一样输入文字内容了。输入完成后,按下 Esc
键就能回到普通模式。
(三)命令行模式(Command-Line Mode)
在普通模式下,按下 :
键就进入了命令行模式。这个模式下可以执行一些命令,比如保存文件、退出 Vim 等。
- 保存文件:输入
:w
然后回车,就能保存当前编辑的文件。如果是新文件,需要指定文件名来保存,例如:w myfile.txt
就是把内容保存到名为myfile.txt
的文件中。 - 退出 Vim:
:q
:如果文件没有修改,直接退出 Vim。:q!
:强制退出 Vim,即使文件有修改且没有保存也会退出(这种情况修改的内容会丢失哦,要慎用)。:wq
:先保存文件,然后退出 Vim,相当于:w
和:q
的组合操作。
四、文本编辑基础操作
(一)复制、粘贴与剪切
- 复制:
在普通模式下,使用yy
可以复制光标所在的整行内容。如果要复制多行,可以在yy
前面加上数字,比如3yy
就是复制从光标所在行开始的 3 行内容。 - 粘贴:
按下p
键,会将复制的内容粘贴到光标所在位置的下一行;如果按下P
(大写的 P),则会粘贴到光标所在位置的上一行。 - 剪切:
其实就是先复制然后删除,例如dd
操作删除了行,同时也相当于剪切了这行内容,后续可以用p
等键粘贴到其他地方。
(二)查找与替换
- 查找:
在普通模式下,按下/
键,然后输入要查找的字符串,再按回车键,Vim 就会从光标位置开始向下查找该字符串。如果想继续查找下一个匹配项,可以按下n
键;如果想查找上一个匹配项,按N
键。 - 替换:
使用命令:s/旧字符串/新字符串/g
可以在当前行替换所有的旧字符串为新字符串。如果要在整个文件范围内替换,可以使用:%s/旧字符串/新字符串/g
。例如:%s/hello/world/g
就是把文件中所有的hello
都替换成world
。不过进行这种全局替换操作时要小心确认哦,以免替换错了重要内容。
(三)文本块操作
- 选择文本块:
在普通模式下,按下v
键进入可视模式,然后通过移动光标可以选择一块文本区域,选好后可以进行复制(y
键)、删除(d
键)等操作,和普通的复制、删除操作类似,只是针对选好的文本块来执行。 - 列编辑模式(块选择模式):
按下Ctrl + v
进入列编辑模式,此时可以通过移动光标来选择多列文本,比如对于一些表格样式的文本,想同时在每一行的相同列位置进行修改、删除等操作,就可以用这个模式很方便地实现。例如想在每一行开头添加相同的字符,选好列后输入I
(大写的 I,在所选列的开头插入),输入要添加的字符,然后按Esc
键,就会在每一行所选列位置添加好相应字符了。
五、Vim 的配置文件
(一)配置文件的位置
Vim 的配置文件通常是 ~/.vimrc
(在用户的主目录下)。可以通过编辑这个文件来定制自己的 Vim 环境,比如设置语法高亮、显示行号等功能。
(二)常用配置示例
- 显示行号:
打开~/.vimrc
文件(如果没有可以新建一个),在文件中添加如下一行内容:
set number
保存文件后,下次打开 Vim 编辑文件时,就会看到每一行前面都显示行号了,这对于定位代码等文本内容很有帮助。
- 语法高亮:
添加以下配置语句:
syntax on
开启语法高亮后,Vim 在编辑代码等具有特定语法结构的文本时,会根据不同的语法元素用不同的颜色显示,让文本内容更清晰易读。
- 设置缩进:
比如设置每次按Tab
键缩进的空格数,可以这样配置:
set tabstop=4
set shiftwidth=4
这里表示 Tab
键缩进相当于 4 个空格,并且在自动缩进等操作时也是按照 4 个空格的标准来进行的。
六、高级功能
(一)多文件编辑
- 同时打开多个文件:
在终端输入vim file1.txt file2.txt
等命令,就能同时打开多个文件,此时 Vim 界面会显示多个文件的标签页(如果没有显示标签页,可以通过配置set tabline
来显示)。 - 在文件之间切换:
使用:n
命令可以切换到下一个文件,:N
命令可以切换到上一个文件。也可以通过:e filename
命令打开指定的其他文件进行编辑。
(二)使用插件扩展功能
- 插件管理器的安装:
常见的插件管理器有 Vundle 和 Pathogen 等。以 Vundle 为例,先安装它,在终端中执行以下步骤:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
然后在 ~/.vimrc
文件中添加相关的配置来启用 Vundle,比如:
set nocompatible " be iocompatible with vi
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call Vundle#begin()
" let Vundle manage Vim-scripts (aka plugins)
Plugin 'VundleVim/Vundle.vim'
" All of your Plugins must be added before the following line
call Vundle#end() " required
filetype plugin indent on " required
- 安装具体插件:
比如想要安装一个能自动补全代码的插件,在~/.vimrc
文件的call Vundle#begin()
和call Vundle#end()
之间添加插件对应的配置行,像Plugin 'Valloric/YouCompleteMe'
(这里只是举例,YouCompleteMe 插件安装还有其他依赖和配置步骤,需要进一步按照其官方文档操作),然后在 Vim 中执行:PluginInstall
命令就可以安装插件了。
(三)宏的使用
宏可以记录一系列操作,然后重复执行这些操作,很适合对重复的文本编辑任务进行批量处理。
- 录制宏:
在普通模式下,按下q
键,然后再按一个字母(比如a
)来指定宏的名字,此时就开始录制操作了。比如你进行了复制、粘贴、修改一些文字等操作,完成后再次按下q
键结束录制。 - 执行宏:
在需要重复执行刚才录制操作的地方,按下@a
(如果宏名字是a
的话),就可以重复执行录制的那一系列操作了。你还可以指定重复执行的次数,比如10@a
就是重复执行 10 次。
七、总结
通过以上从基础安装、模式讲解、文本编辑操作到配置文件以及高级功能等方面的介绍,相信大家对 Vim 这款强大的文本编辑器已经有了比较全面的认识。虽然一开始接触 Vim 可能感觉有些复杂,但是只要多多练习,熟练掌握各个模式和操作快捷键,你就能感受到它在文本编辑效率上带来的巨大优势,无论是日常的代码编写、文本处理还是系统配置文件的编辑等工作,Vim 都能成为你的得力助手,希望大家都能通过不断实践,从入门逐步走向精通
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】