标签归档: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

我的一个效果图:
继续阅读