Linux Vim 最全面教程:从入门到精通

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 都能成为你的得力助手,希望大家都能通过不断实践,从入门逐步走向精通