私はいくつかの特別なウィンドウ管理を行う必要があるvimプラグインを作成しています。VIMバッファ/ウィンドウ非表示
起動時に、現在のウィンドウが2つに分割され、新しく作成されたウィンドウがユーザー入力とプラグイン出力に使用されます。これをI/Oウィンドウと呼ぶことにしましょう。
場合によっては、I/Oウィンドウを「置き換える」必要があります。つまり、新しいコンテンツセットがI/Oウィンドウを含む画面の部分を置き換えます。これを一時的なウィンドウと呼んでください。ただし、I/Oウィンドウはどこかに保存されたままです。ユーザーがこの一時的なウィンドウを終了すると(qまたは:q!で)、I/Oウィンドウの内容が元の場所に再び表示されます。
どうすればこのようなことをやりますか?私は物事を試していたし、バッファーとウィンドウについてのヘルプページでしばらくの間読んでいるが、私はまだそれを把握していないようだ。私は動作するはずだと思う何
は次のとおりです。
- :起動時に画面を分割して新しいです。
- :I/Oウィンドウでbufhidden = hideを設定します。
- :enewは、一時的なウィンドウを表示します。
これは、ユーザーが一時ウィンドウから:qを実行するまで機能します。分割されたままの画面の代わりに、上部が完全に消えます。この時点から終了しようとすると、保存されていないデータに関するエラーが発生します。
ありがとうございます。
'set bufhidden = hide'を' setlocal bufhidden = hide'に置き換えてください。それは物事を修正するものではありませんが、これはユーザーオプションに触れないためにプラグインによってオプションを変更する必要がある方法です。 – ZyX