not good but great

プログラミング、アート、映画・本の感想について書きます。

vimを再び使い始めてみた

SublimeText2から乗り移ろう・・・

マウスの操作やコーディングが煩わしい時があって、vimなら楽かなと思い、一念発起。以前ドットインストールを見て多少コマンドを覚えたけど、実際には使っていなかった。

ggとかの基本的なコマンドはウェブブラウジングでVimiumを使っているので、ちょっとだけ覚えている。
Google Chromeをショートカットキーだけで操作可能にする拡張機能「Vimium」 - WEBマーケティング ブログ

とりあえずvimrcを設定する

cd /usr/share/vim

vimrcの場所に移動。

su

rootに移動。これをしていないとvimrcが編集できなかった。

sudo passwd root

パスワードがわからなかったので再設定ww

vim vimrc

これでvimrcの編集ができる。

set number
syntax on

とりあえず行番号とシンタックスハイライトを設定した。

基本的な使い方

このあたりを参考にした。

カヤックの人の解説。
http://vimeo.com/22709519

コマンド一覧
Vim 脱初心者コマンドまとめ - NAVER まとめ

vimtutor

これらを見た後に、:Tutorialでも出てくる解説書を読んだ。

まずneobundleを入れる

neobundleはプラグインパッケージマネージャー。いろんなことが楽になりそうなので使うことにする。

neobundleの導入。
vim に慣れたい人に向けて、おすすめセットアップ - Qiita [キータ]

ホームディレクトリ以下に.vimフォルダがないことに気づく。最初に行ったのは/usr/share/vim/vim78のディレクトリ。これは全ユーザに共通のもの。だから自分だけのユーザに適応しようと思った。

sudo rm -rf /usr/share/vim/vim78/bundle

ややこしいのでbundleを消去。

mkdir ~/.vim
mkdir ~/.vim/bundle
cd ~/.vim/bundle
git clone git://github.com/Shougo/neobundle.vim

これで所定の位置にbundleをインストールできた。

cd ../..
vim .vimrc

これに下の設定をペースト。

scriptencoding utf-8
set nocompatible

if has('vim_starting')
  filetype plugin off
  filetype indent off
  execute 'set runtimepath+=' . expand('~/.vim/bundle/neobundle.vim')
endif
call neobundle#rc(expand('~/.vim/bundle'))

NeoBundle 'git://github.com/kien/ctrlp.vim.git'
NeoBundle 'git://github.com/Shougo/neobundle.vim.git'
NeoBundle 'git://github.com/scrooloose/nerdtree.git'
NeoBundle 'git://github.com/scrooloose/syntastic.git'

syntax on
filetype plugin on
filetype indent on

" SSH クライアントの設定によってはマウスが使える(putty だと最初からいける)
set mouse=n

保存して、vimを終了させる。

:NeoBundleInstall

再びvimを立ち上げて、上のコードを実行すると、neobundle.vimをインストールできた!

JSを使いやすくするためにプラグインを導入

JavaScript書くときに便利なVimプラギン集 - Life goes on
いろいろあるみたいだが、以下の二つを導入。
・necomplete
・jscomplete

vimrcに追加してNeoBundleInstallをすると、以下の文句が出た。

[neobundle/install] Target bundles not found.
[neobundle/install] You may use wrong bundle name or all bundles are already installed.

追加が適応されていないので一度iTermを終了させてから、もう一回トライ。するとインストールされた。

"use neocomplete.
let g:neocomplete#enable_at_startup = 1

neocompleteはこれを記述すれば起動時に有効化となる。