Vim Configuration 01 vim的无插件基础设置
该配置笔记于 20230521 重新整理。默认的 Vimrc 位置为
/usr/share/vim/vimrc
,也可以在 vim 界面使用:echo $MYVIMRC
查看当前的配置文件,默认使用的配置文件地址为~/.vimrc
参考文献地址:Good VimRC | Backspace | AutoCmd | VIM配置入门
配置文件地址:AikenDotfile,本文这里只介绍部分配置,一些过于常见的配置等等这里就不再介绍,在 dotfile 中对每行配置均有的细致的注释。
基于 VimScript) 该 blog 主要记录基础 vim 的配置文件编写,旨在使用基础 vim 的时候也能有一个较好的代码编辑体验,同时提供部分 keymap 集成一些简单的功能,方便文档编写时候的格式转换等。这个配置文件在后续配置 nvim 的时候部分配置也会沿用。
Vim 的基础配置
自动检测文件修改,以及对多个文件的 workspace 自动切换
1 |
|
鼠标和剪切板功能
设置 vim 对鼠标的支持,支持鼠标选择等
1 |
|
设置和系统同步的剪切板,WSL 下的剪切板设置可以参考下面文章 WSL2 clipboard not shared between Linux and Windows || Reddit - Dive into anything
1 |
|
设置撤销历史记录
多次编辑同一个文件的时候保持 Undo 的历史记录,便于对同一个文件进行编辑。
1 |
|
通过上述命令启用 undofile 的选项,并设置存储目录,这里需要注意的是,存储目录需要手动创建,undo 的历史记录才能生效。
搜索选项
搜索部分主要有以下的几个事:显示匹配的括号,逐字搜索,搜索高亮,忽略大小写
1 |
|
其中需要注意的是,vim 中的搜索高亮不会自动关闭,因此我们需要设置快捷键映射来关闭搜索的高亮。
1 |
|
其他设置
1 |
|
基本用户界面设置
设置滚动行和上下的间距:
1 |
|
设置折行及折行不破坏单词完整性:
1 |
|
状态栏设置
首先设置命令窗口的大小,并使得状态栏仅在多文件窗口时打开,便于区分不同文件
1 |
|
设置 VIm 的 CMD 指令显示状态以及补全办法:
1 |
|
光标位置记录
1 |
|
缩进方法和折叠
这里只以 Python 为例介绍默认的 indent 方案,同时 folder 这里只介绍 marker 方法,用
{{{}}}
来进行折叠,不同文件的 indent 方案用 filetype 和 autocmd 实现,具体参见配置文件中的 Part8.
缩进
1 |
|
这里的 <n>
指的是空格的个数,具体的设置和注释如上,后续基于不同的文件类型进行配置的需要打开如下的内容:
1 |
|
其他内容参见 dotfile,使用 autocmd 对不同文件的缩进进行区分设置。
折叠
1 |
|
将折叠全开后的效果如下:
快捷键和函数
快捷键和函数的数量较多,这里不详细说,具体查看 dotfile,这里简要说明以下主要实现了哪些 KeyMap。
这里通过快捷键和函数实现了如下的一些功能。
- 用 TAB 和 SHIFT-TAB 调整缩进
- Toggle Wrap、Spell、Number、Paste
- 快捷编辑配置文件
- Windows、Tab 切换
- 快捷注释
- Tailing 和 Retab
- 编译和执行当前代码文件
- 自动添加指定的文件头(如 blog 的 meta 文件)
由于篇幅限制就不再赘述。
自动注释
感谢大神 KarimElghamry 提供的方案,可以直接将其代码拷贝到自己的 vmrc 中来实现行注释和块注释,也可以很轻易的添加不同后缀的处理方式。
FI
该版本的 Vimrc 应该是个人的最终版本了,如果有其他的点子和需求的话,欢迎到评论区讨论,如果有更新的话也会在这个 dotfile 上更新。
Vim Configuration 01 vim的无插件基础设置