Vim – 折りたたみの設定と折りたたむ・展開方法【保存も】

midSun31midSun31
IT・デジタル

エディタでサイズの大きいファイルを閲覧するとき、使えると便利な機能が降りたたみ機能ですよね。Vimエディタでは、折りたたみ方法を細かく指定できます。

この記事では、Vimエディタで折りたたみ機能の設定と使い方までご紹介します。Vimエディタのバージョンは8.1を利用しています。

折りたたむ方法から展開方法、折りたたみの保存についても紹介するので参考にしてみて下さい。

折りたたみ機能の設定

折りたたみ機能は「foldmethod」を設定することで指定できます。

折畳方法は次の6つのオプションの中から選択できます。

オプション名説明
manual手動で折りたたみを定義
indentインデントの深さで折りたたみ
expr式で折りたたみを定義
syntax構文で折りたたみ
diff変更されていないテキストを折りたたみ
markerマークされたテキストを折りたたみ

現在の折りたたみ設定を確認する方法

現在の折りたたみ設定は、次のコマンドで確認できます。

:set foldmethod?

デフォルトの折りたたみオプションは、以下のように手動の「manual」が設定されています。

折りたたみの設定を変更する方法

折りたたみのオプションを変更したい場合は、次のsetコマンドで変更できます。

:set foldmethod=オプション名

デフォルトの折りたたみ設定を変更したい場合は、設定ファイルのvimrcに以下のコードを追記します。

set foldmethod=オプション名

折りたたむ方法

Vimエディタで折りたたむには以下の方法があります。

方法1: 一行だけ折りたたむ

ノーマルモードで「zf」コマンドを使用すると現在のカーソル、行を折りたたみます。

方法2: 複数行を折りたたむ

複数行を折りたたみ場合は、ノーマルモードで「Shift」+「v」キーを利用して領域選択し、「zf」コマンドを入力します。

方法3: 行番号を指定して折りたたむ

行を数値で指定して折りたたむには、ノーマルモードで行範囲+「fo」コマンドを実行します。「fo」はfoldの略です。

:開始行番号, 終了行番号 fo

方法4: ファイル内を一括で折りたたむ

「indent」や「syntax」オプションの場合は、「zm」コマンドで、ファイル内の設定されている折りたたみを一括で折りたたむこともできます。

再帰的に折りたたむ場合は「zM」のコマンドを使います。

展開する方法

方法1: カーソル行を展開する

カーソル行の折りたたみを展開するには、「zo」コマンドを使用します。

方法2: 再帰的に展開する

折りたたみ領域の中に折りたたみ領域が含まれている場合、再帰的に展開したいケースがあると思います。

カーソル行のネストしている折りたたみ領域は、ノーマルモードで「z0」コマンドを使用すると全て展開できます。

方法3: ファイル内全てを展開する

ファイル内のすべての折りたたみを展開するには、「zr」コマンドを利用します。

ファイル内を全て再帰的に展開したい場合は、「zR」コマンドを使用します。

折りたたみを保存する方法

:mkview」コマンドを利用すると、現在の折りたたみを保存することができます。

上記のコマンドを実行することで、ファイルをクローズしても折りたたみ情報を再度利用できます。

保存されたされた折りたたみ情報を適用するには、「:loadview」コマンドを実行します。以下のように保存した折りたたみが適用できます。

以上、Vimエディタで折りたたみの設定と折りたたむ・展開する方法でした。

IT・デジタル
Howpon[ハウポン]

コメント