「予期せぬkEnd」の問題に熟知していると確信しています。 Vimは "do"と "end"にマッチしないので、彼らはいつも(私にとって)追跡するのに苦労しています。 (そして、明らかに "if"のような "end"で終わる他の要素)VimとRuby - "do"と "end"のマッチング?
これらの一致を表示するようにVimを設定してデバッグを容易にする方法はありますか?
「予期せぬkEnd」の問題に熟知していると確信しています。 Vimは "do"と "end"にマッチしないので、彼らはいつも(私にとって)追跡するのに苦労しています。 (そして、明らかに "if"のような "end"で終わる他の要素)VimとRuby - "do"と "end"のマッチング?
これらの一致を表示するようにVimを設定してデバッグを容易にする方法はありますか?
私はthis macroを使用し、それを有効にするために私のvimrcに以下を追加:
" % to bounce from do to end etc.
runtime! macros/matchit.vim
私はのためのマッチング終わりを検索したい場合は、私が上にカーソルおよび%を打ちます。
うーん...これは私が説明で探しているものですが、実際には/ work /には見えません。それは単に行頭にジャンプします。奇妙な。いいえ、待ってください...ああ、ifsのために働く、それは/ end/sから/ backwards /へ行くが、私はそれを "do"から進めることはできない。 – GlyphGryph
実際には、ルビ構文をまったくマッチさせていないようでもありません。私はfoldmethod = indentを使うので、これは...かなり無駄です。確かに私がバグを追跡するのに役立つわけではありません。申し訳ありませんが、その良いアイデアですが、この実装は間違いなく欠けています。 :/ – GlyphGryph
問題を報告しているすべてのケースで私のために働きます。別のソースからマクロを取得している可能性があります。追跡できるかどうか確認してください。 –
。
最近のvim(私は7.4を使用しています)を使用している場合、ビルトインmatchitマクロはルビコードでうまく動作します。
は単にルビーのファイルに/終了コンボや他の多くを行うと一致するように、あなたの.vimrcruntime macros/matchit.vim
ヒット%に以下を加えることによってそれを有効にします。
適切なインデントが役立つ場合があります。 – sidyll
それは助けになり、私のすべてのファイルは完全にインデントされています。しかし、特に入れ子になっているインデントがひどく深くなってきてしまうようなことはありません。(また、問題が不適切なインデントではなく、ブロックの始めにdoを入れるのを忘れたという事実) – GlyphGryph
[Syntastic](https://github.com/scrooloose/syntastic)を使用してください。 – Hauleth