103.8基礎
Vimのノーマルモードで変更をuにより取り消した。
そのundoを取り消し、変更を再び適用する。
適切なキー操作はどれか。
× 不正解
VimではCtrl-rがredoで、uによって取り消した変更を再適用する。
詳細解説
正しい
Ctrl-rundoで戻した変更をredoする。
正解。取り消した変更を再適用する。
誤り
Ctrl-u通常は画面を半ページ上へスクロールする。
画面スクロールの操作である。
誤り
uさらにundoを進める操作であり、redoではない。
さらに変更を取り消す。
誤り
rカーソル位置の1文字を別の文字へ置換する。
1文字置換の開始である。
実際に確かめる
一時的な検証環境で実行できる例です。
printf 'one\ntwo\n' > sample.txt; vim -Nu NONE -i NONE -n -es sample.txt -c 'normal! ggdd' -c 'normal! u' -c 'execute "normal! \<C-r>"' -c 'wq'; cat sample.txt期待される結果
two理解のポイント
- Ctrl-rはredo
- uはundo
- rは1文字置換
確認時の注意
- 確認環境: Vim 9.x
- Ctrl-rはVimの操作として扱う。
基礎のおさらい
undo履歴
Vimは変更履歴を持ち、uとCtrl-rで前後へ移動できる。
vi実装差
redoキーは実装差があり得るため、この問題はVimを明示している。
問題IDKP-103-120
確認環境Vim 9.x
最終技術確認2026-08-12
誤り・権利侵害を報告