`
jishublog
  • 浏览: 868859 次
文章分类
社区版块
存档分类
最新评论

我的vim配置及说明【k-vim】

 
阅读更多
<style> <!-- h1, h2, h3, h4, h5, h6, p, blockquote {margin:0; padding:0} body {font-family:"Helvetica Neue",Helvetica,"Hiragino Sans GB",Arial,sans-serif; font-size:13px; line-height:18px; color:#737373; background-color:white; margin:10px 13px 10px 13px} table {margin:10px 0 15px 0; border-collapse:collapse} td, th {border:1px solid #ddd; padding:3px 10px} th {padding:5px 10px} a {color:#0069d6} a:hover {color:#0050a3; text-decoration:none} a img {border:none} p {margin-bottom:9px} h1, h2, h3, h4, h5, h6 {color:#404040; line-height:36px} h1 {margin-bottom:18px; font-size:30px} h2 {font-size:24px} h3 {font-size:18px} h4 {font-size:16px} h5 {font-size:14px} h6 {font-size:13px} hr {margin:0 0 19px; border:0; border-bottom:1px solid #ccc} blockquote {padding:13px 13px 21px 15px; margin-bottom:18px; font-family:georgia,serif; font-style:italic} blockquote:before {content:"\201C"; font-size:40px; margin-left:-10px; font-family:georgia,serif; color:#eee} blockquote p {font-size:14px; font-weight:300; line-height:18px; margin-bottom:0; font-style:italic} code, pre {font-family:Monaco,Andale Mono,Courier New,monospace} pre {display:block; padding:14px; margin:0 0 18px; line-height:16px; font-size:11px; border:1px solid #d9d9d9; white-space:pre-wrap; word-wrap:break-word} pre code {background-color:#fff; color:#737373; font-size:11px; padding:0} --> </style>

这是倒数第二篇文章了,新博客即将完成


折腾整理了下,自己的vim配置,托管github,支持一键部署

有插件说明,截图及动态gif展示

https://github.com/wklken/k-vim


点击直达
以下为README.md,供参考,希望有帮助

------------------------------------------

vim插件分类及快捷键

给人一条Vim 命令,他能折腾一晚上;告诉他怎么自定义Vim 命令,他能捣腾一辈子

生命不息,折腾不止

写在前面

用vim,将近两年,用原生的用了很长一段时间,后来也折腾过几次,用过网上流行的配置,但总感觉很多地方不能满足需求.

后来决定自己搞一个,参考了很多,往往一个功能有多个插件,会逐一尝试使用一段时间,之后才决定用哪个

例如补全,python的从pydiction到最近的jedi和python-mode,最终找到了YCM

插件,首先,要能提高生产力(提升效率),所以要找最给力的

其次,要漂亮(快捷键和界面),用着有一点点不舒服就自定义

最后,才是酷(装X神器....额,不提倡,(╯‵□′)╯︵┻━┻)

PS: 这个vim配置是我的linux_config下一个一部分,如果需要,可以参考,主要是一键配置环境

vim基本用法

初学者: vim训练稿两年前的三月份,第一次开始使用vim,后来整理了一份,对着敲几遍

推荐: 耗子叔的 简明vim练级攻略

或者,玩游戏 vim大冒险

使用说明

  1. 使用原生vim,最好先熟悉了再来看插件,插件之所以为插件,辅助性质

  2. 以下插件,仅介绍用途优点等,详细配置可以在github中搜索查看详细用途和配置

    当前vim使用配置,在vimrc中查看

    快捷键为插件默认/或者当前配置vimrc定义的,如果需要修改,查看vimrc中对插件配置进行修改 [sd]为自定义 [d]为默认

    有什么问题,先看插件文档说明->代码选项->github上的issues->google it

    相信我,你遇到的问题,一定别人也遇到了,大部分可解决,少部分无解….

    二八定律,关注可以最大提升自身生产力的那20%插件,如何配置,还需要自己去亲自实践

  3. 由于平时会使用python和golang,所以语言方面的配置偏向于这两个

    其它的可以参照网上配置(通用的插件可以配置,具体语言插件需要自己去研究)

  4. fork一份

    搞一份符合自己习惯的vim配置,当然,欢迎推荐好用更酷的插件配置:)

    我的配置也会不定期更新


配置步骤

  1. clone到本地,配置到linux个人目录(如果是从linux_config过来的,不需要clone)

     git clone git@github.com:wklken/k-vim.git
    
  2. 安装依赖包

     sudo apt-get install ctags
     brew install ctags
    
     #使用python需要
     sudo pip install pyflakes
     sudo pip install pylint
     sudo pip install pep8
    
  3. 安装插件

     cd k-vim/
    
     sh install.sh
    
     #会进入安装插件的列表,目前31个插件,一一安装是从github clone的,完全取决于网速
    
     #安装完插件后,会自动编译YCM,注意,可能编译失败(缺少某些依赖包),失败的话手动编译吧,看第4步 编译自动补全YouCompleteMe (这步耗时也有点长,但绝对值得)
    
     install.sh
     本质上做的事情
     1.将vimrc/vim文件夹软连接到$HOME,编程系统vim配置
     2.git clone安装vundle(clone到bundle目录下)
     3.通过vundle安装其他所有插件(相当于进入vimrc, 命令行执行:BundleInstall)
     4.编译需要手动编译的插件,eg.YCM
    
  4. 可能遇到的问题:

    编译相关插件,修改配置

    • 相对行号

    vimrc中配置,如果不习惯,可以去掉,相关参考

    • 编译自动补全YouCompleteMe

    文档这个插件需要Vim 7.3.584,所以,如果vim版本太低,需要编译安装

    • 配置主题

    到vimrc中修改colortheme,可以使用molokai(用惯sublimetext2的童鞋很熟悉)

    默认配置的是solarized dark主题

    想要修改终端配色为solarized可以参考 这里

截图

solarized主题solarized

molokai主题molokai

自定义快捷键说明

以下快捷键中==

F1   关掉,防止跳出帮助
F2  set nu/nonu
F3  set list/nolist
F4  set wrap/nowrap
F5  set paste/nopaste
F6  syntax on/off
空格 /开启查找
Y   =y$   复制到行尾
w!!  以sudo的权限保存
kj   <Esc>,不用到角落去按esc了
t    新起一行,下面,不进入插入模式
T    新起一行,上面
,sa   全选(select all)
hjkl  上下左右,强迫使用,要解开的自己改
ctrl + jkhl 进行上下左右窗口跳转,不需要ctrl+w+jkhl

,tn  new tab
,tc  tab close
,to  tab only
,tm  tab move
,te  new tab edit
ctrl+n  相对行号绝对行号变换,
        默认用相对行号 http://jeffkreeftmeijer.com/2012/relative-line-numbers-in-vim-for-super-fast-movement/
5j/5k  在相对行号模式下,往上移动5行 往下移动5行,不喜欢注解line 142附近relativenumber配置

,y 展示历史剪贴板
,yc 清空
yy/dd -> p -> ctrl+p可以替换非最近一次剪贴内容

,p 开启文件搜索 ctrlp
,/ 去除匹配高亮

插件及其快捷键说明

图片有点多,展示有点慢,截得不是很专业,耐心看完:)

插件管理

  1. gmarik/vundle

    DONE, 必装,用于管理所有插件

    命令行模式下管理命令:

     :BundleInstall     install
     :BundleInstall!    update
     :BundleClean       remove plugin not in list
    

导航及搜索

  1. vim-scripts/The-NERD-tree

    DONE必装,开启目录树导航

     [sd]
         ,n 打开树形目录结构
         p 到上层目录
         K 到同目录第一个节点
         J 到同目录最后一个节点
    

    演示thenerdtree

  2. majutsushi/tagbar

    DONE,必装,标签导航,纬度和taglist不同

    [sd] <F9> 打开
    

    演示tagbar

  3. vim-scripts/taglist.vim

    DONE,必装

     [sd] <F8>打开
    

    演示:taglist

  4. kien/ctrlp.vim

    文件搜索,ack/Command-T需要依赖于外部包,不喜欢有太多依赖的,除非十分强大

    演示ctrip

显示增强

被动技能,无快捷键
  1. Lokaltog/vim-powerline

    DONE, 必装

    演示powerline

  2. kien/rainbow_parentheses.vim

    DONE,必装

    演示rainbow

  3. Yggdroot/indentLine

    DONE,装不装看个人喜好了,缩进标识

    另一个类似的,整块背景色的的,nathanaelkane/vim-indent-guides

    看来看去还是st2的好看,唉

    调整颜色和solarized一致,不至于太显眼影响注意力,可以根据自己主题设置颜色(颜色)

    演示:indentline

  4. bronson/vim-trailing-whitespace

    将代码行最后无效的空格标红

  5. altercation/vim-colors-solarized

    DONE, 主题,目前我使用的,看起来舒服

  6. tomasr/molokai

    DONE, 另一个主题,可选,偶尔换换味道

快速移动

主动技能,需要快捷键
  1. Lokaltog/vim-easymotion

    跳转到光标后任意位置

    配置(我的leader键配置 let g:mapleader = ',')

     ,, + w  跳转
     ,, + fe  查找'e',快速跳转定位到某个字符位置
    

    演示easy_motion

  2. vim-scripts/matchit.zip

    % 匹配成对的标签,跳转

自动补全及快速编辑

主动技能,需要快捷键,高效编辑无上利器
  1. Valloric/YouCompleteMe

    YCM是目前用到的最好的自动不全插件,用这个写代码太舒畅了

    这个需要自己去看官方的配置方式,演示在官方github有

    需要Vim 7.3.584 (如何编译vim)需要编译这个插件(见github文档)

    这个插件包含了以下四个插件功能,所以不需要装下面四个

     clang_complete
     AutoComplPop
     Supertab
     neocomplcache
     jedi(对python的补全)
    
  2. vim-scripts/UltiSnips

    快速插入自定义定义好的代码片段

    自动不全加这个,高效必备

    演示ultisnips

  3. scrooloose/nerdcommenter

    快速批量加减注释

    [d] shift+v+方向键选中(默认当前行)   ->  ,cc  加上注释  -> ,cu 解开注释
    

    演示nerdcommenter

  4. tpope/vim-surround

    快速给词加环绕符号,例如引号

    tpope/vim-repeatrepeat进行增强,'.'可以重复命令

    [d]cs"' [inside]
       "Hello world!" -> 'Hello world!'
       ds"
       "Hello world!" -> Hello world!
       ysiw"
       Hello -> "Hello"
    

    演示surround

  5. Raimondi/delimitMate

    输入引号,括号时,自动补全

    演示delimitmate

  6. godlygeek/tabular

    code alignment

     [sd]
     ,a=  按等号切分格式化
     ,a:  按逗号切分格式化
    

具体语言

主要是python  其它语言以及前端的,用得少没有研究使用过

python   golang   markdown

需要其它语言支持的,可以到github上捞,上面很多流行的vim配置,eg. spf13-vim
  1. python-syntax

    python语法高亮,就是python.vim,在github,有维护和更新

  2. scrooloose/syntastic

    静态语法及风格检查,支持多种语言修改了下标记一列的背景色,原有的背景色在solarized下太难看了…..

    演示syntastic

  3. kevinw/pyflakes-vim

    虽然这个的作者推荐使用syntastic,但是这个插件对于pythoner还是很需要的

    因为有一个特牛的功能,fly check,即,编码时在buffer状态就能动态查错标记,弥补syntastic只能保存和打开时检查语法错误的不足

    演示 pyflakes

  4. jnwhiteh/vim-golang

    golang语法高亮

    golang刚入门使用,项目中还没正式开始,目前很多golang的手册有配置vim的介绍,后续有需求再弄

  5. plasticboy/vim-markdown

    markdown语法,编辑md文件

  6. pangloss/vim-javascript

    偶尔会看看js,频率不高

其它扩展增强

根据自身需求自取配置,不需要的话自己注解
  1. vim-scripts/TaskList.vim

    查看并快速跳转到代码中的TODO列表

    重构代码时一般通读,标记修改位置,非常实用

    [sd]
    ,td 打开todo列表
    

    演示tasklist

  2. tpope/vim-fugitive

    git插件不是很习惯,所以用的次数太少,目前和现有配置快捷键有冲突,尚未解决

  3. sjl/gundo.vim

    编辑文件时光机

    [sd] ,h  查看文件编辑历史
    
  4. vim-scripts/mru.vim

    最近打开文件列表

    [sd] ,f show recently opened files
    
  5. thiderman/nginx-vim-syntax

    nginx配置文件语法高亮,常常配置服务器很有用

  6. Glench/Vim-Jinja2-Syntax

    jinja2 语法高亮

  7. nono/jquery.vim

    jquery高亮

待考察的

  1. sjl/vitality.vim

  2. vim-scripts/Conque-Shell

    用过一阵,不大适应,回头瞅瞅

  3. vim-scripts/YankRing.vim

    剪贴板增强的,装了一段时间发现用得太少,卸了….回头看看

  4. vim-scripts/auto.git

    用过一阵,快速切换模式的

那些使用过弃用的

  1. vim-scripts/python_match.vim

    特性:重定义%,可以在python的if/elif/else try/except/finally等结构中跳转,但是平时百分号用的太少,主要是不顺手,卸了

    有兴趣可以试试

  2. yonchu/accelerated-smooth-scroll

    上下移动时,平滑滚动,用了一段时间,不大适应,卸了,看个人喜好

  3. ervandew/supertab

    YouCompleteMe自带包含了,所以不需要了

  4. nathanaelkane/vim-indent-guides

    块状的缩进标识,但是总是配得很丑,废弃用了竖线的那个

以上插件并没有buffer管理的,可以搜索安装MiniBuferExplorer/Buferexplorer,插件不错,但是目前没用习惯,暂时没加入


The End!

wklken (凌岳/pythoner/vim党预备党员)

Email: wklken@yeah.net

Github: https://github.com/wklken

Blog: http://blog.csdn.net/wklken(待迁移)

2013-06-11 于深圳

分享到:
评论

相关推荐

    tmux配置文件,兼容vim按键

    tumx配置文件,兼容vim的h,j,k,l按键,下载后,在当前文件夹执行mv tmux.conf ~/.tmux.conf,然后tmux new -s test新开一个tmux的session,使用crtl+b h,j,k,l既可以快速移动窗口。

    vim-for-server, .vimrc, 简单配置服务器,不带插件.zip

    vim-for-server, .vimrc, 简单配置服务器,不带插件 vim-for-servervimrc,简单配置服务器,不带插件。简介这个存储库是 k-vim的简化版本。只删除所有插件,保留基本配置。屏幕截图 安装 。 如果有必要,备份旧的. ...

    k-vim配置123123123

    一个个性化的vim配置

    k-vim:vim配置

    PS :服务器端无插件k-vim简化版本(curl直接设置vimrc即可) / vscode-vim配置(尽量一致的键位) PPS :一份tmux配置 截图 solarized主题 molokai主题 安装步骤 1.克隆到本地 git clone ...

    lemon-vim:针对vim和neovim的Lemon配置

    lemon-vim目录简介这是我自己平时工作环境的vim配置,参考了k-vim,spf13,space-vim,vim-init等一些优秀的vim配置,可以满足常用的功能。个人感觉vim还是用自己配置的最舒服,熟悉自己vimrc中所有的配置,熟悉安装...

    jedi-vim:对VIM使用jedi自动完成库

    jedi-vim-VIM很棒的Python自动补全功能 jedi-vim是绑定到自动完成库的VIM。 这是一些图片: 完成几乎所有内容(Ctrl +空格键)。 显示功能/类主体,文档字符串。 文档(Pydoc)支持(突出显示Shift + k)。 还...

    gvim常用插件及其配置文件配置(下载解压即可使用)

    gvim常用插件及其配置文件 支持c,perl,python,latex。 需要自己安装ctags .vim: after compiler doc indent ltags perl-support skeleton syntax autoload c-support ftdetect keymap Makefile plugin ...

    i3-vim-focus:Vim插件,可在i3和vim之间进行无缝导航

    Vim插件,可实现无缝的i3 / vim导航 允许i3方向键无缝控制vim拆分和i3窗口 i3-vim-focus文件夹具有一个Rust程序,应将其安装在用户的路径上。...bindsym --release $mod+k exec "i3-vim-focus up" bindsym --r

    vim-setup:最好的vim配置是

    Ny64的非凡VIM配置(从未见过) 有最好的vim配置。 没有外部插件! 超级轻巧!1! 立即下载新的VIM配置,然后像专家一样开始黑客攻击。 装订 捆绑 功能 Ctrl + \ 切换文件浏览器 F8 切换深色/浅色主题 Alt + j ...

    vimrc带详细说明配置文件and插件包

    " 设定默认解码及解决Vim终端模式中文乱码---顺序不要写错! let &termencoding=&encoding set encoding=utf-8 set langmenu=zh_CN.UTF-8 language message zh_CN.UTF-8 set fenc=utf-8 set fencs=usc-bom,utf-8,gb...

    obsidian-vimrc-support:Obsidian.md笔记软件的插件

    黑曜石Vimrc支持插件该插件从VAULT_ROOT/.obsidian.vimrc加载Vim命令文件。 对于Obsidian.md Vim模式的用户,这对于保留各种设置(最... 这是我正在使用的简单实用的.obsidian.vimrc : " Have j and k navigate visu

    dotvim:我的vim配置

    我的Vim配置。 提示 在Vim中查看本vimrc文件,高亮+折叠+ K文档: curl https://raw.githubusercontent.com/lilydjwg/dotvim/master/vimrc | vim -R -c ' setf vim ' - 注意 refs/notes/*有注释。

    vim-cheatsheet::maple_leaf:Vim 命令速查表,包含一切你需要知道的东西!

    Vim 命令速查表简介Vim 命令速查表,注释化 vimrc 配置文件,经典 Vim 键盘图,实用 Vim 书籍,Markdown 格式,目录化检索,快速熟悉使用! | | |重复的威力. # 小数点,重复上一次的命令N&lt;command&gt; # 重复某个命令 ...

    vim-workshop:TouK 中的 Vim 研讨会

    git clone https://github.com/sickill/vim-monokai ~/.janus/ 最佳 什么乐透? 你要把vim看成一门语言,关键是要知道普通模式,因为大部分时间都花在那里了。 最佳 运动 让我们编辑第一个vim 1 在这里我们将...

    Hacking Vim

    Vim中的插件有许多,上Vim.org自己查吧,不过我自己使用以下几个,也觉得是用有用的。以下只说明这些插件的用途,具体用法不做详细介绍。有了这些插件,足以形成一个可以与VC媲美的集成开发环境了。 3.1 ctags 实现...

    Vim插件管理器Vundle.vim.zip

    你可以用它:在.vimrc 中跟踪并配置你的插件安装已经配置好的插件 (a.k.a. scripts/bundle)更新已经配置好的插件通过名字搜寻所有可用的 Vim 脚本清理未使用的插件以单一按键交互模式执行上述操作 标签:...

    vim编码:vim编码

    该vim配置拥有各种大气的被动和主动技能!! 一分钟极速安装(如果是windows,强烈推荐安装 ) curl ' https://gitee.com/lee1989/vim-for-coding/raw/master/install.sh ' | sh 极速卸载 cd ~ rm -rf .vim rm -rf ...

    vim.safariextension:Safari的Vim绑定

    h,j,k,l ^ D,^ U,^ F,^ B esc,i,dd gt,gT,gt 当前支持的命令: :q,:q !,:tabnew :tabn,:tabp,:tabfir,:tabfirst,:tablast :e @url,:edit @url,:tabe @url,:tabedit @url :...

    vimrc:最终的vim和neovim配置

    Vim配置 最终的vim配置 特征 NeoBundle插件管理器 很多统一菜单 主题(ColorSchemes) seoul256.vim是一个基于的低对比度Vim配色方案。 适用于256色终端或GVim。 更新的版本在。 文件浏览器(VimFiler) 使用...

    vim-molasses:惩罚你自己(和你的朋友_敌人)使用 Vim 的效率低下

    输入vim-molasses ,这是一个主动阻止您快速连续使用给定键的插件。 配置 vim-molasses在初始化时观察两个变量的值: g:molasses_keys应该指定(作为字符串或数组)要监视和惩罚的键集。 默认值: 'hjkl' g:...

Global site tag (gtag.js) - Google Analytics