忙しさを理由にしてブログの更新をさぼりまくってしまってました。
2月の終わりにやっと仕事もひと段落ついたので、とりあえず最近やりたいと思ってることを列挙して自分の頭のなかを整理してみます。
最近やりたいと思ってること
- Vimを学習したい
- 遺伝的アルゴリズムで遊びたい
- シミュレーションゲーム(アプリ)を作りたい
- オブジェクト指向についてもっと理解を深めたい
- パッケージ設計について学習したい
そんなわけで、今日はちょっとVimについて勉強したものをまとめようと思います。
Vimを使いたいと思ったわけ
深い理由なんてまったくないのですが、知ってると仕事上Linuxサーバで作業をするときには便利ですよね。
今までは「jで左移動、kで右移動、ddで1行消してyyでコピー…」程度の知識しかありませんでした(emacsは全く使えない)。
軽い作業なら基本的な入力知識さえあれば十分といえば十分なんですけど、やっぱりシェルスクリプトを書いたりLinuxサーバ上で開発をしようと思ったり(以下略)
要はいろんな動画見てたら使いこなしたくなってきた
まあ単純にそれです。Vimmerはなんかかっこいいなと。
なにこの早さ。
とりあえず形から入る
今回はMac上でVimをカスタマイズし、なんかVimを使いこなせてる人っぽい形に仕上げたいと思います。要は形から入るってやつですね。
Vimはすでにインストールされてるものとします。
とはいっても、基本的には参考サイトに載せたのをそのままやっただけです。すみません(´・ω・`)
備忘と、ちょっとハマッた部分のメモもかねて書いてます。
.vimrcを作り、設定を書き込む
コンソール(ターミナル)でvimrcを作成し、Vimの設定を書いていきます。
ここに色々と設定を書いておけばVim起動時に反映されるらしい。
#> vim ~/.vimrc set number filetype indent plugin on syntax on set hidden set wildmenu set showcmd set hlsearch set ignorecase set smartcase set backspace=indent,eol,start set autoindent set nostartofline set ruler set laststatus=2 set confirm set visualbell set t_vb= set mouse=a set cmdheight=2 set notimeout ttimeout ttimeoutlen=200 set pastetoggle=<F11> set shiftwidth=2 set softtabstop=2 set expandtab
とりあえず、なにを意味してるのかよくわからないけどあちこちのサイトに書いてた設定をいれました。
慣れてきたら自然と覚えるだろうし、必要ないと思えるものをなくしていけばいいですよね。
NeoBundleを導入する
VimはNeoBundleを導入することでさらに色々と拡張できるようになるそうです。
#> mkdir -p ~/.vim/bundle #> git clone https://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim #> git clone https://github.com/Shougo/vimproc ~/.vim/bundle/vimproc #> cd ~/.vim/bundle/vimproc #> make
つぎに、色のスキーマを入れます。とりあえずは今回はmolokaiをダウンロードして入れました。
#>mkdir ~/.vim/colors #>mv ~/Downloads/molokai.vim ~/.vim/colors
これで、とりあえず準備完了です。次は.vimrcに設定を書き込みます。
if 1 set nocompatible filetype off if has('vim_starting') set runtimepath+=~/.vim/bundle/neobundle.vim/ endif call neobundle#begin(expand('~/.vim/bundle/')) NeoBundleFetch 'Shougo/neobundle.vim' NeoBundle 'Shougo/neobundle.vim' NeoBundle 'Shougo/vimproc' NeoBundle 'VimClojure' NeoBundle 'Shougo/vimshell' NeoBundle 'Shougo/neocomplcache' NeoBundle 'Shougo/neosnippet' NeoBundle 'jpalardy/vim-slime' NeoBundle 'scrooloose/syntaxtic' NeoBundle 'Shougo/unite.vim' NeoBundle 'Shougo/neomru.vim' NeoBundle 'scrooloose/nerdtree' NeoBundle 'tomtom/tcomment_vim' NeoBundle 'mattn/emmet-vim' NeoBundle 'taichouchou2/surround.vim' NeoBundle 'open-browser.vim' NeoBundle 'mattn/webapi-vim' NeoBundle 'tell-k/vim-browsereload-mac' NeoBundle 'hail2u/vim-css3-syntax' NeoBundle 'taichouchou2/html5.vim' NeoBundle 'taichouchou2/vim-javascript' " インデントに色をつける NeoBundle 'nathanaelkane/vim-indent-guides' colorscheme molokai let g:indent_guides_enable_on_vim_startup = 1 call neobundle#end() endif # あとは上のとおなじ set number . .
最初の「if 1〜endif」は、viで起動した時にエラーにしないためのおまじないみたいです。
あとは、vimを開いて「:NeoBundleInstall」と入力するとインストールされます。
NeoBundleのコマンド
- :NeoBundleInstall インストール
- :NeoBundleUpdate アップデート
- NeoBundleClean 削除(事前にvimrcからプラグインを削除)
付録:XcodeをVimっぽくする
XVimというのを入れることで、XcodeもVimのUIでコーディングできるようになるとか。
Vimを使いこなせないと苦になりそうですけど、無理やり使いこなせるようにするために今回入れちゃいます。
#> cd ~/Library/Application Support/Xcode/ #> mkdir plugins #> git clone https://github.com/XVimProject/XVim #> cd XVim #> make
あとはXcodeを再起動したら、こんな感じに一番したにコマンドを入れる箇所がでてきます。
参考サイト
Vim – NeoBundleの導入 – Qiita
http://qiita.com/puriketu99/items/1c32d3f24cc2919203eb
vim使っているデザイナー/コーダーで、これ入れてないのはヤバっしょプラグインまとめ 8個 – Qiita
http://qiita.com/alpaca_taichou/items/056a4c42fe7a928973e6
vimでインデントに色づけ – Just Another Camelog
http://www.camelstudio.jp/note/vim/186/
XVimで快適コーディング – Qiita
http://qiita.com/MasahiroSakoda/items/6fd2c17493f4e6360b3b