CentOS viで「E20: Mark not set」
CentOSでTerminalを立ち上げ、
.bash_profileなどの編集のために viを使用していた。
コマンドモードから「i」や「a」などで編集モードに設定したまではよかったが、
文字入力した後に保存ができない。
「:w!」での強制保存もできず、「:q!」で強制終了もできなかった。
よく見ると
「E20: Mark not set」
と出ている。
原因は、キーボードから「:(コロン)」を入力していたつもりだが、
CentOS上のキーボードの設定で、「:(コロン)」の入力として受け付けられておらず、
別の文字として割り当てられていたためだった。
つまり、キーボード設定が正しくできておらず、
割り当てられた文字がviで使用されない文字だったために発生したエラーかと思われる。
CentOSでのキーボードの設定変更は、こうだ。
「System」-> 「Prefernces」 -> 「Keyboad」
で設定を変更するダイアログを開く。
「Layouts」タブから「Add」ボタンを選択し、「Country」の項目から「Japan」を選択する。
「Variants」は「Japanese」となっていればOK。