この記事では、Vimでプラグインを使わずに「ある範囲を一時的に隠す」ためのキーバインドについて、ご紹介します。
[解答] zf
Vimでは 「ある範囲を一時的に隠す」 ことを折り畳む(fold)と呼びます。
Vimキーバインド1. 折り畳む
(ノーマルモード) zf{モーション} または {ビジュアル選択}zf
指定した範囲を折り畳んで、一時的に見えなくします。
こちらは次のキーバインドでも同じように動作をします。
(ノーマルモード) {行数} zF
コマンドだと次のようになります。
{ビジュアル選択} :fold
Vimキーバインド2. 折り畳みの解除(削除)
(ノーマルモード)
(折り畳み範囲にカーソルを合わせて)zd
折り畳んで見えなくした範囲ついて、折り畳みの解除(削除)を行います。
入れ子状態の折り畳みをすべて解除(削除)するのは、次のキーバインドです。
(ノーマルモード)
(折り畳み範囲にカーソルを合わせて)zd
ウインドウにある全ての折り畳みを解除(削除)するのは、次のキーバインドです。
(ノーマルモード)
zE
解説
こちらは折り畳んだようにみせて、一時的に隠してしまう機能です。
テキスト自体を削除したり、なんらか変更を加えるわけではありません。
例えば、特定の段落や関数だけを集中して編集したい場合、あるいは一定の単位で折り畳んだ箇所を多数作るプラグインもあります。
この折り畳みの効果としては、移動が楽になったり、視認する文字を減らして集中できたり、一覧性を良くしたり、と様々な効果が得られます。
世に言うアウトラインエディターが持つような機能だったりしますね。
このVimコマンドの補足情報
- 利用頻度
- 便利さ
- 覚え易さ
関連するVimヘルプ
Vimでの記載内容は、以下の通りです。
折畳の作成と削除
fold – Vim日本語ドキュメント
zf E350
zf{motion} or
{Visual}zf 折畳を作成する操作。
‘foldmethod’ が “manual” か “marker” の時だけ動作する。
“manual” の時には新しい折畳は閉じられる。
‘foldenable’ がセット(有効化)される。
fold-create-markerも参照。
zF [count]行を折畳として作成する。”zf” と同じように動作する。
:{range}fo[ld] :fold :fo
{range}で示された範囲を折畳にする。”zf” と同様に動作する。
zd E351
zd カーソルの位置にある折畳を1つ削除する。カーソルが折畳になって
いる行にある場合には、その折畳が削除される。入れ子になった折畳
は1レベル分が削除される。ビジュアルモードでは選択された範囲の
全ての折畳(partially)の1レベル分が削除される。
注意: これは期待したよりも余計に折畳を削除し易く、また手動折畳
に対してはアンドゥもできないので注意が必要。
‘foldmethod’ が “manual” か “marker” の時だけ動作する。
fold-delete-markerも参照。
zD
zD カーソルの位置の折畳を再帰的に削除する。ビジュアルモードでは、
選択された範囲内の入れ子も含め全ての折畳(partially)が削除される。
‘foldmethod’ が “manual” か “marker” の時だけ動作する。
fold-delete-markerも参照。
zE
zE ウィンドウにある全ての折畳を削除する。
‘foldmethod’ が “manual” か “marker” の時だけ動作する。
fold-delete-markerも参照。
こちらは、下記のコマンドでヘルプを確認できます。
:help usr_28 :help fold.txt :help zf :help zF :help zd :help zD :help zE
ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。
参考書籍
こちらの書籍が参考になります。
Vim/neovim関連の書籍で、もっとも評判が良くてバイブルと呼んでる人もいる一冊です。Vim/neovimのバージョンに依存しない沢山のTips形式で、その表題通りに「思考のスピードで編集」できるようになるノウハウが詰まっています。その高い評価は Amazon のレビューからも分かる通りです。Vimmer なら必ず一度は読んでおいて間違いありません。
こちらもVim関連の書籍で評価が高い書籍の一冊です。vim-jpで見かける上級Vimmer(Vimサポーターズ)の皆様による、Vimを実践で使ったノウハウからプラグイン関連の情報が詰まっています。日本の Vim界隈を知る上でも是非一読しておきたい一冊です。
Vim/neovim の設定ファイルやプラグインなど、Vim script に関するノウハウがいくつも詰まった一冊です。日本で Vim Script をここまで深く解説している唯一の書籍と言えます。Vim力を伸ばしたいと考えるなら、絶対に避けては通れない書籍でしょう。