Vimの設定の話を少々。
MQLのコードは基本的にVimで書いているのですが、Visual Studioのようにコードの折り畳みができたら便利だなと思いました。そこで調べてみたら、遥か昔からそういう機能が実装されているようです。
コードの折り畳み
折り畳みに関する設定内容を .vimrcに記述しました。
set foldmethod=indent set foldlevel=8 set foldcolumn=2
1行目の記述はインデント単位で折り畳みを行うという意味です。
2行目については、foldlevelに5を指定すると、5番目に深いインデント以下(例:5番目、6番目、7番目・・・)が折り畳まれた状態でファイルが開きます。自分の場合、ファイルを開いた時点では折り畳まれていない方が嬉しいので、わざと 8 を指定しています。
3行目では、画面の左端の何列を折り畳み表示に使うかを指定しています。ネットを見ると3くらいを指定している例を何回か目にしましたが、インデントの深さが分かるだけなので、1や2でも問題ない気がしました。
折り畳みについては色々なコマンドが用意されていますが、自分が良く使いそうなものは以下の3つあたりでしょうか。
zc 折り畳み(カーソル位置) zo 展開(カーソル位置) zR 展開(ファイル全体)
インデントの可視化
ついでにインデントを可視化できると便利だなと思ったので、indentLineというプラグインを導入しました。プラグインを所定のディレクトリに置いてから、.vimrcに以下の記述をしました。
let g:indentLine_color_term = 111 let g:indentLine_color_gui = '#708090' let g:indentLine_char = '¦'
以上の設定を終えた結果、以下のようになりました。
インデントが可視化された状態
zcコマンドでコードの一部を折り畳んだ状態
余談
世界中で使われているエディタだけあって、「こういうことがやりたいな」と思ってネットを調べると、十中八九その機能を誰かが既に作ってくれています。改めて、Vimって凄いなあと思います。
ちなみに、今でこそこんな風にVimを称賛しているものの、学生時代のレポートはEmacsで書いていました(汗)。その頃は、Vimの操作方法を面倒くさいと思っていたのです。
しかし、慣れてしまうと超便利です。今では日本語の文章もVimで書いています。