はじめに
金沢スマートフォンアプリプロジェクトの第1回Vim勉強会で使用した資料です。
授業ではterapadを使用していますが、その10倍...いや100倍(?)の操作性・拡張性をもつVimエディタの紹介をします。
さあ、快適なプログラミングライフに向けて、その環境を整えていきましょう^ω^!
想定する読者
terapadってなんか味気ない・面白くないと思っている人
Vimのインストールを終えた人
[まだの人]
Macはターミナル→vimと入力
Windowの方はこちらから
ゴール
Vimを好きになる
少しづつお互いのことを知って、距離を縮めていきましょう。
ベタですが、あらかじめディズニーランドに行く約束をしてあげると発展しやすいです。
第1回では、Vimの大まかな理解~カスタマイズ(小)をゴールとします。
できれば授業の課題や個人開発でも使用して、すこしづつ慣れて頂けたらなと思います。
Vimとは何か
主にUnix系OSに標準でインストールされているオープンソースのエディタ
キーボードのみで操作することを前提としています。
ちなみにVimは1987年生まれの28歳...むしろストライクゾーンだよね?
どういうところが好きなのか
・カスタマイズ性が高い。
・CUIである。
→他のCUIとの親和性が高い (tmux, Ruby on Rails)
→起動が軽快(メモリ不足でXcodeが動かない...←よく分からない)
Vim操作に慣れよう
操作とか言ってはいけませんね。扱い方です。
授業の課題ファイルなどをVimで開いて、動作の確認してみましょう。
以下を参考にやっていきます。
Vimキーマップ
+で普段よく使うコマンドを紹介します。
コマンド | 内容 |
---|---|
yy | 1行コピー |
p | ペースト |
u | 1つ前に戻る |
ctr+r | uの反対 |
Vimをカスタマイズしよう
現時点での私のVim...terapadがどうだとか言えませんね。
Vimの設定は~/.vimrc
に記述していきます。vim .vimrc
で開き、何か書かれている場合はdを長押しして全部削除してしまいましょう。(0からカスタマイズ!)
無ければ各自、ファイルを作成してください。vim .vimrc
でok!
コード | 内容 |
---|---|
set number | 行番号表示 |
set expandtab | Tabキーを空白に変換 |
set laststatus=2 | 常にステータスラインを表示 |
上記のコードを記述して保存して終了:wq
します。
再度、vim .vimrc
で開いてみると、Vimの左側に行番号が追加されていることが確認できます。
上記の他にも文字色を変えたり..のカスタマイズ方法は様々です。
各自Webで調べるなどして、自分色に手を加えてみてください。
なんかぐちゃぐちゃして分かんねえ!という方
Vimにはノーマルモードと挿入モードがあります。
通常、vimでファイルを開いた時はノーマルモードになっており、主にカーソル移動を主とします。
何か文字を入力したいとなれば、挿入モードに移ることで入力できます。
カーソル移動はノーマルモード、入力は挿入モードと覚えておくと良いでしょう。
ノーマルモード→挿入モード | 挿入モード→ノーマルモード |
---|---|
i (insertの頭文字) | ctr+[ |
capslockをctrに設定すると捗りますよ..ボソッ by vim
以上までが第1回Vim勉強会の内容になります。
+α(次回) プラグインを導入してみよう
NeoBundleを使用します。
NeoBunldeとは、vimプラグインのパッケージマネージャーです。
NeoBundleを利用してVimプラグインを一元管理する
Neobundleそのもののインストール等、詳しくは上記のリンクにまとめられているので、参考にしてください。
Neobundleを使用するためには~/.vimrc
を開いて、以下のように記述します。
はじめは練習も兼ねて、neobundle自体をneobundleで管理します。
""---------------------------
" プラグイン管理 Neobundle
"---------------------------
" bundleで管理するディレクトリを指定
set runtimepath+=~/.vim/bundle/neobundle.vim/
" ここからNeobundleを書いていく場所だよ:
call neobundle#begin(expand('~/.vim/bundle/'))
" neobundle自体をneobundleで管理
NeoBundleFetch 'Shougo/neobundle.vim'
" ここでNeobundleで管理するのは終わりね:
call neobundle#end()
filetype plugin indent on
NeoBundleCheck
Vimを保存して終了し、再度Vimを開こうとするとこのプラグインをインストールするか?とVimに尋ねられます。y(yes)を押して、インストールしましょう。
次いでeasymotionをインストールします。call neobundle#begin(expand('~/.vim/bundle/'))
からcall neobundle#end()
の間に
以下を記述しましょう。
`NeoBundle 'Lokaltog/vim-easymotion'`
" ホームポジションに近いキーを使う
let g:EasyMotion_keys='hjklasdfgyuiopqwertnmzxcvbHJKLASDFGYUIOPQWERTNMZXCVB'
" 「'」 + 何かにマッピング
let g:EasyMotion_leader_key= "'"
" 1 ストローク選択を優先する
let g:EasyMotion_grouping=1
詳しい使い方はこちら↓
Vim-easymotionでカーソル移動を爆速にして生産性をもっと向上させる
easymotionは私がVimすごい!となった初めてのプラグイン...恋のキューピットです!
これでVimのもつ拡張性が伝わればなと思います!
おわりに
第2回をお楽しみに!