問題タブ [autocommand]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vim - 特定のファイルタイプの新しいファイルの自動コマンド
特定のファイルタイプの新しいファイルを作成するたびに、いくつかのvimコマンドを実行したいと思います.autocommandイベントの組み合わせのようなものBufNewFile
ですFileType
。
ファイル拡張子に基づいてファイルタイプを設定するようにBufNewFile
filetype.vim に自動コマンドをセットアップしましたが、すべて同じファイルタイプに対応する複数の拡張子があります。特定のファイル タイプに対応するファイル拡張子に関する情報をこの 1 か所だけにカプセル化し、そのファイル タイプだけに基づいて他の自動コマンドを実行したいと考えています。ただし、FileType
既存のファイルを編集するときではなく、新しいファイルに対してコマンドを実行したいだけなので、イベントだけを使用することはできません。
たとえば、filetype.vim には次のようなものがあります。
BufNewFile
次のように、このファイルタイプの ftplugin ファイルに自動コマンドを追加できるのではないかと考えました。
しかし、「test.cir」などの新しいファイルを作成すると、自動コマンドが実行されません。ftplugin ファイル内の他のコマンドを実行します (たとえば、"Spice file." echo を取得します) が、autocommand は実行しません。
あるいは、vimscript にファイルが新しいかどうかを判別できる方法があれば、ファイルが新しいかどうかを条件として、ftplugin で直接コマンドを実行できます。
vim - テキストがvimでラップされているときに関数を呼び出す方法は?
vimでは、マークダウンでテキストを書かなければならないスペースを視覚的に透明にしたいと考えています。でハードラッピングを使用しtextwidth=79
ます。たとえば、1 つの章に 20 行あることは計算でわかっています。だから、私がやっていることは、私が書くことができる視覚的な感覚をつかむために20行の空行を挿入することです. いくつかの行を書いた後、空の行からすでに書かれている行数を手動で削除して、視覚的な印象が正しいままになるようにします。
私がやりたいことは、この削除プロセスを自動化することです。つまり、この行が空の場合、最後に書き込まれた行の下の 1 行を自動的に削除し、前の行で 79 文字に達したため、vim が自動的に新しい行を開始することを意味します。これどうやってするの?
vimに自動コマンドがあることは知ってい<event>
ますが、アクションに適合するものは見つかりませんでした:vimが自動的に行をハードラップした後/挿入で新しい行に達した後(または、それを説明したい場合)
vim - Vim の新しいタブでバッファを開く
新しいバッファがロードされたときに傍受する必要がある Vim プラグインを作成しています。
基本的な考え方は、新しいバッファを開くときに、この新しいバッファを別のタブでスクリーニングする必要があり、前のタブは前のバッファをロードしたままにしておく必要があるということです。
例: でfoo.txt
開こうとするbar.txt
と:e bar.txt
、新しいタブで開かれ、前のタブは である必要がありますfoo.txt
。私はそれ:tabe bar.txt
が仕事をすることを知っていtabe
ますが、ファイルを開くために使用されていない場合でも、プラグインには「動作」が必要です。
Vimscriptでこれを行う方法を知っている人はいますか?
この背後にある理由: https://github.com/vim-ctrlspace/vim-ctrlspace/issues/177。