标签: vim

  • Mac 下 vim 无法复制到系统剪切板的问题

    Mac 下,如果在 VISUAL 模式下选择了内容,然后 "+y 没法复制到系统剪切板,先用 vim --version | grep clip 来查看 vim 的 clip 功能支持情况。如果没开启 clipboard 模块,那么考虑用 MacVim 来替代。

    编译安装 MacVim,替换掉系统自带的

    brew install macvim --with-override-system-vim
    

    如果编译报类似下面的错,尝试启动 XCode 看看是否有提示需要安装必要工具或同意协议等,参考此 issue

    ** BUILD FAILED **
    
    
    The following build commands failed:
        StripNIB English.lproj/Preferences.nib
    (1 failure)
    make[1]: *** [macvim] Error 65
    make: *** [first] Error 2
    

    或者直接安装 MacVim 后 alias

    alias vim="/Applications/MacVim.app/Contents/MacOS/Vim"
    

    参考

  • Vim 编辑 fish 文件启动慢

    使用 fish shell,尽管不需要经常编写 fish 脚本,但偶尔可能更新下 fish 配置。但在使用集成了 vim-fish 插件的 Vim 时,打开 fish 文件非常慢,以前一直也没细究,今天找了下解决方案。解决后,虽然还是会比打开别的文件慢,但已在接受范围内。

    解决方案:在 vim 配置文件中尽可能地前面添加

    if &shell =~# 'fish$'
        set shell=sh
    endif
    

    参考

  • 集中管理与精简入口

    vim 是个优秀工具,其自由强大的插件是一个很重要的因素。不过一直插件都是手动管理的,搜索下载插件,然后放到指定的目录。如果要升级的话,重新走一边流程(其实很少升级,一般没什么问题,都不会留意是否有新版本不会去升级)。迁移到别的系统中则是把 vimrc.vim 目录一起复制过去。

    但手动的管理插件总感觉有些什么问题,更希望能有一个地方来集中管理,包括安装、升级和移除。把分散的维护工具放在一个统一的入口来做感觉会更好。

    Vbundle 是出于这个目的的一个工具,我没有直接用这个工具,而是使用其一个衍生版本 NeoBundle ,基本思路是在 vimrc 中写上相应插件的列表即可做到自动安装、可选升级和移除等。

    具体使用参照 文档 ,这里简单记录一下。
    (更多…)

  • 解决 fedora 下 sudo vi 不读取 vim 配置

    fedora 下装了 vim 后,默认情况下,vi 会是 vim 的 alias,但在 root 权限下是 /bin/vi,从而没有读取 vimrc 。

    简单粗暴的解决方法是把 root 权限下的 vi 设为 vim 的软链接:

    $ sudo mv /bin/vi /bin/vi.bak
    $ sudo ln -s /usr/bin/vim /bin/vi
    
  • 使用 vimblog 来写 wordpress 文章

    在台式机上有配过,用过几次,后来写博客少了,用 vim 来写就更少了。现在再在笔记本上配一次,备忘一下。

    在 vim 中写(或者说管理)wordpress 的插件应该不少,至少随便找到的有 Vimpressvimblog ,这里用的是后者。

    使用方法很简单:

    • 下载 vimblog.vim 文件,并放到 vim 的根目录下,如:~/.vim/
    • 修改 vimblog.vim 文件,在里面的 get_personal_data 函数中填上博客的信息,如:login(用户名)、passwd(密码)和 site(博客地址,不带 http://),别的参数一般不用修改。
    • 修改 vim 配置文件(.vimrc 或 gvimrc 等),在里面添加以下代码:
    if !exists('*Wordpress_vim')
        runtime vimblog.vim
    endif
    
    • 测试:vim 里运行 :Blog rp 来获取最近的 10 篇文章,有输出就 OK 了,没的话重新看下是否写错了如博客信息等。

    (更多…)

  • 将 vim 中的 tab 转换为 space

    无论是处于协同编程的需要还是重看自己代码的需要,对于同一种语言,保持一致的编程风格是很有必要的。关于这些的讨论很古老也很多资料,这里主要是说说在 vim 中 tab 的处理。

    为了在不同环境中获得相同的效果,采用 space 缩进而不是 tab 缩进是个明智的选择。然而,手动按空格键来缩进会是件痛苦的事情,不但次数多,而且还要计数。因此,采用 softtab 会是一个更好的选择。softtab,即按 tab 键会自动转化为 space 来进行缩进,因此所需要做的便是设定 softtab 的大小。我个人是习惯用 4,好像国外比较多用的是 2。

    vim 中可以简单设置来得到自动缩进,我初学 vim 时参考别人的配置时就拿了这些:

    (更多…)

  • 将默认终端由zsh改回bash

    由于 zsh 的强大,很早以前就将其作为了默认的终端,不过最近在用 vim 多一些,于是想在 vim 里嵌入一个终端而无须频繁地用 !command 的方式来切换,结果很不幸地发现嵌入的 zsh 有乱码,但默认的 bash 没有。

    zsh

    调前者的功夫肯定比后者大,所以毫无疑问地选择了在 vim 中使用 bash 而不是 zsh。
    (更多…)

  • 让vim在windows中更好看

    同学因某种原因需要在windows中使用vim,配置下来感觉和ubuntu的字体视觉相差太远。对比之下,我copy自我ubuntu下的简单配置看起来却美观多了。

    对比来,对比去,终于找到了两者字体差别的所在

    if has(“win32”)
        set guifont=Courier_New:h11:cANSI
    endif

    我的一个效果图:
    (更多…)