25
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

vimで折畳み(folding)まとめ

Last updated at Posted at 2019-04-23

これは良い。コーディング中にメソッドなどをまとめて視界から外すことができる。

はじめに

普段Vimを使っていて,コーディング中にみたくない部分を隠す方法を考えていたのですが,コメントで折畳というありがたい言葉をいただきました.
自分の備忘録を兼ねて,まとめます.

折畳とは

IDEなどでよくある{}や[]などをまとめて隠すもので,+-でその状態が表現される(のをよく見る).
Vimでもできるということを全く知らなかった.

折畳チートシート

折畳に関するコマンドはzから始まる.
参考はこちらのページおよびvim上で:h foldをして表示されたページとする.

折畳に関するコマンド一覧は以下である.

コマンドの動作について,特に指定しない場合はすべてカーソル行とする.

コマンド 動作
zf 折畳作成
zd 折畳削除
zD 折畳を全て削除
zE ページ全体の折畳みを全て削除
visual + zf 選択範囲を折畳
2 + zF 2行折畳
2,5 fo 2行から5行を折畳
zo 折畳を削除せず開く
zO 折畳みを全て削除せず開く
zc 開いている折畳を閉じる
zC 開いている折畳を全て閉じる
za 折畳の状態を切り替える
zA 全ての折畳の状態を切り替える
zv カーソル行を表示
zx 折畳のUndo
zX 折畳のRedo
zm ページ内の折畳を一段階閉じる
zM ページ内の折畳を全段階閉じる
zr ページ内の折畳を一段階開く
zR ページ内の折畳を全段階開く
2,5 foldo 2行から5行の折畳を開く
2,5 foldc 2行から5行の折畳を閉じる
zn ファイル全体の折畳を開く
zN ファイル全体の折畳を閉じる
zi ファイル全体の折畳の状態を反転
zj 上の折畳に移動
zk 下の折畳に移動

# Vimで折畳みを使う方法
最も簡単なのは,zfコマンドで折畳を作成し,zdコマンドで折畳を削除する.
とりあえずVisual + zfで選択範囲を折畳してくれるというのも覚えておいた方が良さそうだ.
全て覚えるのは面倒なので,取り敢えず自分が使っているのは,Visual+zf,zd,zm,zrである.

folding状態を保存する

開くごとにfldingを作成し直すのは骨が折れるため,~/.vimrcに以下を追記することを勧める.こちらのものをそのまま持ってきた.

~/.vimrc
autocmd BufWritePost * if expand('%') != '' && &buftype !~ 'nofile' | mkview | endif
autocmd BufRead * if expand('%') != '' && &buftype !~ 'nofile' | silent loadview | endif
set viewoptions-=options

参考

おわりに

実際に自分ではまだ使っておらず,これから使おうと思っているところですので,何かあれば教えていただけると幸いです.
また,まだVim初心者ですので,他にも便利なものがあれば教えてくれると幸いです.

25
19
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?