Vim可以说是个高度自定义化的编辑器,1000个vimer就有1000个vimrc:😀
怎么写好属于我们自己的vimrc呢, That is a question✔︎
我是如下分类整理和更新的.📁
基础的配置
大概包括下面一些,
- 文件类型(filetype)
- 界面配置
- 语法(syntax)
- fold相关
好的是,上面这些都可以使用vim的帮助命令去查看,filetype
, syntax
以及fold
在帮助文档都有详细的描述,
当你发现需要某些功能的时候,就可以去搜索查找vim如何配置做到.比如:
切换buffer的时候会发现每次都会提示你当前buffer未保存, 那么如何做到呢?
1 | set hidden |
就可以了.
这些命令也都是可以在command-mode
下面执行的命令. 主要是
set
filetype
,syntax
,fold*
call
提示:
在vim-user manual里,
C-]
可以跳转到cusor下文件对应的目录.
自动命令autocmd 🚘
首先需要编译vim时 +autocmd
的支持.
简要来说就是在某种模式下,vim自动执行某些命令. 这样分类是因为
- autocmd很强大,实现许多功能
- 也可能出现一些副作用等问题,使用时最好先提前测试.
autocmd
看手册学习就可以了,有需求的时候可以边学边造轮子. 拜托那些繁杂的操作,从现在开始.
简单来说了解模式之后,主要看一下<Event>
- 读buffer/file
- 写buffer/file
- buffer/window/file切换
- filetype/syntax等
- cusor/界面相关
提示:
查看帮助文档的时候,(命令模式), 插入cusor当前字符使用
<C-r><C-w>
.
插件🔌
主要包括添加了哪些插件, 每个插件的全局配置等等.
目前平时用的插件还是不太多的,vim自带的功能其实本身已经很强大了.自带的许多插件也很棒的像
- nerdtree
- quickfix
其他也就 YouCompleteMe
和vim-colorscheme
用的比较频繁.
mapping ☑️
按键映射可以说是使用频繁的一个功能, 也使得vim更加高度自定义化和便于记忆. 最终达到的一个很棒的效果就是不用大脑思考,完全肌肉记忆.
首先<Leader>
键还是很有用的,个人定义空格作为leader key. 个人常用的的mapping有:
1 | let mapleader = "\<Space>" |
函数 ⚱️
一些定义的函数可以放在一起.
这些就需要简单地学习一下vimscript去写了.
设定几个任务
- 细节部分稍微细致学一下,在写几篇笔记
- vimsript好好看一下,争取可以做到,能实现自己想要的函数功能
- 写一个插件