留言板

Vimer的程序世界(Vim非官方中文博客)

一个Vim使用者的程序世界,内容主要涉及Vim(gVim)常用技巧,linux编程,c/c++/python/php编程,各种web前端开发也可能涉及~

欢迎订阅,也欢迎与我联系,告诉我您希望看到哪些方面的内容~~

订阅我的博客

Email: zny2008#gmail.com
技术问题请尽量在博客中提问即可,我每天会定时回答,如果是私人话题请邮件。

关于友情链接:
本博的友情链接要求有两点,达到任何一点都欢迎交换:

  • 1)pr>=3,或者其他等价的数值。
  • 2)既然叫做友情链接,那么友情自然第一,只要与博主是好友关系,即可交换链接。

关于在评论中粘贴代码:
请使用如下语法,可以让代码着色并正确缩进:

<pre lang="cpp" line="1">

</pre>

*

*

662 个评论 在 “留言板”

  1. mankim 说:

    你好!
    我先在使用vim写rails.发现minibuffer是个好插件。但是有时候在NERDTree上打开另一个文件时,minibuffer会重复打开,这样觉得很麻烦。这有什么解决办法吗?或者说有没有类似的插件?非常感谢!

    [回复]

  2. 小菜 说:

    博主你好,作为ide的发烧友,最近从emacs折腾到vim,发现还是vim比较顺手,但是有个困扰我很久的初学者问题,网上看到的vim配置都是在一个.vimrc里面,我觉得这样的配置全部拧在一起,维护起来很累,有没有什么办法分离出来?如果有的话,该怎么弄?我百度到 $ svn co svn://orangoo.com/vim ~/.vim_runtime,这个里面的配置我试用了下,不错,主要是结构比较清晰,但是我还是不太清楚加载顺序,能讲解一下吗?谢谢你的帮助

    [回复]

    Dante 回复:

    vimfiles的目录就是按照功能模块拆分好的哈,vimrc的功能都可以拆分到里面作为一个单独的文件,比如syntax,plugin,等等

    [回复]

  3. cv 说:

    我的麻烦事又来了,我现在使用的是win7,主题elementary,遇到了点麻烦,在全屏的时候,我的vim的命令行那一栏有半行潜伏到了屏幕之下,给人的感觉和使用体验都很糟糕,我使用的别的软件都不会出现这种情况,想请教一下解决方案,是否可以让vim在最大化时留下些位置出来,谢谢,具体模样可以参考此图。

    http://min.us/mbjOcHmGi3

    [回复]

    Dante 回复:

    汗,我也是win7。。但是从来没遇到过呀。。
    你的主题基本已经看不出来是win了。。

    [回复]

    cv 回复:

    这个真心弄得我比较无可奈何了,只能在配置中把大小调整好。哎。

    [回复]

  4. Marslo 说:

    Hello Vimer,

    我有个关于vim一键运行perl的问题:

    我看了你的一键运行python的那篇博客,然后把
    setlocal makeprg=python\ -u
    改成了
    setlocal makeprg=perl\ -u

    然后其他的都没变(除了改函数名),在map了命令之后运行,发现了两个问题,
    1. 源文件路径有空格的无法运行,例如c:\Docuemnts and Settings\等这些路径就无法识别
    2. 我将pl源文件拷贝到了没有空格的路径下,结果运行出现了perl.exe.stackdump文件,并且运行的错误为
    0 [sig] perl 5724 open_stackdumpfile: Dumping stack trace to perl.exe.stackdump

    请问下是什么原因呢?如何实现perl的一间运行?
    非常感谢!!

    [回复]

    Marslo 回复:

    Hello Vimer,

    我发现原因了,原因就是在命令后边的-u。
    python\ -u 就等于 python -u xx.py

    而如果使用了perl -u xx.pl的话,就是会产生stackdump的文件,所以去掉\ -u 就能再quickfix里生成正确的结果了。:)

    [回复]

    Dante 回复:

    恭喜~~~

    [回复]

  5. cv 说:

    你好,很抱歉并没有将您的博客内容全部看完就提出可能已经被解决过的问题。
    我遇到一个问题,有1万个文件,我要从中查找某个特定的字符串,请问在vim下有什么命令,脚本或者插件可以解决这个问题吗?
    谢谢。

    [回复]

    madper 回复:

    写个bash或者perl脚本, 然后用vim调用? 在perl里, 可以用@files = , 来获得你要的文件, 然后把正则当作程序参数读入, 进行正则匹配, 如果匹配成功, 同时打印出匹配的行及其所在的文件的文件名.

    [回复]

    cv 回复:

    谢谢

    [回复]

    madper 回复:

    貌似这里把我的尖括号给当成标签给读走了… 悲剧… 应该是@file = \, 不知道我加了转义符能不能管用. 或者用@file = glob ‘*.txt’. 我记得vim是可以用perl来写扩展的, 这样的话只要对vim扩展机制比较熟悉, 很容易就可以写出来吧.

    [回复]

    madper 回复:

    额, 还是被读走了..

    [回复]

    Dante 回复:

    vingrep

    [回复]

    Dante 回复:

    敲错了。。vimgrep

    [回复]

    cv 回复:

    谢谢,这个一看就是我想要的东西。

    [回复]

  6. 1
    
    你这个速度很快啊。是自己的服务器还是买的空间啊。?。

    [回复]

    Dante 回复:

    淘宝上买的~ wopus

    [回复]

  7. 1
    
    嗯。刚一开始没看到。就是想问下你这个模版是自己做的吗?呵呵。这个很好。

    [回复]

    Dante 回复:

    不是我自己做的哈,AzSands-theme

    [回复]

  8. UB 说:

    大哥,问个问题:使用NERD_Commenter注释html内的javascript时,注释形式是html的”<!–…–>”而非”//”,这个问题怎么解决呢?有没有更好的注释插件推荐?谢谢!

    [回复]

    Dante 回复:

    这个貌似还真解决不了。。

    [回复]

  9. Neil 说:

    您好。我想请问一个关于gdb的问题。这个问题我google了很久都没找到解决的方法。在gdb调试的时候,使用tty /dev/pts/1使之重定向到另外一个终端。然后run。在重定向后的终端中会显示:warning: GDB: Failed to set controlling terminal: 不允许的操作。这时进行输入的话会出现很高的延迟,导致有些字符无法输入,而且敲回车后每次都会显示找不到命令。请问您遇到过这样的情况吗?

    [回复]

  10. ybtsdst 说:

    请问博主,在vim中是否可以查看函数间的调用关系呢?比方说我想查看当前的这个函数在其他哪些函数中出现过等类似的~

    [回复]

    Dante 回复:

    ctags本身无法实现,试一下cscope

    [回复]

    ybtsdst 回复:

    谢谢博主~

    [回复]

    madper 回复:

    cscope for vim的地址: http://cscope.sourceforge.net/cscope_vim_tutorial.html
    而且, 可以确定的是, cscope可以做到.

    [回复]

    ybtsdst 回复:

    谢谢

    [回复]

  11. cblhxx 说:

    你好,我之前一直在用sourceinsight做中小项目。
    目前才开始转做android,实再受不了每次把代码拷贝到本地,然后用si在里面搜索来搜索去。
    目前尝试使用vim在服务器调试,很多地方都不习惯。比如si 我经常会把函数内很多关键地方设置高亮,经常会开很多个文件来回看。
    在查看log的时候,使用ultraedit的列出所有功能也非常方便。改使用vim+grep效果差很多。

    真心求教怎么用vim实现这些已经习惯了的操作,让我有动力切换vim。

    现在我只会基本操作,停留在vimtutor的阶段,熟练掌握那些最基本操作,但心中没有半点墨水,不知道用vim怎么做开发。

    [回复]

    Dante 回复:

    可以看一下博客右上角最热文章那几篇把vim打造成ide哈,应该会有所帮助。

    [回复]

    madper 回复:

    你需要的什么功能还没有实现, 直接说出你要的具体功能, 或许更容易帮你解决问题. 比如代码跳转, 用cscope, 比如自动补全, 用clang-vim

    [回复]

  12. wuxx 说:

    您好,请问ctag的用法。
    如果我有很多项目,需要来回切换查看,我又不想每次进入一个项目都要设置一下set tags=….
    在.vimrc怎么配置呢?
    这样可以吗?
    set tags=../ ../../ ../../../

    [回复]

    Dante 回复:

    set tags+=xxxx

    [回复]

  13. 知知了了 说:

    博主,你好,请教两个问题:
    1、我用xshell,发现他自带的标签切换快捷键,跟我一直设置的vim标签快捷键冲突了,都是alt+1,2,3,4…,vim用的比较习惯了,不想修改,在xshell快捷键设置里面没有找到关于标签切换的设置,请问有没有办法解决呢?
    2、http://www.vimer.cn/2010/03/%e5%bc%ba%e7%83%88%e6%8e%a8%e8%8d%90-%e5%b0%86gui%e9%85%8d%e8%89%b2%e8%bd%ac%e5%8c%96%e4%b8%ba%e7%bb%88%e7%ab%af%e9%85%8d%e8%89%b2%e7%9a%84vim%e6%8f%92%e4%bb%b6-gui2term-py.html 我看了这个文章,发现这个插件在我的服务器上用不了,总是提示找不到rgb,能不能麻烦您帮我把freya.vim转一份发我邮箱呢,感谢~

    [回复]

  14. arch 说:

    你做编程的话,不好整合吧,它的体系好像过于庞大

    [回复]

    Dante 回复:

    不太理解整合是什么意思?

    [回复]

  15. arch 说:

    python怎么样,实用吗?有必要学习吗?

    [回复]

    Dante 回复:

    这个没法笼统回答,看你用来干什么。。。

    [回复]

  16. zk546113096 说:

    哈哈,博主你好,虽然我blog还是pr2,但是我还是大胆一试,我也是gvim用户,是个前端攻城师,想做个朋友,交换友链,感谢博主

    [回复]

    Dante 回复:

    友链的话还是希望能pr>2哈,否则一旦开了口,别人交换就不好说了。。望见谅

    [回复]

    zk546113096 回复:

    好吧,我再加油啊

    [回复]

  17. gauchy 说:

    你好,我用VIM也有几年了,一直很顺手。最近系统升级到WIN7,安装了gVIM7.3版本后,安装了c.vim,可是在启动后能看到C/C++菜单,用鼠标点击也可以用,就是无法使用hotkeys,每次按下“\”就“叮”的响一声,根本无法使用哪些快捷键,很不爽,不知道博主有没有什么好办法?
    我在_vimrc中也打开了“filtetype plugin on”,使用“/”查找也没有问题。
    我的win7是在域里面,查看$HOME的值是“H:\”,因为我们公司给每个人分配了一个home盘,不知道键盘映射是不是跟这个有关?

    [回复]

    Dante 回复:

    有没有试过把vimrc文件删掉试试?

    [回复]

  18. madper 说:

    蛋神, 我刚看了看留言, 发现很多人问得问题是重复的, 不妨准备一个faqs, 让大家提问前先去看, 这样能省去很多无用的问题.

    [回复]

    Dante 回复:

    看你回答了好多问题,哈哈

    嗯,有faq的确会好一些,不过根据我的经验,大部分网友应该不会去有耐心去翻faq,可能直接
    1. 搜索
    2. 留言
    了。。。

    [回复]

  19. zero 说:

    博主,一直在用VIM写代码,但总感觉有些不足,希望博主请教,1:能不能让VIM开辟一个侧边,写完代码后一键运行,可以在侧边栏显示出现了那些错误,并且光标可以停在出错的地方,修改后快捷键跳到下一个错误;2:在底部开辟一栏,上边是代码,下边就是该代码运行的情况

    [回复]

    madper 回复:

    侧边栏不用一直存在, 编译出错后弹出来就可以吧? 如果你能接受这个设定, 可以考虑c.vim这个插件, 虽然很多人不喜欢这个插件(没用的功能太多了), 但是你可以参考里面的做法, 写出自己想要的功能.

    [回复]

  20. 小明 说:

    hi

    我遇到一个比较怪的问题,是关于omnicppcomplete的,
    int f()
    {
    std::vector v;
    v.
    }

    这样能弹出补全菜单

    std::vector v;

    int f()
    {
    v.
    }
    而这样确不行

    好像omnicppcomplete没有识别出全局变量。

    这个问题应该怎么解决?

    [回复]