103.8基礎
viのノーマルモードで、カーソル位置の1文字だけをXへ置き換える。
挿入モードへ入り続けず、置換後はノーマルモードのままとする。
適切なキー操作はどれか。
× 不正解
ノーマルモードのrは次に入力した1文字でカーソル位置を置換し、操作後もノーマルモードに留まる。
詳細解説
誤り
xXxで1文字削除した後、Xは行頭側への削除として解釈され、文字入力にならない。
削除後のXは文字入力として扱われない。
誤り
sXsは削除後に挿入モードへ入るため、Escape操作が別途必要になる。
挿入モードへ移るため追加のEscapeが必要である。
誤り
RXRは置換モードへ入り続け、1文字置換後もノーマルモードへ戻らない。
置換モードへ入り続ける。
正しい
rXrに続くXでカーソル位置の1文字を置換し、ノーマルモードへ戻る。
正解。1文字を置換してノーマルモードへ戻る。
実際に確かめる
一時的な検証環境で実行できる例です。
printf 'cat\n' > sample.txt; vim -Nu NONE -n -es sample.txt -c 'normal! 0rX' -c 'wq'; cat sample.txt期待される結果
Xat理解のポイント
- rは1文字置換
- Rは連続置換モード
- sは挿入モードへ移る
確認時の注意
- 確認環境: Vim 9.x(vi互換操作)
基礎のおさらい
単発置換
rは後続する1文字を置換文字として消費する。
モードの違い
Rは複数文字の上書きを続け、Escapeでノーマルモードへ戻る。
問題IDKP-103-122
確認環境Vim 9.x(vi互換操作)
最終技術確認2026-08-12
誤り・権利侵害を報告