Vim配置(k-vim)
无意发现一个vim的插件
转载:http://www.cnblogs.com/yxy2829/p/5250587.html
截图
solarized主题

molokai主题

安装步骤
1. clone 到本地
git clone https://github.com/wklken/k-vim.git
2. 安装依赖包
2.1 系统依赖 # ctags, ag(the_silver_searcher)
sudo apt-get install ctags
sudo apt-get install build-essential cmake python-dev #编译YCM自动补全插件依赖
sudo apt-get install silversearcher-ag
2.2 使用Python
sudo pip install pyflakes
sudo pip install pylint
sudo pip install pep8
2.3 如果使用Javascript(不需要的跳过)
# 安装jshint和jslint,用于javascript语法检查
# 需要nodejs支持,各个系统安装见文档 https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
sudo apt-get install nodejs npm
sudo npm install -g jslint
sudo npm install jshint -g
3. 安装
进入目录, 执行安装
# 注意原先装过的童鞋, 重装时,不要到~/.vim下执行(这是软连接指向k-vim真是目录),必须到k-vim原生目录执行
# 会进入安装插件的列表,一安装是从github clone的,完全取决于网速, 之后会自动编译 YCM, 编译失败的话需要手动编译, 有问题见YCM文档
# 如果发现有插件安装失败 可以进入vim, 执行`:PlugInstall'
cd k-vim/
sh -x install.sh
管理插件的命令
:PlugInstall install 安装插件
:PlugUpdate install or update 更新插件
:PlugClean remove plugin not in list 删除本地无用插件
:PlugUpgrade Upgrade vim-plug itself 升级本身
:PlugStatus Check the status of plugins 查看插件状态
自定义快捷键
注意, 以下 ',' 代表<leader>
1. 可以自己修改vimrc中配置,决定是否开启鼠标
set mouse-=a " 鼠标暂不启用, 键盘党....
set mouse=a " 开启鼠标
2. 退出vim后,内容显示在终端屏幕, 可以用于查看和复制, 如果不需要可以关掉
好处:误删什么的,如果以前屏幕打开,可以找回....惨痛的经历
set t_ti= t_te=
3. 可以自己修改vimrc决定是否使用方向键进行上下左右移动,默认关闭,强迫自己用 hjkl,可以注解
hjkl 上下左右
map <Left> <Nop>
map <Right> <Nop>
map <Up> <Nop>
map <Down> <Nop>
4. 上排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. 搜索
<space> 空格,进入搜索状态
/ 同上
,/ 去除匹配高亮
(交换了#/* 号键功能, 更符合直觉, 其实是离左手更近)
# 正向查找光标下的词
* 反向查找光标下的词
优化搜索保证结果在屏幕中间
7. tab操作
ctrl+t 新建一个tab
(hjkl)
,th 切第1个tab
,tl 切最后一个tab
,tj 下一个tab
,tk 前一个tab
,tn 下一个tab(next)
,tp 前一个tab(previous)
,td 关闭tab
,te tabedit
,tm tabm
,1 切第1个tab
,2 切第2个tab
...
,9 切第9个tab
,0 切最后一个tab
,tt 最近使用两个tab之间切换
(可修改配置位 ctrl+o, 但是ctrl+o/i为系统光标相关快捷键, 故不采用)
8. buffer操作(不建议, 建议使用ctrlspace插件来操作)
[b 前一个buffer
]b 后一个buffer
<- 前一个buffer
-> 后一个buffer
9. 按键修改
Y =y$ 复制到行尾
U =Ctrl-r
,sa select all,全选
,v 选中段落
kj 代替<Esc>,不用到角落去按esc了
,q :q,退出vim
,w :w, 保存当前文件
ctrl+n 相对/绝对行号切换
<enter> normal模式下回车选中当前项

Vim配置(k-vim)的更多相关文章
- 个人Vim配置(即vim目录下vimrc_)
因为是C++选手所以大部分带有Dev遗留的...格式 colorscheme molokai"配色方案,注意molokai不是自带而是自己调配的,SublimeText3标准配色,想要的点这 ...
- VIM配置相关记录
把一直使用中的vim配置做个GIT入库管理,也把之前积累在机器上的文档,做个汇总. https://github.com/wujuguang/kyvim 1. 安装完整版vim vi和vim的区别?在 ...
- vim配置及插件安装管理(超级详细)
1 写在前面 Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用 ...
- fedora下vim配置
一.安装 1)dnf安装 fedora22以下 sudo yum install vim fedora22及以上 sudo dnf install vim 如果遇到下面类似的错误 .gz from : ...
- vim配置及插件安装管理(超级详细)[转]
1 写在前面 Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用 ...
- Vim配置IDE开发环境
我的vim IDE界面: 1.安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件.这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get instal ...
- vim配置vimrc详解
vimrc的存放位置: 系统 vimrc 文件: "$VIM/vimrc" 用户 vimrc 文件: "$HOME/.vimrc" 用户 exrc 文件: &q ...
- vim配置vimrc详解(转)
vimrc的存放位置: 系统 vimrc 文件: "$VIM/vimrc" 用户 vimrc 文件: "$HOME/.vimrc" 用户 exrc 文件: &q ...
- vim学习心得(一)——Cygwin下vim配置
关于Vi有很多传说.其中最为著名的是: “Vi是编辑器之神,Emacs是神的编辑器” Emacs没有用过,但是Vi在Linux经常使用,所以,掌握好vi非常重要!!! Vim(Vi Improved) ...
- 大神的vim配置
大神的vim配置,O(∩_∩)O spf13-vim : Steve Francia's Vim Distribution __ _ _____ _ ___ _ __ / _/ |___ / __ _ ...
随机推荐
- js中的replace全局替换
比如想把str中的所有“&”替换成“&” replace (\&\,"&");只是替换第一个,那么怎么全部都替换呢? replace(new Reg ...
- 关于使用微信登录第三方APP的实现(Android版)
使用微信登录APP,免去注册过程,现在已经有很多的类似应用了.集成该功能过程不复杂,但还是有一些地方需要注意的. 开始之前,需要做下面的准备工作. 1.到微信开放平台注册你的APP,并申请开通微信登录 ...
- hibernate:Named query not known: findXXXX or XXXX is not mapped
.hbm.xml文件所放的位置怎么看怎么都在spring配置的扫描路径中,就是会出现标题所示错误,查看log日志,的确也没发现XXXX被mapped的记录~ 参考解决方案: 在eclipse导出jar ...
- aspx aspx.cs
http://www.cnblogs.com/axzxs2001/archive/2009/01/19/1378383.html
- 将类数组arguments转化成数组
一.将arguments对象绑定到slice方法上 二. 例子: //闭包 二次封装函数 求和 function partialUsingArguments(fn) { var args = Arra ...
- 【学】React的学习之旅1
React的学习之旅1 单标签要有斜杠代表结束 用React.createClass()方法时,赋值后的组件名称首字母一定要大写 一定要先定义组件,再用ReactDOM.render调用 组件里ren ...
- java异常笔记
1:<java核心技术卷一>473页提到:如果在子类中覆盖了超类的一个方法,子类方法中声明的已检查异常不能超过超类方法中声明的异常范围. 显然,如果子类中抛出的异常范围比超类还大.多态将无 ...
- js运动框架之掉落的扑克牌(重心、弹起效果)
玩过电脑自带纸牌游戏的同志们应该都知道,游戏过关后扑克牌会依次从上空掉落,落下后又弹起,直至"滚出"屏幕. 效果如图: 这个案例的具体效果就是:点击开始运动,纸牌会从右上角掉 ...
- mysql的故事
所有的条件都分开理解,命令之间没有包含吗?
- 彻底解决rman恢复碰到ora-01152错
说说碰到这个问题的背景.使用NBU调脚本对oracle进行备份.脚本如下:RUN {ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';ALLOCATE CHANNEL ch0 ...