jayli / vim

我的vim配置文件

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Easy Vim 配置 Vim Gitter

Author: @Jayli

版本要求 VIM >= 8.2,安装 vim 要配置好 python3 支持(snippets 需要)

安装

源码安装

初始安装,确保~/.vim不存在

cd ~/
git clone git@github.com:jayli/vim.git vim

mv vim .vim ln -s ~/.vim/_vimrc ~/.vimrc ln -s ~/.vim ~/.config/nvim

安装插件,进入 vim 后执行 :PlugInstall

常用命令

双字符命令

命令 描述
tn :tabnew 打开新窗口
wm :NERDTreeToggle 打开左侧树形文件菜单列表
mm :TagbarToggle 打开右侧函数列表
md :IndentModify 将Tab缩进或者2格缩进修正为4宽Space缩进
// 选中模式下注释或取消注释多行
gg 到达文件开头
= 选中模式格式化选中部分的代码
zi 全部打开折叠
zm 全部折叠起来
za 当前所在的折叠块折叠起来
[[ 跳到上一个函数位置
]] 跳到下一个函数位置

Ctrl/Shift/Tab 控制命令

命令 描述
Ctrl-N 多光标模式
Ctrl-P CtrlP 命令
Tab 切换 Tab
Shift-Tab 回切 Tab
Shift-G 到达文件结尾
Shift-K 查找光标处单词的帮助
Ctrl-] 跳转到函数/变量定义处
Ctrl-[ 跳回原处
Ctrl-T 跳回原处
Ctrl-O 跳回上一个Buffer
Ctrl-B js 文件的格式重排,JSBeautify
Ctrl-K Snipmate 展开代码片段
Ctrl-l 快速右移
Ctrl-h 快速左移
b 以单词为回退长度后退光标
e 以单词为跃进长度前进光标

常用 Command

命令 描述
:H :H 呼出最常用命令
:vs 垂直分割窗口
:ps 水平分割窗口

折叠:我习惯用 marker 折叠方式,基于/*{{{}}}*/匹配折叠,更容易控制代码。

AutoCompleteEasyCompleteVim-Dictionary,使用 Tab 完成补全,字典词表配置参照这里

EasyComplete 中 Tab 的配置不能和 SuperTab 共用


自带主要插件列表

简洁的状态条 Moonline

状态条:MoonLine

将文件拷贝到~/.vim/plugin/目录下即可,无需配置

cd ~/.vim/plugin/
wget https://raw.githubusercontent.com/jayli/vim/master/plugin/moonline.vim

VIM 卡顿

VIM 打开大文件和语法复杂的文件都会卡顿,卡顿来源于两方面:一插件的滥用,二语法文件不够精简。所以一定要确保只留必要插件,非必要插件不要安装,语法文件复杂直接影响到运行时的卡顿,js 和 go 语法高亮逻辑很简单,一般不会卡顿,但类似 shell 和 vimL 这种语法超级复杂的语言,必须要对 syntax 文件进行瘦身,取子集,尽量避免语法的正则渲染,最好是关键字的枚举,我只对 vimL 的 syntax 文件做了一定的瘦身,性能上基本达标。

Modeline 设置

常用的设置:

<!-- vim: set ts=2 sw=2 sts=2: -->
// vim:ts=2:sw=2:sts=2

Enjoy yourself!

About

我的vim配置文件


Languages

Language:Vim Script 99.4%Language:Lua 0.3%Language:Python 0.2%Language:Shell 0.1%