2011-01-14 7 views
1

私は最近、折りたたみ式のEmacsと独自の社内コンパイラを使用するソフトウェア会社に参加しました。特に、不正な折りたたみマーカーが認識された場合、コンパイラエラーが発生します(foldmarks // {{{// //}}}を使用します)。長年のVimユーザーとして、私はEmacsの改造をエミュレートするために自分のVimscriptを執筆してきました。Vimの折りたたみマーカーを保護する

Emacsの設定では、折り目が「手作業で」編集されることはありません(偶発的なスペースなど)。 Vimでこれを達成する方法はありますか? zfを使用して折り畳みマーカーを入力すると、手動で編集することはできません。

私はVimをあまりにも遠くに押し込んでいますか?確かにそうではありません!

ありがとうございました。

ジョナサン。

+1

フォールドマーカーは単なるテキストであり、afaik vimはそのテキストを編集できないようにしません。 –

+0

あなたができることは、ファイルを保存する直前にBuFWritePreで関数を呼び出すことです。これは、例えば、同じ数の開閉マークがあるかどうかをチェックします。そうでない場合は、警告を表示するか、可能であればファイルを保存することを不可能にしてください。 Vimスクリプトでは解決策を提案するには十分ではありませんが、可能なはずです。 –

+0

おかげでザビエル - それは賢明なアプローチのように聞こえる。私は調査します。 –

答えて

0

バッファの一部の編集を防止するのは難しいです。 (バッファを保存する前に実行される)コメントですでに述べた "折り重ね一貫性チェック"とは別に、間違った場所で使用される折りたたみマーカーをエラーとして強調表示することもできます(vim、sh)要素)。

ファイルタイプの構文を拡張するか(これは1つまたは少数のファイルタイプの場合のみ)、:syntax match ...または新しいウィンドウごとにmatchadd()を使用して既存のコメントグループに新しい構文グループを簡単に埋め込むことができます。

関連する問題