Vim专题
本文最后更新于 2023年11月18日 凌晨
这是一篇长期更新博客,搜集到的各种关于 Vim 的内容均会汇总更新至此。
键位参考与速查表
Linux 下的编译安装
虽然 Ubuntu 等发行版可以直接通过 apt 等工具下载安装 Vim,但这些版本往往不是最新的。可以从 GitHub 下载并在本地编译安装。
克隆仓库
如果是第一次安装,则先将远程仓库克隆到本地:
1 |
|
如果之前已经在本地有了仓库,且没有做任何修改,则可以直接通过 git pull
命令更新本地仓库。如果对本地仓库进行了一些变更,则可能需要分支合并等 git 操作,在此不展开讨论。
编译安装
1 |
|
检查一下是否安装成功
1 |
|
如果显示了详细的 Vim 版本信息,则成功。
更改默认使用的 Vim
在我的机器上,之前已经通过 apt 安装过了 Vim 8.1,直接在命令行输入 vim
命令则会使用该版本,而不是刚才编译安装的 Vim 8.2(默认位于 /usr/local/bin
)。为解决该问题,还需要修改一下可执行文件的软链接:
1 |
|
基本使用
- 正常模式(Normal-mode)
- 插入模式(Insert-mode)
- 命令模式(Command-mode)
- 可视模式(Visual-mode)
进入 Vim 后,使用 :help
查看文档
进入插入模式
键盘字符 | 作用 |
---|---|
i |
在光标所在的字符之前插入需要录入的文本 |
I |
在光标所在行的行首插入需要录入的文本 |
a |
在光标所在的字符之后插入需要录入的文本 |
A |
在光标所在行的行尾插入需要录入的文本 |
o |
光标所在行的下一行行首插入需要录入的文本 |
O |
光标所在行的上一行行首插入需要录入的文本 |
s |
删除光标所在处的字符然后插入需要录入的文本 |
S |
删除光标所在行,在当前行的行首开始插入需要录入的文本 |
Vim 的退出
命令 | 作用 |
---|---|
:w |
保存当前对文件袋修改,但是不退出文件 |
:w! |
强制保存但是不退出文件 |
:w file |
保存当前的文件修改到 file 文件当中 |
:q! |
退出文件,不保存对文件的修改 |
:qa! |
退出所有文件,不保存对所有文件的修改 |
:wq |
退出文件并保存对文件的修改 |
:x |
退出文件并保存对文件的修改 |
:e file |
打开另一个文件 |
:e! |
放弃对文件的所有修改,恢复文件到上次保存对位置 |
:saveas file |
另存为 file |
编辑功能与技巧
查找替换
1 |
|
多文件与多窗口
缓冲区 Buffer
Vim 打开文件时会创建缓冲区,打开几个文件就创建几个缓冲区,默认加载第一个缓冲区,即显示第一个文件袋内容
命令 | 作用 |
---|---|
:ls |
列出缓冲区状态 |
:files |
列出缓冲区状态 |
:buffers |
列出缓冲区状态 |
:bn |
切换下一个缓冲区,显示下一个文件的内容 |
:bp |
切换上一个缓冲区,显示上一个文件的内容 |
:b number |
number 为缓冲区的数字编号 |
:b fileName |
fileName为文件名称,可以是正则表达式,也可以是文件名中的个别字母 |
窗口 Window
使用 Vim 打开文件呈现在眼前的就是窗口。窗口用来查看缓冲区内容。可以使用多个窗口查看一个缓冲区,也可以使用多个窗口查看不同的缓冲区
1 |
|
上下分屏
命令 | 作用 | 快捷键 |
---|---|---|
:new |
新建水平窗口并开式编辑新文件 | Ctrl + W n |
:vnew |
新建垂直窗口并开始编辑新文件 | |
:split |
新建水平窗口并显示当前文件 | Ctrl + W s |
:vsplit |
新建垂直窗口并显示当前文件 | Ctrl + W v |
sview |
新建窗口并只读打开文件 |
标签 Tab
类似浏览器标签页
vimrc 配置
1 |
|
使用 :version
可以看到Linux下Vim配置文件读取顺序
1 |
|
一个最精简的 vimrc 配置
1 |
|
注意此时还需要到对应路径创建文件夹、文件,sh
脚本如下:
1 |
|
检查创建好的目录:
1 |
|
字符与编码
https://edyfox.codecarver.org/html/vim_fileencodings_detection.html
插件
插件管理器 vim-plug
nerdtree
目录树
美化
一些巨好看的界面
https://github.com/fgheng/vime
https://github.com/spf13/spf13-vim
致谢与念念碎
致谢
学习Vim的过程看了许多大佬的优质博客、帖子、视频教程等,部分链接摘录如下,表示感谢
保姆级教程!将 Vim 打造一个 IDE (Python 篇) - 王炳明
念念碎
2021-08-29
最早接触 Vim 的时间已经记不清了,可以追溯到接触 Linux(没错,我的Linux文件编辑不是从 nano 而是从 Vim 开始的)命令行和尝试折腾自己的 Linux 服务器的时代。20年的夏天也肯定有过系统性学习Vim基本操作的经历。然而因为缺乏笔记和常用实战,时至今日,不用查表就能下意识使用的Vim操作也仅限于 dd
:wq
等了。
最近终于把一年前就已经开始学的 LaTeX 开始运用到了实际,写出了我的第一个 .tex 文件。加之《机械设计》知识点整理仍在编写阶段,对大量快速的文字输入需求大大增加。有需求就有学习的动力,就又回来学习 Vim 了。也许在不久的将来,我也终于可以敲击如飞,快如闪电了。