网上的一张VIM的使用图,觉得不错就贴在这里(并无盗用之意,只是实在不知道出处是哪),看看各位VIMER们能看出他是怎么实现的不?

code_complete

呵呵,相信Vimer们就心照不宣啦~~我只吐个槽—–那就是,配色是desertEx,嘿嘿

暂无相关产品

30则回应给“一张Vim(gVim)的使用图~”

  1. args说道:

    完全不知道。。。。求出处??

    [回复]

    Dante 回复:

    刚才有朋友已经回答啦~~
    那些for循环之类的使用的这款插件–snipMate
    http://www.vim.org/scripts/script.php?script_id=2540
    有兴趣可以试一下~~

    [回复]

  2. GeassLei说道:

    菜鸟求答案。。

    [回复]

    Dante 回复:

    刚才有朋友已经回答啦~~
    那些for循环之类的使用的这款插件–snipMate
    http://www.vim.org/scripts/script.php?script_id=2540
    有兴趣可以试一下~~ 嘿嘿 http://www.vim.org上有好多好插件的~~

    [回复]

  3. qwert说道:

    snipMate

    http://www.vim.org/scripts/script.php?script_id=2540

    [回复]

    Dante 回复:

    哈哈,楼上正解~~

    [回复]

  4. 果然如此说道:

    其实不是Snipmate,是Codecomplete
    http://www.vim.org/scripts/script.php?script_id=1764

    Snipmate的代码模板功能远强过Codecomplete
    但是Snipmate木有函数形参补全功能……

    话说在我一个留言里面说过好像,Codecomplete我早些时候用过,但是发觉他的模板功能不足,并且函数形参补全遇到复杂一点的形参,例如函数指针类型的形参就会出问题,后来就改用Snipmate了

    [回复]

    Dante 回复:

    哦哦,我那天又特意去看了vim这类相关的插件,像snippetEmu,Snipmate之类,奈何还是不习惯用他们,难道我喜欢手写代码的感觉?呃……杯具……

    [回复]

  5. hydRAnger说道:

    神奇…

    [回复]

    Dante 回复:

    嘿嘿,有时间可以试一下~

    [回复]

  6. hehebushiwo说道:

    看这个应该是code_complete.vim.
    想知道图中出现的高亮的竖调是怎么操作的?有什么用处?

    [回复]

    Dante 回复:

    呵呵,终于看懂啥意思了,那是列模式,ctrl+v进入

    [回复]

    Sunny 回复:

    他的意思是移动鼠标时的对齐/indent 提示吧, 我也想知道怎么实现的.

    [回复]

    Yggdroot 回复:

    以前觉得这个功能不错,就实现了一下:
    autocmd CursorMoved,CursorMovedI *.cpp,*.c,*.h,*.cc
    \ if virtcol(‘.’)%(&shiftwidth) == 1 && virtcol(‘.’) != 1 &&
    \ index(['{','}'],getline(‘.’)[virtcol('.')-1])>=0 |
    \ setlocal cursorcolumn |
    \ else |
    \ setlocal nocursorcolumn |
    \ endif
    后来觉得绕眼就去掉了。

    [回复]

  7. iam070说道:

    是不是需要原先建立标准函数库的tags

    [回复]

    hehebushiwo 回复:

    运行下面这个脚本:生成系统函数的tag文件(~/.vim/systags)。
    .vimrc 中添加此tag文件
    set tags+=~/.vim/systags

    脚本文件
    ——————————————————-
    TAGS_BIN=”/usr/bin/ctags”
    SYSTAGS_OUT=”$HOME/.vim/systags”
    TAGFLIST=”/usr/include/*”
    RTAGFLIST=”/usr/local/include/gtk-2.0/ \
    /usr/include/sys/ \
    /usr/include/bits/ \
    /usr/local/include/glib-2.0/ \
    /usr/local/include/mysql/ \
    /usr/include/net \
    /usr/include/netinet \
    /usr/local/include/cairo \
    /usr/local/include/curl”

    CTAGS_FLAGS=”–c-kinds=+p –fields=+iaS –extra=+q –language-force=c”

    #[[ -x $CTAGS_BIN ]] && \
    #$CTAGS_BIN –verbose $CTAGS_FLAGS -f $SYSTAGS_OUT $TAGFLIST -R $RTAGFLIST
    ctags –c-kinds=+p –fields=+S -f $SYSTAGS_OUT $TAGFLIST -R $RTAGFLIST
    ls -lh $SYSTAGS_OUT

    [回复]

    Dante 回复:

    嗯嗯,楼上正解~~ 把常用的几个库都给建立tags啦~~哈哈

    [回复]

    iam070 回复:

    windows的话,只能自己来了。
    我问过code complete的作者了,他的标准函数形参补全也是需要建立tags。

    还有,你的_vimrc里面“自动记住上次文件打开位置”那部分跟code complete和echofunc冲突,导致第一次打开文件,必须在插入模式下输入几个字符,退出再打开,两个插件才能正常工作。

    [回复]

    Dante 回复:

    呃,codecomplete的问题应该确实要建立tags哦。
    对于那个自动记住文件位置那段代码,会有兼容的问题吗,那段代码是vimrc_example中的哦,应该没有什么问题的,我回去研究一下~~~

    [回复]

    iam070 回复:

    我跟作者沟通了一下,他也不知道为什么会有这种问题。只是问我的_vimrc设置有没有问题。

    我就试着简化了一下_vimrc,看到你的那段记住打开位置的代码,不顺眼,删除了,一切就OK了。

    [回复]

    Dante 回复:

    呃,我不是用codecomplate……是用snipmate,所以一直没发现有这样的问题……

    [回复]

  8. ivy说道:

    求解:这段话是指的是哪部分代码?
    你的_vimrc里面“自动记住上次文件打开位置”那部分跟code complete和echofunc冲突,导致第一次打开文件,必须在插入模式下输入几个字符,退出再打开,两个插件才能正常工作。

    我用latex_suite编辑tex时,每次打开文件都不能自己加载插件,要输入一条命令,关闭再打开才行,请问是什么问题?

    [回复]

    Dante 回复:

    那段代码的话是这里:
    autocmd BufReadPost *
    \ if line(“‘\””) > 1 && line(“‘\””) <= line(“$”) | \ exe “normal! g`\”” | \ endif 对于第二个问题的话,你是不是没有打开文件类型检查? filetype plugin indent on

    [回复]

    ivy 回复:

    打开了,用其它语言比如C,C++都能识别并补全,就用latex_suite发现有问题.

    [回复]

    Dante 回复:

    奇怪,你要输入一条什么命令才正常的?

    [回复]

    ivy 回复:

    我要输入\documentclass之类的tex命令.
    所以每次都不能直接用模板,要先输入一条命令,再打开用:TTemplate命令选择模板.所以有点郁闷,不知道是什么问题.

    [回复]

  9. bingoboy说道:

    博主。。它那个 for或者switch 里面生成的高亮显示的那个如何快速编辑阿。。。

    [回复]

    Dante 回复:

    snipmate

    [回复]

  10. laoshufeifei说道:

    您好,我问个问题,我把snipMate配置好后,打入if然后按tab,他会自动打出{ },但是我不太习惯这种风格,我想问的是怎么把{ } 在同一列中对齐啊?

    [回复]

    laoshufeifei 回复:

    ok,我知道了,修改.vim/snippets/下的对应的文件就可以了。
    嘿嘿

    [回复]

发表评论