OSはWindowsXP、メモをとるならWindows付属のメモ帳という本格派の普通人が、vimでプログラムコードでも何でもない普通の文章を書いてみるようになるまでのステップを書いてみる。「初心者が初心者に教える」といった具合。初心者の気持ちが強く残っているうちに記録しておく。
ベテランから見れば気が狂いそうなほど大雑把な使い方だろうけれど、これ位いいかげんでも若干は効率化できるという一例。
1. gvimをダウンロードしてインストール
http://www.kaoriya.net/#VIM71
「vi」から生まれた「vim」の中でも、「gvim」は日本語向け設定が初めから追加されているものがあり、ヘルプファイルも日本語化が進んでいて便利。
:Tutorial とコマンドを入力すれば日本語チュートリアル開始。内容を覚えようとしなくてもいいのでざっと流し見しておくと得。
:help 何とか(コマンド名英字) と入力すれば日本語ヘルプファイルが説明をしてくれる。
2. 何となく動かす
a もしくは i キーで「ノーマルモード」(起動時の状態)から「挿入モード」に切り替わり、文章が入力できるようになる。aキー*1はカーソルの右側から追記開始、iキー*2はカーソルの左側から追記開始。
細かい入力開始位置の違いを覚えるのが面倒なら「 a か i 押したら編集開始」で十分。
Escキーを押せばまた「ノーマルモード」に戻る。
文章を書いたら、ファイル→名前をつけて保存 で好きなところに好きな名前.txtをつけて保存。
ノーマルモードで :w で上書き保存。
拡張子に〜がついた同名のファイル(例:.txt〜)は自動バックアップファイル。誤った編集をして保存して終了してしまっても、ここからサルベージすれば1世代前の文章を復元できる。(はず)
拡張子に.swpがついた同名のファイルはスワップファイル。自動でバックアップをとっているので執筆中にコンピュータが止まってもここからサルベージできる…らしい。(まだそういった事態に陥ったことがないので未確認)
3. 少し賢く動かす
初心者が日本語文章を書く時、まず覚えておくと特に便利なvim操作は…
- ノーマルモードで 0 を入力するとカーソルが行頭に移動、$ を入力すると行末に移動
- ノーマルモードで 数字G を入力すると指定番号行にカーソルが移動
次に覚えてみると便利な操作は…
- ノーマルモードで h・j・k・l の入力でそれぞれ 左・下・上・右 にカーソル移動(これは知らなくてもいい)
- 数字の後に入力すればその数字分だけ移動(こちらが重要)
- ノーマルモードでH・M・Lの入力でそれぞれ 画面上・画面中・画面下 にカーソル移動
- いかにもマウスより移動速度が速そう
- ノーマルモードで dd を入力すると論理行1行削除
- 数字d で数字行分削除
- ノーマルモードで /何とか と入力すると「何とか」を文中検索
- * か n を入力すると検索にヒットした文字列から文字列へと移動(進み)
- # か N を入力すると検索にヒットした文字列から文字列へと移動(戻り)
- 検索で色が変わった文字は :noh で元に戻る(no high lightの略か)
- ノーマルモードで u を入力すると最近の挿入データ1回を取り消し(UNDO)(連打すれば数百回と取り消せる)
- ノーマルモードで ctrl+r を入力すると取り消しの取り消し(REDO)(取り消しすぎた時のやり直し)
- マウスで文字列を選択し始めるかノーマルモードで v キーを入力すると「ヴィジュアルモード」に入る。ヴィジュアルモードで文字列を選択した状態で y を入力するとヤンク(コピー)
- p でヤンク(コピー)した文字列を貼り付け
- ヴィジュアルモードもEscでノーマルモードに戻る
- p でヤンク(コピー)した文字列を貼り付け
これ位でも十分使える。
これだって覚えるのが面倒なら覚えなくてもよい。とにかく触ればよい。
ベテランは「h・j・k・lのキー(それぞれ左下上右)だけで移動できるようにしたらいい」なんて言うけれど、こんなの無視しても全く構わない。ふつうに矢印キーで動かしてもメモ帳と比べれば十分速い。何となくhjklで動かした方が効率が良さそうな気がしたときにやってみれば十分。
キーボードを押してカーソル移動するのが面倒と感じるのなら、マウスで移動したって全く構わない。
初めは効率アップのテクニックなんて無視して感覚で何となく触っていれば十分。チュートリアルなどで知識に触れた経験があればそのうち「使った方が得かな?」という感じがしてくるので、その時使えば十分。
4. 設定を変更する
基本的には挿入モードでない状態で :set と入力することで設定が変更される。
「gvim」と同じフォルダにある「vimrc」というファイルをメモ帳などで直接編集する(書き足す)とgvimを起動する度に設定し直さなくてよくなるので便利。
以下、自分の設定例…
""内はコメント。
set shortmess+=I "起動時のウガンダへの募金云々の解説が出なくなる。募金の趣旨は分かるけれども毎回見るとわずらわしい"
set number "行番号を表示する。消すときはset nonumber 行指定移動はこれ無しではほぼ不可能"
set guifont=IPAゴシック:h11:cSHIFTJIS "vimのフォントと文字サイズhと文字コードの設定 フォントは等幅のもののみ指定可 好みの要素が特に大きい"*3
set backspace=indent,eol,start "バックスペースでインデントや改行を削除できるようにする"
set smartcase "大文字を混ぜて検索した場合だけ大文字/小文字を区別する"
set fileformats=unix,dos,mac "改行コードの自動認識"
set fileformat=dos"改行コードを指定する dosはwindows系 メモ帳との互換性を保つ"
set clipboard=unnamed "ヤンク(コピー)した文をクリップボードに入れてvim外にも貼り付けできるようにする"
nnoremap j gjh "見た目行での行移動 何か右にいく 論理行末警告音?が鳴る"
nnoremap k gkh "見た目行での行移動 論理行末警告音?が鳴る"
5. ほかの設定・併用ソフト
「Change Key」を使いレジストリを書き換えてCapsLockキー等にEscの役割を割り当てるとVimを触るのに便利。他ソフトに触るとき困るかもしれないのでこの項は無視しても特に問題が無い。
「IME Sound」というソフトを入れておくと、音を鳴らさない設定でも色の力で日本語入力モードになっているのか否か非常に視認しやすくなる。小さな入力言語モードアイコンを見る必要が無くなる。
両ソフト共に以下の作者サイトからダウンロードできる。
http://satoshi.web5.jp/f_soft/dw_win.htm
書いていてよく分かってないところ
検索のときの*とnの違いがいまいち分からない。*はヒットした語を検索対象にして再検索、nはそのまま再検索?連続した複数の語で検索したとき差が出るのかな?
文字コードは初期設定のSHIFTJISにしているのだけれど、これでだいたい大丈夫なのかな?
他にも初心者のうちから覚えた方が便利な機能多数あるかも…