推荐下自己的vimrc配置 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
humiaozuzu
V2EX    Vim

推荐下自己的vimrc配置

  •  
  •   humiaozuzu 2012-09-16 17:01:46 +08:00 20618 次点击
    这是一个创建于 4774 天前的主题,其中的信息可能已经有所发展或是发生改变。
    无聊时把自己的插件和配置整理了下,把插件根据功能进行了分类,添加了一些不错的功能

    1. 代码补全(实时补全,括号补全,代码片段扩展,zencoding)
    2. 快速跳转(%跳转,easy motion)
    3. 快速编辑(利用text-object特性快速编辑,注释/反注释代码,代码对齐,indent guide功能)
    4. IDE特性(文件浏览,tab栏,函数名类名列表,git集成,语法查错等)
    5. 不同的语言应用不同的style guide(python根据pep8,其他的类似)
    6. 附件的方便的功能(文件编码检测,高亮当前行,开启文件后自动跳到退出时的位置,:wq退出再也不蛋疼了等)

    每一个部分都有基本的帮助或截或视频和快捷键




    地址
    https://github.com/humiaozuzu/dot-vimrc
    48 条回复    2014-10-25 20:34:26 +08:00
    bearcat001
        1
    bearcat001  
       2012-09-16 18:26:09 +08:00
    emacs党路过……
    humiaozuzu
        2
    humiaozuzu  
    OP
       2012-09-16 18:42:03 +08:00
    @bearcat001 哈哈,我也用过一年多emacs的,现在换口味到vim了
    dongsheng
        3
    dongsheng  
       2012-09-16 19:01:03 +08:00
    这个ctrlp不错,用上了,谢谢 :)
    jerommix
        4
    jerommix  
       2012-09-16 23:09:58 +08:00
    这怎么感觉也快要月经帖了呢
    那我就再做个广告吧 https://github.com/zhenlonghe/zhenlong-vimrc
    nendors
        5
    nendors  
       2012-09-16 23:25:28 +08:00
    楼上的没贴图觉得没楼主的吸引力明显
    liuyao729
        6
    liuyao729  
       2012-09-17 00:37:55 +08:00
    有个不错,但这么多太占窗口了
    SamZeng
        7
    SamZeng  
       2012-09-17 00:41:03 +08:00
    Javascript 调试的呢
    wangxiaokaizi
        8
    wangxiaokaizi  
       2012-09-17 08:17:47 +08:00
    淼哥赞个
    humiaozuzu
        9
    humiaozuzu  
    OP
       2012-09-17 09:32:16 +08:00
    @liuyao729 = =,是演示的时候开的,实际用时最多nerdtree
    Blask
        10
    Blask  
       2012-09-17 14:47:12 +08:00
    试过之后过来+1
    humiaozuzu
        11
    humiaozuzu  
    OP
       2012-09-17 14:55:12 +08:00
    @Blask 不过依旧有一些问题,欢迎反馈!
    killpanda
        12
    killpanda  
       2012-10-25 09:51:11 +08:00
    用着呢 非常棒!
    做了一些细微的调整立马可用了。
    sinxccc
        13
    sinxccc  
       2012-10-25 09:56:38 +08:00
    随口说一句,总觉得加这么多插件有点偏离 VI 本身的目的了…
    humiaozuzu
        14
    humiaozuzu  
    OP
       2012-10-25 10:31:28 +08:00
    @killpanda 如果有觉得默认配置不是很合适的地方欢迎make pull requests

    @sinxccc 你的吐槽和别人在 hacker news 上面的评论一样。。。
    pyKun
        15
    pyKun  
       2012-10-25 10:40:14 +08:00   1
    在探索vim插件的路上就需要这么相互沟通。。。
    顺便问下楼主平时用的电脑是多大的。。。。开多了窗口不是看代码的部分会变的很小么。。。。

    @jerommix 我觉得这个月经帖挺好。。。习惯,风格,新的插件总会在变化的。。。
    humiaozuzu
        16
    humiaozuzu  
    OP
       2012-10-25 11:44:39 +08:00
    @pyKun 这里开多主要是为了截图。。。 平时顶多开tagbar,找文件时会开一下nerdtree或者直接ctrlp
    DeeCheung
        17
    DeeCheung  
       2012-10-25 14:28:51 +08:00
    @humiaozuzu
    求教 ctrlp 设置指定目录缓存或者排除。
    Tabular 用法
    easymotion
    supertab snippets 兼容
    vim-Javascript syntax 不兼容 jquery.vim syntax
    DeeCheung
        18
    DeeCheung  
       2012-10-25 14:36:13 +08:00
    没有编辑只好补充
    snippets 中 jquery 用的filetype 是 Javascripts-jquery
    -。- 需要手动设置后才能用snippets 不过又没 syntax了
    DeeCheung
        19
    DeeCheung  
       2012-10-25 14:39:44 +08:00
    -.- 继续送铜币

    gundo 中不能记录到文件? 我用 sessionman 进行管理后,丢失 undo 记录.
    jerommix
        20
    jerommix  
       2012-10-25 14:50:53 +08:00
    @DeeCheung :h ctrlp 里面写得很清楚啊. let g:ctrl_cache_dir = $YourDir
    DeeCheung
        21
    DeeCheung  
       2012-10-25 16:59:04 +08:00
    @jerommix 缓存我是用到了 我是想排除一些目录不进入检索的缓存.

    现在写的就很蛋疼。。

    " plugin - ctrlp {{{
    let g:ctrlp_use_caching = 1
    let g:ctrlp_clear_cache_on_exit = 0
    let g:ctrlp_cache_dir = $HOME.'/.vim/tmp/cache/ctrlp'
    let g:ctrlp_show_hidden = 0
    let g:ctrlp_lazy_update = 1
    let g:ctrlp_open_new_file = 't'
    " 过滤 目录
    set wildignore+=*/Downloads/*,*/apps/*,*/Books/*,*/cenv/*,*/pypy/*,*/ln/*,*/repos/*,*/VirtualBox\ VMs/*,*/Video/*,
    \*/Backup/*,*/themes/*,*/home/fonts/*,*/home/config/*,*/4win7/*
    "*/home/dotvim/*
    let g:ctrlp_custom_ignore = {
    \ 'dir': '\v[\/]\.(git|hg|svn)$',
    \ 'file': '\v\.(exe|so|dll|tar|bz2|7z|rar|zip|pdf|epub|mobi|chm|swp|pyc|gz|iso|mov|avi|mkv|flv|ogv|m4v|mp4|ass|srt|torrent|vdijpg|gif|png|ico|tdl|xmind|db|ttf|otf|egg|jar|nfo|frp|sublime-package)$',
    \ }
    "}}}
    jerommix
        22
    jerommix  
       2012-10-25 17:01:23 +08:00
    @DeeCheung 分享一下我的吧
    nnoremap <C-W><C-U> :CtrlPMRU<CR>
    nnoremap <C-W>u :CtrlPMRU<CR>

    let g:ctrlp_custom_ignore = '\.git$\|\.hg$\|\.svn$'
    let g:ctrlp_working_path_mode=0
    let g:ctrlp_match_window_bottom=1
    let g:ctrlp_max_height=15
    let g:ctrlp_match_window_reversed=0
    let g:ctrlp_mruf_max = 500
    let g:ctrlp_use_caching = 1
    let g:ctrlp_max_files = 0
    set wildignore+=*/.git/*,*/.hg/*,*/.svn/* " Linux/MacOSX
    let g:ctrlp_use_caching = 1
    let g:ctrlp_clear_cache_on_exit = 0
    humiaozuzu
        23
    humiaozuzu  
    OP
       2012-10-25 19:47:01 +08:00
    @jerommix 插件相关用法可以自己 :help 插件名 学习,目录排除可以看我的配置,然后sublime text里面有一个不错的配置可以参考下:

    "folder_exclude_patterns": [".svn", ".git", ".hg", "CVS"],
    "file_exclude_patterns": ["*.pyc", "*.pyo", "*.exe", "*.dll", "*.obj","*.o", "*.a", "*.lib", "*.so", "*.dylib", "*.ncb", "*.sdf", "*.suo", "*.pdb", "*.idb", ".DS_Store", "*.class", "*.psd", "*.db"],

    tab的问题,如果前面输入的单词刚好可以扩展就会扩展,不行就是默认的tab。

    jquery的问题暂时还要折腾,解决了就在github上面更新
    jerommix
        24
    jerommix  
       2012-10-25 19:51:50 +08:00
    @humiaozuzu 你好像回复错了吧。。。
    humiaozuzu
        25
    humiaozuzu  
    OP
       2012-10-25 19:59:40 +08:00
    @jerommix 噗。。。 sorry
    重新 @DeeCheung
    leecade
        26
    leecade  
       2012-10-25 20:08:48 +08:00   1
    哥, 直接 sublime vi 模式
    chendahui007
        27
    chendahui007  
       2012-10-26 11:01:31 +08:00
    @leecade how
    dived
        28
    dived  
       2012-11-01 14:47:10 +08:00
    可能是我VIM版本(7.0.237)高了
    按照installation安装完后使用VIM:
    neocomplcache does not work this version of Vim (700).
    Tagbar: Vim versions lower than 7.0.167 have a bug that prevents this version of Tagbar from working. Please use the alternate version posted on the website.
    这个怎么搞,在~/.vim/vimrc 还是~/.vim/bundles.vim里面修改
    humiaozuzu
        29
    humiaozuzu  
    OP
       2012-11-01 17:54:02 +08:00
    @dived ~/.vim/bundles.vim 里面把不要的插件注释掉,然后重新进入vim,输入 :BundleClean 就可以清楚插件。
    你的vim版本太旧了,更新下吧。
    yaotian
        30
    yaotian  
       2012-11-02 11:16:36 +08:00
    自动完成双引号和右边括号,但是好像还是要敲一遍?或者还是要敲一下esc?
    yaotian
        31
    yaotian  
       2012-11-02 23:18:49 +08:00
    如何将NERDTree的快捷键换成,+n? 而且leader和后面的字母的间隔需要很短才会生效,设置了间隔时间?
    JesseZ
        32
    JesseZ  
       2012-11-03 12:28:35 +08:00
    多数是终端上用VIM,.vimrc很简单,就下面几个:
    set fileencodings=utf-8,gb18030,utf-16,big5
    set nocompatible
    set fileformats=unix
    set hlsearch
    set incsearch
    set ai
    set ts=4
    tioover
        33
    tioover  
       2012-11-03 14:45:03 +08:00
    yaotian
        34
    yaotian  
       2012-11-15 21:50:42 +08:00
    当打左括号,右括号自动完成。应该用什么快捷键跳出括号?
    zonyitoo
        35
    zonyitoo  
       2012-11-17 00:12:55 +08:00
    左边的tag要生成那个tag文件才能使用,这个比较郁闷,若是能自动生成为好
    upupxjg
        36
    upupxjg  
       2012-11-17 00:16:08 +08:00
    mark一个 ,顺便问大家都用的什么终端?原生的??
    humiaozuzu
        37
    humiaozuzu  
    OP
       2012-11-17 01:05:57 +08:00
    @zonyitoo 是自动生成的

    @upupxjg mac下推荐iTerm2
    这篇文章不错 http://www.yangzhiping.com/tech/iterm2.html
    bwlinux
        38
    bwlinux  
       2012-11-28 09:44:03 +08:00
    @humiaozuzu 为什么有的快捷键工作不正常呢。\a,不正常。我按了\a,都是认为我按了a,。我切换到janus的vim,<leader>是正常的。不知道什么地方出问题了。
    我用arch linux+vim。
    neildd
        39
    neildd  
       2012-11-28 11:10:29 +08:00
    太IDE了
    humiaozuzu
        40
    humiaozuzu  
    OP
       2012-11-28 11:21:49 +08:00
    @bwlinux 我ubuntu下测试过没问题呢。。。 你可以检查下是否安装ack,有修改过我提供的配置吗?其他使用\的快捷键是不是有效?
    bengle
        41
    bengle  
       2012-11-28 11:22:32 +08:00
    @humlaozuzu mac下的命令行oh my zsh也很好用,另外vim下推荐bundle管理
    kosenpai
        42
    kosenpai  
       2012-11-28 15:57:02 +08:00
    感觉太棒了。
    voidman
        43
    voidman  
       2012-11-28 16:50:21 +08:00
    试了一下,非常赞!就是个人觉得默认的配色感觉稍微有点刺眼。
    bwlinux
        44
    bwlinux  
       2012-11-28 22:42:13 +08:00
    @humiaozuzu 这个问题是这么发现的,因为我想用BufferGator,安装了。然后发现\b不正常,然后我发现因为你修改了easymotion的快捷键,我恢复到easymotion的默认。用:map检查,\b是绑定了BufferGatorOpen,但是还是\b还是不行。然后我就测试了\a,发现还是不行。回头我把BufferGator给去除,恢复到你默认的,看easymotion,是不是正常。
    fooCoder
        45
    fooCoder  
       2013-02-01 13:11:34 +08:00
    gundo的撤销功能无法使用。。。求解。。显示提示不能修改 因为选项“modifiable”是关的,set modifiable之后提示已经最新,但是其实没有回到选中的状态。。。
    ioiioi
        46
    ioiioi  
       2013-10-30 23:13:41 +08:00
    我想问问,如何调整easymotion的两次<leader>之间的间隔?默认是“,”,我发现很难把握两次","之间的间隔,导致无法呼出EasyMotion。
    humiaozuzu
        47
    humiaozuzu  
    OP
       2013-10-31 03:17:16 +08:00
    @ioiioi 就是和鼠标的双击一样的操作啊,连按2下+一个vim按键
    AndyCarry
        48
    AndyCarry  
       2014-10-25 20:34:26 +08:00
    怎么我的solarized主题没有生效呢?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     870 人在线       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 22:15 PVG 06:15 LAX 15:15 JFK 18:15
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86