# k-vim **Repository Path**: cary_chen/k-vim ## Basic Information - **Project Name**: k-vim - **Description**: vim配置 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-16 - **Last Updated**: 2021-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README k-vim ======================= > VERSION: 9.2 > LAST_UPDATE_TIME: 2017-07-29 > 本次更新: 小版本更新, 支持vim8异步愈发检查 详细 [更新日志](https://github.com/wklken/k-vim/wiki/UPDATE_LOG) # 目标 > Just a Better Vim Config. Keep it Simple. **PS**: 服务器端无插件`k-vim`简化版本(curl直接设置vimrc即可)[vim-for-server](https://github.com/wklken/vim-for-server) **PPS**: 一份tmux配置 [k-tmux](https://github.com/wklken/k-tmux) --------------------------------- # 截图 solarized主题 ![solarized](https://github.com/wklken/gallery/blob/master/vim/solarized.png?raw=true) molokai主题 ![molokai](https://github.com/wklken/gallery/blob/master/vim/molokai.png?raw=true) --------------------------------- --------------------------------- # 安装步骤 ### 1. clone 到本地 ``` git clone https://github.com/countryhu/k-vim.git ``` ### 2. 安装依赖包 ##### 2.1 系统依赖 # ctags, ag(the_silver_searcher) ``` # centos sudo yum install python-devel.x86_64 sudo yum groupinstall 'Development Tools' sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo yum install the_silver_searcher sudo yum install cmake ``` ### 3. 安装 ``` 进入目录, 执行安装 # 注意原先装过的童鞋, 重装时,不要到~/.vim下执行(这是软连接指向k-vim真是目录),必须到k-vim原生目录执行 # 会进入安装插件的列表,一安装是从github clone的,完全取决于网速, 之后会自动编译 YCM, 编译失败的话需要手动编译, 有问题见YCM文档 # 如果发现有插件安装失败 可以进入vim, 执行`:PlugInstall' cd k-vim/ sh -x install.sh ``` ------------------------ ------------------------ # 移除安装 ``` cd ~ && rm -rf .vim .vimrc .vimrc.bundles && cd - ``` --------------------------------- --------------------------------- # 常见问题 详见 [wiki](https://github.com/wklken/k-vim/wiki) 以及 [issues](https://github.com/wklken/k-vim/issues) ------------------------ ------------------------ # 插件 ### 选择安装插件集合 编辑vimrc.bundles中 ``` " more options: ['json', 'nginx', 'golang', 'ruby', 'less', 'json', ] let g:bundle_groups=['python', 'javascript', 'markdown', 'html', 'css', 'tmux', 'beta'] ``` 选定集合后, 使用插件管理工具进行安装/更新 ### 插件管理 使用 [vim-plug](https://github.com/junegunn/vim-plug) 管理插件 `vim-plug` 常见问题: [vim-plug faq](https://github.com/junegunn/vim-plug/wiki/faq) / [YCM timeout](https://github.com/junegunn/vim-plug/wiki/faq#youcompleteme-timeout) /[YCM 国人在国内做的镜像](https://github.com/LooEv/A-bridge-to-YouCompleteMe) 管理插件的命令 ``` :PlugInstall install 安装插件 :PlugUpdate install or update 更新插件 :PlugClean remove plugin not in list 删除本地无用插件 :PlugUpgrade Upgrade vim-plug itself 升级本身 :PlugStatus Check the status of plugins 查看插件状态 ``` ### 插件列表 说明/演示/自定义快捷键等, 待处理 ------------------------ ------------------------ # 自定义快捷键 ``` 注意, 以下 ',' 代表 1. 可以自己修改vimrc中配置,决定是否开启鼠标 set mouse-=a " 鼠标暂不启用, 键盘党.... set mouse=a " 开启鼠标 2. 退出vim后,内容显示在终端屏幕, 可以用于查看和复制, 如果不需要可以关掉 好处:误删什么的,如果以前屏幕打开,可以找回....惨痛的经历 set t_ti= t_te= 3. 上排F功能键 F1 废弃这个键,防止调出系统帮助 F2 set nu/nonu,行号开关,用于鼠标复制代码用 F3 set list/nolist,显示可打印字符开关 F4 set wrap/nowrap,换行开关 F5 set paste/nopaste,粘贴模式paste_mode开关,用于有格式的代码粘贴 F6 syntax on/off,语法开关,关闭语法可以加快大文件的展示 F9 tagbar F10 运行当前文件(quickrun) 5. 分屏移动 ctrl + j/k/h/l 进行上下左右窗口跳转,不需要ctrl+w+jkhl 6. 搜索 空格,进入搜索状态 / 同上 ,/ 去除匹配高亮 (交换了#/* 号键功能, 更符合直觉, 其实是离左手更近) # 正向查找光标下的词 * 反向查找光标下的词 优化搜索保证结果在屏幕中间 9. 按键修改 Y =y$ 复制到行尾 U =Ctrl-r ,sa select all,全选 gv 选中并高亮最后一次插入的内容 ,v 选中段落 kj 代替,不用到角落去按esc了 ,q :q,退出vim ,w :w, 保存当前文件 ctrl+n 相对/绝对行号切换 normal模式下回车选中当前项 更多细节优化: 1. j/k 对于换行展示移动更友好 2. HL 修改成 ^$, 更方便在同行移动 3. ; 修改成 : ,一键进入命令行模式,不需要按shift 4. 命令行模式 ctrl+a/e 到开始结尾 5. <和> 代码缩进后自动再次选中, 方便连续多次缩进, esc退出 6. 对py文件,保存自动去行尾空白,打开自动加行首代码 7. 'w!!'强制保存, 即使readonly 8. 去掉错误输入提示 9. 交换\`和', '能跳转到准确行列位置 10. python/ruby 等, 保存时自动去行尾空白 11. 统一所有分屏打开的操作位v/s[nerdtree/ctrlspace] (特殊ctrlp ctrl+v/x) 12. ',zz' 代码折叠toggle ``` ------------------------ ------------------------ ### UPDATE_LOG version 9.2 ``` 插件部分: 1. 增加 w0rp/ale 异步语法检查插件, 用户vim版本为8.0时自动启用. 非8时, 启用默认scrooloose/syntastic, 两套插件快捷键一致 2. 切换使用flake8作为python风格检查(pip install pep8) 3. 启用yapf作为python代码格式化(pip install yapf) 4. 启用eslint作为javascript代码检查 5. YCM 设置回车选中不再弹补全框 细节: 1. 新增快捷键 gv 选中并高亮最后一次插入的内容 ``` ### Contributors thx a lot. 可以给我提pull request:) 查看详情 [git-contributors](https://github.com/wklken/k-vim/graphs/contributors) ### Inspire 1. vimrc文件布局`vimrc+vimrc.bundles`配置方式参考 [maximum-awesome](https://github.com/square/maximum-awesome) 2. install.sh 参考`spf13-vim` 的`bootstrap.sh` [spf13-vim](https://github.com/spf13/spf13-vim) 2. 插件管理使用[Vim-plug](https://github.com/junegunn/vim-plug) 3. 自动补全 [YCM](https://github.com/Valloric/YouCompleteMe) 4. 插件挑选 [VimAwesome](http://vimawesome.com/) ### Resources [链接](http://www.wklken.me/posts/2014/10/03/vim-resources.html) ### Donation 如果你认为对你有所帮助, You can Buy me a coffee:) ![donation](https://raw.githubusercontent.com/wklken/gallery/master/donation/donation_w.jpg) ------------------------ ------------------------ The End! wklken (凌岳/pythoner/vim党预备党员) Github: https://github.com/wklken Blog: [http://www.wklken.me](http://www.wklken.me) 2013-06-11 于深圳