viで編集中に特定の行をコメントアウトしたい

Linux
スポンサーリンク

問題

以下のhttpdのコンフィグファイルを編集している。13行目から16行目のDirectoryディレクティブをコメントアウトしたい。カーソルは現在13行目にある。このとき、適切なviのコマンドを答えよ。

答え

:,16s/^/#/

実行結果は以下のようになる。

解説

構造は以下の通り。

:置換開始行,置換終了行s/置換前文字列/置換後文字列/

「:」は、exコマンド開始を意味する。

「s」は、置換コマンド。(sed的な)

置換開始行を指定しなければカーソルのある行が開始行となる。そのため、答えに記載のコマンドを実行すれば、13行目から16行目の行頭(正規表現で「^」)#に置換することとなる。

Linux学習のおすすめ書籍

一度体系的にLinuxを学習するとより深く理解することができますし、いろいろなコマンドを知っていると応用が効くようになります。

以下の書籍がおすすめです。

コメント

タイトルとURLをコピーしました