ホーム < ゲームつくろー! < IKD備忘録

(2013. 8. 11追記)

Raspberry Pi
Vimで方向キーを押すとABCDが出る問題を直す


 ここまで食わず嫌い克服の目的でVimをテキストエディタとして使ってきました。で、一つ「はい?」と首をかしげる入力状況がありました。挿入モードで方向キーで移動しようとすると「ABCD」と文字が入力されてしまうんです。「こういうもんなのかなぁ」と移動する時にはノーマルモードに戻ってたのですが、ググってみると同じような問題が多数ヒット。直し方が色々ありましたが、私の対処を備忘録しておきます。



@ vi互換モードだった

 どうらや方向キーでABCDが出るのはVimが「vi互換モード」で動いている時のようです(そのモードで必ずそうなるのかは不明)。私は別にVimで十分なので、この互換モードを切る事にしました。一番簡単なのはVimを起動した後にノーマルモードで、

:set nocompatible

とするとVimモードになるようです。「i」など挿入モードにした時に最下行に「-- INSERT --」と現在のモードが出てくれるようになりました。

 ただ毎回上のコマンドを入れるのはさすがに効率が悪いです。起動時のデフォルトで上のモードにするには「.vimrc」という設定ファイルを作るそうです。



A .vimrcファイルを作る

 .vimrcはVimの設定ファイルです。人によってはVimを完全に自分カスタマイズするためにこのファイルを作り込みまくるようなのですが、私は特に凝るつもりもないため(^-^;、上の問題を純粋に解決する目的で作る事にします。

 Raspberry Piの環境を作った段階では(ユーザ定義の).vimrcはまだありません。これは新規に作る物のようです。どこにつくるかというとユーザのルートディレクトリです。ルートディレクトリに移動するのは、

cd ~

です。ここで、

vi .vimrc

とVimを起動し、次の1行を書き込みます:

set nocompatible

これでVimを起動すると、デフォルトでVimモード(非vi互換モード)になります。挿入モードで方向キーを入れると、普通のテキストエディタのようにちゃんとカーソル移動になりました。ついでに挙動がおかしかったBackSpaceやDeleteキーもちゃんと文字を消す機能に。お〜嬉しい(^-^)

 ちょっとした事ですが、今後プログラムをガリガリ書き込む時にカーソル移動は山ほど行うわけで、普通に動く環境にしておくのは重要ですよね。



(2013. 8. 10追記)

B .vimrcに設定しておくと便利な項目を教えてもらった

 .vimrcには凄い沢山設定項目がありますが、「これを設定しておくと便利ですよ」という項目を教えてもらいました(とらきちさん、ありがとうございます〜)。

設定 意味
set number 行番号を表示
set backspace=indent,eol,start バックスペースキーの挙動
set autoindent 自動インデント
set smartindent C言語の構文を読み取って自動インデント
set tabstop=4 タブ幅をスペース4つ分に
set shiftwidth=4 自動インデントの幅

「syntax enable」という構文強調してくれる設定も教わったのですが、私が今使っているRaspberry PiのVimだと「項目が無いよ」というエラーになってしまいました。

 上の設定項目を入れるとプログラムを書く環境として格段に使い勝手が良くなりました。