私はctrlpのようなvim用のプラグインを作成しようとしています。私はいくつかの助けが必要です。まず、私は挿入モードを残さずに関数を呼び出す方法は?
- ので、画面の上部にある入力フィールドを配置したいすべての上部にある入力フィールドを配置することができます
input()
が、同様の機能はありますか?
私はすでに自分の入力フィールドを実現し始めており、テキストの編集中に問題があります。私はbackspace
オプションがプロンプトテキスト( "ファイル>")の削除を防ぐのに非常に便利であることを発見しました。私はこのテキストをバッファに入れ、挿入モードを開始します。私はバッファを制御する複雑なロジックを持っているので、私はこのオプションを使うことができず、関数を呼び出すためには必ずインサートモードを終了する必要があります。代わりにbackspace
の私は、これは動作しますが、私を乱すカーソルの点滅があるこの<C-o>:call backspace()<CR>
function backspace()
" checks if deletion is possible
x
endfunction
のようなものに<BS>
を再マップする必要があります。挿入モードでは、バッファが変更され、tabline
に*印が付きます。それはcall setbufvar(bufnr('%'), '&mod', 0)
で隠れることができますが、それはかなり遅く動作し、時々シンボルが現れます。私はこのためにTextChangedI
イベントを使用します。
- 監視バッファの変更を無効にするオプションはありますか?
最も重要なのは、挿入モードでの自由度の向上です。このモードを離れることなく機能を呼び出す方法はありますか?
「buftype」をありがとうございます。可能な限り簡単です。どのようにカーソルの点滅を防ぐためにどのような考えですか? – Evgeniy
「カーソルが点滅している」という意味がわかりません。 – romainl
英語は母国語ではないかもしれませんが、多分私は "カーソルが点滅"しているはずです。 1時間のデバッグの後、私はその理由を見つけました。私が関数を呼び出すと、カーソルを隠すexモードに行きます。 – Evgeniy