読者です 読者をやめる 読者になる 読者になる

Λlisue's blog

つれづれなるままに更新されないブログ

Debian wheezy (64 bit)に最新版のVimを入れたメモ

暗黒美夢王ことShougoさん作のneocomplcache続編にあたるneocompleteが早くなったらしく、すごく使いたかったのです。

ただ、このneocomplete、使用可能条件が下記のように厳しくDebian Wheezyのパッケージマネージャーにて入るVimでは使えませんでした。

  • Luaインタープリタ
  • Version 7.7.885 以上

仕方がないので下記のように条件に当てはまらないVimの場合はneocomplcacheを使うようにしていたのですが、ぶっちゃけメイン使用のDebianですらクリアできない条件を他端末でクリアできるわけもなく、ただただそこに分岐表現が存在しているだけでした。

  if has('lua') && ((v:version >= 703 && has('patch885')) || v:version >= 704)
    NeoBundleLazy "Shougo/neocomplete.vim", {
          \ "autoload": {
          \   "insert": 1,
          \ }}
    let g:neocomplete#enable_startup = 1
    let s:hooks = neobundle#get_hooks("neocomplete.vim")
    function! s:hooks.on_source(bundle)
      let g:acp_enableAtStartup = 0
      let g:neocomplete#enable_smart_case = 1
      let g:neocomplete#sources#syntax#min_keyword_length = 3
    endfunction
  else
    NeoBundleLazy "Shougo/neocomplcache.vim", {
          \ "autoload": {
          \   "insert": 1,
          \ }}
    let g:neocomplcache_enable_startup = 1
    let s:hooks = neobundle#get_hooks("neocomplcache.vim")
    function! s:hooks.on_source(bundle)
      let g:acp_enableAtStartup = 0
      let g:neocomplcache_enable_smart_case = 1
      let g:neocomplcache_min_syntax_length = 3
    endfunction
  endif

なので面倒くさいですがソースからインストールしました。以下手順です。

コンパイルに必要なパッケージのインストール

ソースからコンパイルするので色々と必要になります。下記コマンドを実行して必要なパッケージをインストールしてください。

% sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
    libgtk2.0-dev libatk1.0-dev libbonoboui2-dev liblua5.2-dev \
    libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby-dev lua5.2 ruby mercurial

既存Vimの削除

すでにVimをインストールしたことがあれば削除してください。どれをインストールしたかよくわからないかたは下記コマンドにて削除できます。

% sudo apt-get remove vim vim-runtime gvim vim-tiny vim-common vim-gui-common

Mercurialを利用して最新をダウンロード後コンパイル

VimソースコードMercurialを利用して管理されているので最新を落としてきます。Mercurialは最初の必要パッケージのインストールでインストールされているはずですが、もしhgが存在しないと言われた場合はsudo apt-get install mercurialでインストールしてください。

% hg clone https://code.google.com/p/vim/
% cd vim
% ./configure --with-features=huge \
            --disable-darwin \
            --disable-selinux \
            --enable-luainterp \
            --enable-perlinterp \
            --enable-pythoninterp \
            --enable-python3interp \
            --enable-tclinterp \
            --enable-rubyinterp \
            --enable-cscope \
            --enable-multibyte \
            --enable-xim \
            --enable-fontset \
            --enable-gui=gnome2
% make
% sudo apt-get install checkinstall
% sudo checkinstall

最後にsudo make installの代わりにパッケージマネージャ的なものを利用(checkinstall)しています。ここは普通にsudo make installsudo paco -D make installなどでも構いません。

Gnome用のデスクトップファイルの作成

GvimGnomeから便利に使えるようにするためにGnome用のデスクトップファイルを作成します。 下記内容で~/.local/share/application/gvim.desktop(個人用)もしくは/usr/share/applications/gvim.desktop(システム用)というファイルを作成してください。

#!/usr/bin/env xdg-open
[Desktop Entry]
Name=GVim
Version=7.3
GenericName=Editor
Comment=Graphical version of Vim
Terminal=false
Icon=gvim
Type=Application
Exec=gvim %U
TryExec=gvim
Categories=Programming; System Utilities

追記:

新しいファイルをVimのタブとして開きたい場合はOpen files in GVIM in new tab in Gnome3を参考にしてください。