なにかを

たまになにかをかくかも

MacVimからVimへ その4

今回はMacVimやMacVim-kaoriya版からvimへ移行したときに あれ? となるかもしれないことを解消する設定の話

256色

前々回でiTermに256色表示できるように設定したのですがそれだけだとvim上では256色になりません
なのでvimrcに以下の設定を追加します

if !has('gui_running')
    if (&t_Co != 256)
        set t_Co=256
    endif
endif

Mouse

実はterminal版でも前回のコンパイルオプションでmakeされたvimは使えてしまいます
( --with-features=huge のおかげ)
ただこれだとまだマウスがつかえるよう〜ってだけでちゃんと設定をしないといけません
同じくvimrcへ

if has('mouse')
    "全モードでmouse使う
    set mouse=a
    "マウスの挙動はxtrem2に
    set ttymouse=xtrem2
endif

念のため if を使ってます
これではれてマウスが使えるようになりました!!
実際マウスを使うかは怪しいですが

速度

terminalのvimはMacVimにくらべて遅いです。特にスクロールがかなり遅いです....
個人的にはMacVimもシンタックスオンにしてでかいファイルを編集するとwindowsgvim-kaoriya版に比べると結構遅いと感じますが...
あくまで個人の感覚ですが
gvim-kaoriya >>>>越えられない壁>>>>>> MacVim >>> iTerm+zsh+vim
ubuntuとかのvimは早いのかなぁ〜
(xcodeはそこまで重くないのでもうすこしMacVimにはがんばってもらいたいものですが...へ? 文句ばかりいわずに開発に参加?...ガタガタガタ) でも嘆いてばかりでも始まりません。できるだけ設定しましょう(二行だけ)

if !has('gui_running')
    set ttyfast
    set lazyredraw
endif

これで多少早くなったはずです!!

<C-w><C-s>

横分割がきかない!!
vimを起動して鼻歌混じりに何かを編集中にふと画面分割したくなって分割しようとする分割されない!!
<C-w>は効くのに<C-w><C-s>がなぜか効かない!!
と私も戦慄しました。癖で<C-w>sではなく<C-w><C-s>と入力していつも分割しているのにそれが効かなかったのです
でもご安心をちゃんと設定を書けば効くようになります
ただし今回は .vimrc ではなく .zshrcに設定を書きます

stty stop undef

これでok

その他

MacVim-kaoriyaはwindowsgvim-kaoriya版と同じくデフォルト状態でもある程度使えるようにシステムが最初に読み込む.vimrc と .gvimrcに便利な設定が書かれています でも自作のvimはそんな設定なんて読み込まないので自分で.vimrcに設定を加えなくてはなりません ということでもしかしてハマるかもしれない設定を書きます

"ステータスライン常に表示
set laststatus=2
"コマンドライン補間強化
set wildmenu
"タイトル表示
set title
"タブとか改行を非表示
set nolist
" バックスペースでインデントや改行を削除できるようにする
set backspace=indent,eol,start

次回もしかしたらMacVimに最新パッチを当てるの巻きをかくかもしれない...