2

最近、vim の折り畳み機能を使い始めたばかりですが、それが非常にうまく機能する言語には非常に役立ちます。

私の問題は、Scilab コードで vim が折りたたみマーカーをコメントアウトする方法にあります。デフォルトでは

/*{{{*/ and /*}}}*/

これは C のような言語ではうまく機能しますが、実際には scilab のコメントではありません。コードを実行しようとすると、乗算エラーが発生します。

追加してみました

autocmd FileType scilab set fmr=//{{{,//}}}

私の .vimrc ファイルには、私が望むことはまったくありません。その結果、

/*//{{{*/ and /*//}}}*/

まだコメントではありません。コードは問題なく「折りたたまれ」ますが、使用できなくなります。「/*」のすべてのインスタンスを「//」に置き換えるマクロをセットアップできますが、ファイルにグローバルに適用すると、意図しない結果になる可能性があります。

問題は、ファイルが使用不能にならないように、scilab ファイルの vim フォールド マーカー コメントを設定するにはどうすればよいかということです。

4

2 に答える 2

3

コメントを'foldmarker'それ自体に追加するのではなく、 'commentstring'Vim が折りたたみマーカーを囲む方法に影響を与えるオプションがあります ( で折りたたみを作成する場合zf)。設定してみる

:setlocal commentstring=//%s

あなたのScilabファイルタイプのために。(コマンドを入れ~/.vim/after/ftplugin/scilab.vimて永続化します。)

于 2013-02-16T08:40:48.200 に答える
1

vim は SciLab コメントの仕組みを理解していないように思えます。最近、vim に SciLab 構文ロジックが付属しているかどうかわかりませんが、SciLab ファイルで構文が正しく強調表示されていますか? そうでない場合は、ここから構文ファイルを取得できます。

マークを使用したい特別な理由はありますか? それらは実際には必要ありません。構文またはインデント レベルで vim を自動折り畳ませたくない場合でも、手動で折り畳みを定義できます。

:set foldmethod=manual

これにより、ビジュアル モードでテキストのチャンクを選択し、「zf」で折り畳むことができます。マークは不要です。

さまざまな vim の折りたたみ方法の詳細については、こちらを参照してください。

于 2013-02-15T22:06:44.953 に答える