次のような行を入力したいとします
printf("(%g, %g, %g)", vector_line_A[0], vector_line_A[1], vector_line_A[2]);
この行で "vector_line_A"という文字列を何度も入力するのが面倒ですよね. でも これから
説明する機能により,この行は 実際には次のようなキー入力を
すれば良いのです. 実際にやってみて下さい. CONT-P の所は
コントロールを押しながらP という意味です
CTRL-P を押した瞬間に vector_line_A という文字がでてきたと思います
直前に入力した単語は CTRL-P で瞬時に入力できるということです
実際には直前だけじゃなくて 今までファイルに書かれていた文字のほとんどを
カーソル位置に呼び戻して 楽ができるようになります. このように, jvimには 今まで
入力されてファイル中にある(とある基準に基づく)単語を入力の時に瞬時に入力する
ことができます
この機能は 実際にjvimを動かしながら試すと分かりやすいです. 例えば次のような
1行が すでに入力されていたとします
apple banana grape orange
そして 次の行を入力しようとして挿入モードにしてから CTRL-P を押してみて
下さい, すると カーソル位置に文字列が勝手に出てくる と思います. 文字列が
出てきた状態でさらに もう一度 CTRL-Pを押す と どんどん前に入力した
単語が よみがえってくることがわかることでしょう
さらに 例えば "apple"と入力したい場合は 最初の文字 "a"だけを打った状態で
CTRL-P を押し てみて下さい. 今までに入力した "a"で始まる単語が補間されます
候補は カーソル位置から近いものから CTRL-Pを押す度に条件に合う単語を前方に 検索してきて よみがえらせます. 逆に 入力する位置よりも後ろにある(すでに入力 されている)文字列を拾ってきたい場合は CTRL-N を使います.(後方検索)
これだけわかれば もうこの機能は自由自在に使えるはずです. 何かプログラムやスクリプトを
書いている時に 関数名や変数名の名前が ちょっと長くてわかりにくい名前だった時, 今までは
ファイルの前の部分を わざわざスクロールさせたりして 確認しに行ってたり… ってことは
ありませんでしたか ? この機能を知ったら これからは 最初の 1〜2文字を入れてから
CTRL-P/Nを数回押すだけ で正確な文字列を すばやく入力できるのですから もうこの機能は
手放せなくなると思います. もう少し詳しいことが知りたいのであれば マニュアル(reference)を
読んでみて下さい
他にも 挿入中に今まで入力されている文字列をカーソル位置に呼び出すコマンドが
いくつかあるので簡単に紹介します. こういうのは存在を知っていても 無意識に
指が動いて使えるようにならないと 便利に使っているという気分になれないので
最初のうちは意識してでも慣れるようにすると 後が楽になるものだと思います
直前に挿入した文字 を呼び出せる. 何か挿入してから もう一回同じ文字列を打ち
たい時に有効. でも何か他の操作をした後だと効かないので ちょっと使いにくいかも
挿入する時に 直前の行のカーソルの真上の文字をコピー する
何かリストみたいなものを書いている時で,同じような行が続く時には使えるかも
カーソル位置の 真下の文字をカーソル位置にもってこれる . CTRL-Yの逆です
名前付きバッファや履歴バッファの内容をカーソル位置に 書き出せる
たとえば 現在編集中のファイルのファイル名ならば CTRL-R% という操作をする
だけで入力できるということです
…ちなみに 名前付きバッファや履歴バッファの内容は :dis と打てば一覧表示
できますので 組み合わせて活用すると便利
上の機能解説とは直接関係ありませんが…楽に文字列を入れる例をついでに書きます
「現在自分のいるディレクトリ名」を編集中の文章の中に書きたい時には
わざわざディレクトリ名を :pwd で調べてから「手で」書かなくても
:r!echo $PWD で一発です. もちろん環境変数 PWDにカレントディレクトリが
設定されていれば…ですが 普通は設定されていると思います. まぁこれは別に
JVimの機能でも何でもないんですが
ちょっと気がつきにくい割には なかなか使えます. 他の環境変数に格納されている
文字列も同様に持ってこれますね
「外部プログラムの読み込み」も 面倒な入力を省く手段のひとつですね. たとえば
今日の日付を入力するなら "date"コマンドを使ったりして直接よみこませるということが
できます. 詳しくは外部のプログラムの利用で機能拡張の解説文章を読んで
みて下さい