viでサーバ内の設定ファイルを修正する
普段はIDEとかを使っていてvi
を使わないので、サーバの設定ファイルを修正する場合に、すごく非効率だったので反省も込めて整理します。
例として、postgresql.confのwork_memを以下のように修正する
#work_mem = 4MB # min 64kB ↓ work_mem = 12MB # min 64kB
今まで
vi postgresql.conf
でファイルを開く/work_m
ぐらいで対象に移動する- インサートモードにして目的の形に修正する
i
- 「#」を削除:「←」、「バックスペース」
- 「4MB」の先頭文字まで移動して「4」を削除:「→」を12回、「バックスペース」
- 「12」を入力
改善
vi postgresql.conf
でファイルを開く/work_m
ぐらいで対象に移動する^
で行頭に移動するx
で「#」の文字を削除する:s/4MB/12MB/
で値部分を置換する
参考)移動系
- 行末へ
- $
- 行頭へ
- ^
- 単語単位で次(単語文字の最初)
- w
- 単語単位で次(単語文字の最後)
- e
- 単語単位で前
- b
- 文字単位で次
- l
- 文字単位で前
- h
もっと改善
vi
で設定ファイルを修正するのはやめる。手順が残りづらいので
% sed -i -e "s/#work_mem = 4MB/work_mem = 12MB/" postgresql.conf