viの応用操作

検索

文字列の検索はコマンドモードで「/検索文字列」です。

検索後には以下のコマンドで検索を継続できます。

指定 説明
n 次を検索します。
N 前を検索します。

置換

sedの機能を使用することで、文字列置換を行います。


文法は「:%s/置換前文字列/置換後文字列/」となります。

文末に「g」をつけると、行中の全ての文字列を置換します。


:%s/windows/mac/g

区切り文字として「/」ではなく「;」を使用することができます。

行の指定を行う場合には「:開始行の数字,終了行の数字s」となります。


:10,20s;apple;orange;g

ヴィジュアルモード(範囲の選択)

コマンドモードで「v」を入力すると、ヴィジュアルモードとなります。

ヴィジュアルカーソルを動かして範囲を選択することができます。


範囲を選択したあとに、「d」を入力すると指定範囲を削除できます。

削除した文章はバッファされますので、カーソルを移動後に「p」でペーストできます。

バッファできる分量は上限がありますので、上限を超えた分はペーストできないので注意が必要です。


指定範囲の削除

マーク機能で指定範囲を削除できます。


1.削除の開始位置で「mx」と入力してマークします。

2.削除の終了位置まで移動します。

3.「d'x」を入力します。


viで暗号化

暗号化オプション。cryptコマンドのアルゴリズムが使用されている。


vi -x (filename)
   

復号化手順

1. $ vi (暗号化済み file)

2. パスワード入力を行い、編集画面へ。

3.「:X」を実行するとパスワード入力を求められるので、ここでなにも入力せずにエンターキーで進める。

4.「:wq」でセーブを行なう。


vimとcscope

C言語で関数名や変数定義位置にタグジャンプさせることができます。

gtagsやctagsコマンドも併用すると開発効率が向上します。


基点となるディレクトリで、以下のコマンドを実行すると、cscope.outファイルが作成される。


# cscope -Rb

以後、vimを起動してcscopeのコマンドを実行すれば、ファイル編集が便利。


cs find f $command

関連