1.03.5標準
viのノーマルモードでカーソルが単語の先頭にある。
その単語を削除し、直ちに置換文字を入力する。
適切なキー操作はどれか。
× 不正解
cは変更演算子で、wという移動範囲と組み合わせたcwは単語を変更して挿入モードへ入る。
詳細解説
誤り
dw単語範囲を削除するがノーマルモードのままで、直ちに入力へ移らない。
誤り。語は削除できるがノーマルモードのままなので、続けて文字を打つと編集コマンドとして解釈される。
正しい
cw単語範囲を変更対象にし、削除後に挿入モードへ入る。
正しい。c演算子がwの範囲を変更対象とし、既存語を取り除いて置換入力できる状態へ移る。
誤り
yw単語範囲をヤンクするだけで内容を変更しない。
誤り。ywは語をレジスタへコピーするだけで、元の語を消さず入力モードにも入らない。
誤り
w次の単語へ移動するだけで編集しない。
誤り。wはカーソル移動だけで、現在の語の内容を変更しない。
実際に確かめる
一時的な検証環境で実行できる例です。
tmp=$(mktemp); printf 'old value\n' >"$tmp"; vim -Nu NONE -n -es "$tmp" +'normal gg0cwnew' +wq; cat "$tmp"; rm -f "$tmp"期待される結果
new value理解のポイント
- cは変更
- wは単語移動
- cw後は挿入モード
確認時の注意
- 確認環境: Vim 9.x互換のvi操作 / 一時ファイル
基礎のおさらい
change演算子
cは指定範囲を置き換える操作で、範囲を消した後に挿入モードへ入る。
motionとの合成
wなどの移動をd・c・yと組み合わせることで、同じ範囲へ削除・変更・ヤンクを適用できる。
問題IDKL-101-501
確認環境Vim 9.x互換のvi操作 / 一時ファイル
最終技術確認2026-08-13
誤り・権利侵害を報告