私は、挿入モードでは、ことができます、ということVIML機能を書いています<BS>
(ペアの開口部を通じて[
、{
それはカーソルの後に次の文字である場合(ペアの閉塞部を削除するなど、)のような多くの自動ペアをおよびvim-autoclose)。不均衡なペアがある場合、ペアの終了部分は削除されないため、この関数は異なります。
例:
形式は<initial> => <result-after-backspace>
、カーソルがの前にある場所|
です。
((|) => (|)
((|)) => (|)
(|) => |
(defn => (defn
(|) |)
どうすればペアをアンバランスにするかどうかを判断してから、最後のペアを削除できますか?
自動ペアとvim-autocloseの両方をテストしました。両方のプラグインを使用すると、ペアの終了部分は常に削除されます。
序文を明確にしていただけませんか?すべてのプラグインを回避しますか、それとも、2つのプラグインに類似したプラグインだけを回避しますか?後者の場合、それら2つについてはどうですか。
—
トム
この質問を閉じるために投票しました。基本的なトピック自体は問題ないと思いますが、あなたの制限により、「今すぐコードを書いてください」という質問になっています。ここでは、この種の質問を許可したくないと思います...
—
Martin Tournoij、2015
@Carpetsmokerこの質問の文言を超えて私が見たどのプラグインでもまだ解決されていない問題です。この質問への回答が成功すると、すべての自動クローズまたは自動ペアタイプのプラグインがそのソリューションから恩恵を受けることができるのは明らかです。表現を変更して受け入れられるようにするにはどうすればよいですか。
@ merb、pareditプラグインはまさにあなたが望むことをします。実際にプラグインを使用せずにその機能が必要な場合は、githubでソースを調べることをお勧めします。私はそれをここでバージョンを再現しようとするよりも有益だと思います。 github.com/kovisoft/paredit
—
Quincy Bowers、