1.03.5基礎
viのノーマルモードでログを開いている。
現在位置より前、つまりファイルの先頭方向へERRORを検索する。
入力する検索コマンドはどれか。
× 不正解
?patternはファイル先頭方向へ検索する。/patternは末尾方向への検索である。
詳細解説
正しい
?ERROR?はカーソル位置から後方、画面上では先頭方向へ検索する。
正しい。?で開始した検索は現在位置から行番号の小さい方向へ進み、直近のERRORを探す。
誤り
/ERROR/はファイル末尾方向へ前方検索する。
誤り。/は末尾方向へ進むため、現在位置より後ろのERRORを探す操作になる。
誤り
:ERROR:はExコマンド入力を開始し、文字列検索の開始記号ではない。
誤り。:ERRORは検索パターンではなくERRORというExコマンドを実行しようとする。
誤り
nERRORnは直前の検索を同じ方向へ繰り返し、新しいパターンを続けて指定しない。
誤り。nは単独で以前のパターンを再利用するキーであり、後ろへERRORを連結して新規検索しない。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s\n' 'viで末尾付近へ移動し、?ERRORと入力してEnterを押す'期待される結果
現在位置より前にある直近のERRORへカーソルが移動する理解のポイント
- ?は後方検索
- /は前方検索
- nは同方向の再検索
確認時の注意
- 確認環境: vi/Vimのノーマルモード
基礎のおさらい
検索方向
/と?はパターンの書き方は同じでも、ファイル内を進む方向が反対である。
検索の反復
nは同方向、Nは反対方向に直前の検索を繰り返す。
問題IDKL-101-504
確認環境vi/Vimのノーマルモード
最終技術確認2026-08-13
誤り・権利侵害を報告