网上的一张VIM的使用图,觉得不错就贴在这里(并无盗用之意,只是实在不知道出处是哪),看看各位VIMER们能看出他是怎么实现的不?
呵呵,相信Vimer们就心照不宣啦~~我只吐个槽-----那就是,配色是desertEx,嘿嘿
作者是 Vim.
发布于 in最后更新于 .
网上的一张VIM的使用图,觉得不错就贴在这里(并无盗用之意,只是实在不知道出处是哪),看看各位VIMER们能看出他是怎么实现的不?
呵呵,相信Vimer们就心照不宣啦~~我只吐个槽-----那就是,配色是desertEx,嘿嘿
Pingbacks已打开。
args on #
完全不知道。。。。求出处??
Reply
Dante on #
刚才有朋友已经回答啦~~
那些for循环之类的使用的这款插件--snipMate
http://www.vim.org/scripts/script.php?script_id=2540
有兴趣可以试一下~~
Reply
GeassLei on #
菜鸟求答案。。
Reply
Dante on #
刚才有朋友已经回答啦~~
那些for循环之类的使用的这款插件--snipMate
http://www.vim.org/scripts/script.php?script_id=2540
有兴趣可以试一下~~ 嘿嘿 www.vim.org上有好多好插件的~~
Reply
qwert on #
snipMate
http://www.vim.org/scripts/script.php?script_id=2540
Reply
Dante on #
哈哈,楼上正解~~
Reply
果然如此 on #
其实不是Snipmate,是Codecomplete
http://www.vim.org/scripts/script.php?script_id=1764
Snipmate的代码模板功能远强过Codecomplete
但是Snipmate木有函数形参补全功能……
话说在我一个留言里面说过好像,Codecomplete我早些时候用过,但是发觉他的模板功能不足,并且函数形参补全遇到复杂一点的形参,例如函数指针类型的形参就会出问题,后来就改用Snipmate了
Reply
Dante on #
哦哦,我那天又特意去看了vim这类相关的插件,像snippetEmu,Snipmate之类,奈何还是不习惯用他们,难道我喜欢手写代码的感觉?呃……杯具……
Reply
hydRAnger on #
神奇…
Reply
Dante on #
嘿嘿,有时间可以试一下~
Reply
hehebushiwo on #
看这个应该是code_complete.vim.
想知道图中出现的高亮的竖调是怎么操作的?有什么用处?
Reply
Dante on #
呵呵,终于看懂啥意思了,那是列模式,ctrl+v进入
Reply
Sunny on #
他的意思是移动鼠标时的对齐/indent 提示吧, 我也想知道怎么实现的.
Reply
Yggdroot on #
以前觉得这个功能不错,就实现了一下:
autocmd CursorMoved,CursorMovedI *.cpp,*.c,*.h,*.cc
\ if virtcol('.')%(&shiftwidth) == 1 && virtcol('.') != 1 &&
\ index(['{','}'],getline('.')[virtcol('.')-1])>=0 |
\ setlocal cursorcolumn |
\ else |
\ setlocal nocursorcolumn |
\ endif
后来觉得绕眼就去掉了。
Reply
iam070 on #
是不是需要原先建立标准函数库的tags
Reply
hehebushiwo on #
运行下面这个脚本:生成系统函数的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
Reply
Dante on #
嗯嗯,楼上正解~~ 把常用的几个库都给建立tags啦~~哈哈
Reply
iam070 on #
windows的话,只能自己来了。
我问过code complete的作者了,他的标准函数形参补全也是需要建立tags。
还有,你的_vimrc里面“自动记住上次文件打开位置”那部分跟code complete和echofunc冲突,导致第一次打开文件,必须在插入模式下输入几个字符,退出再打开,两个插件才能正常工作。
Reply
Dante on #
呃,codecomplete的问题应该确实要建立tags哦。
对于那个自动记住文件位置那段代码,会有兼容的问题吗,那段代码是vimrc_example中的哦,应该没有什么问题的,我回去研究一下~~~
Reply
iam070 on #
我跟作者沟通了一下,他也不知道为什么会有这种问题。只是问我的_vimrc设置有没有问题。
我就试着简化了一下_vimrc,看到你的那段记住打开位置的代码,不顺眼,删除了,一切就OK了。
Reply
Dante on #
呃,我不是用codecomplate……是用snipmate,所以一直没发现有这样的问题……
Reply
ivy on #
求解:这段话是指的是哪部分代码?
你的_vimrc里面“自动记住上次文件打开位置”那部分跟code complete和echofunc冲突,导致第一次打开文件,必须在插入模式下输入几个字符,退出再打开,两个插件才能正常工作。
我用latex_suite编辑tex时,每次打开文件都不能自己加载插件,要输入一条命令,关闭再打开才行,请问是什么问题?
Reply
Dante on #
那段代码的话是这里:
autocmd BufReadPost *
\ if line("'\"") > 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
对于第二个问题的话,你是不是没有打开文件类型检查?
filetype plugin indent on
Reply
ivy on #
打开了,用其它语言比如C,C++都能识别并补全,就用latex_suite发现有问题.
Reply
Dante on #
奇怪,你要输入一条什么命令才正常的?
Reply
ivy on #
我要输入\documentclass之类的tex命令.
所以每次都不能直接用模板,要先输入一条命令,再打开用:TTemplate命令选择模板.所以有点郁闷,不知道是什么问题.
Reply
bingoboy on #
博主。。它那个 for或者switch 里面生成的高亮显示的那个如何快速编辑阿。。。
Reply
Dante on #
snipmate
Reply
laoshufeifei on #
您好,我问个问题,我把snipMate配置好后,打入if然后按tab,他会自动打出{ },但是我不太习惯这种风格,我想问的是怎么把{ } 在同一列中对齐啊?
Reply
laoshufeifei on #
ok,我知道了,修改.vim/snippets/下的对应的文件就可以了。
嘿嘿
Reply