問題タブ [autocmd]
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の`autocmd`コマンドで関数を呼び出す
expand
で関数を使いたいautocmd
。特に、 Paul Biggarによるヒントを採用しており、次の自動コマンドを使用したいと思いました.gvimrc
。
–もちろん機能しません。つまり、私が実際にこれを意味したいのは、tex
ファイルを開くと、makeprg
変数が次の値に設定されるということですrubber-info filename.log
。ここfilename
で、はファイル拡張子なしのTeXファイルの名前です。
どうすればこれを達成できますか?
latex - ファイルの内容に基づく Vim autocmd
.tex ファイルにコマンド '\usepackage{sagemath}' が含まれていることを検出し、それに応じてコマンドを実行するように Vim をセットアップしようとしています。たどり着きました
しかし、それはすべての .tex ファイルで発生しますが、これは私が望んでいるものではありません。
c++ - vim + c++: ガード句に uuid を挿入する
ファイルのコメント ヘッダーを自動化しようとしています。uuidgen
vimのautocmdを使用して、コマンドの結果をヘッダーに挿入する方法を見つけようとして立ち往生しています。
ヘッダー内には、次のようなプレースホルダー テキストがあります。
_UUID_
.vimrcに入力する autocmd 行は次のとおりです。
問題は r!uuidgen の下に来ています。 shell-command-execution の結果をテキストとして autocmd 行に挿入するにはどうすればよいですか? または、その問題のvi置換コマンドで?
function - 新しいファイルが書き込まれたときにCommandTFlushコマンドを実行します
新しいファイルが書き込まれるたびに、Vimにコマンド「CommandTFlush」を実行させようとしています。Command-Tプラグインを使用していない場合は、「CommandTFlush」コマンドを使用して、現在のディレクトリ内のファイルのインデックスを再構築します。
私がやりたいのは、ファイルがディスクに書き込まれた後にコマンドを実行することです。これにより、CommandTFlushがファイルを見つけて、そのインデックスに追加します。
自分で関数を書いてみましたが、起動しないか、起動が早すぎます(ファイルが書き込まれる前に、ファイルをインデックスに追加することが重要です)。
BufWritePreでブール変数(isTheFileNew)を設定し、ファイルが作成されたばかりの場合はBufWritePostでCommandTFlushコマンドを実行することで解決できると思いますが、構文がわかりません。別の解決策は、可能であれば、BufWritePreコールバック内からBufWritePostコールバックを設定/設定解除することです...
誰かがここで私を助けてくれますか?;)
vim - コメント ショートカットのテキストに vim 変数を挿入する
私には単純な目標があります: Map Ctrl-C は、vim を強制終了するために使用したことがないと思うコマンドで、行の先頭に正しい文字を自動的に挿入して、その行をコメントアウトします。ファイルのファイルタイプ。
自動コマンドを使用してファイルの種類を認識し、ファイルが開いているときに vim 変数を正しいコメント文字に設定できると考えました。だから私は次のようなものを試しました:
そのマップは私の現在の位置をマークし、挿入モードで行の先頭に移動し、その時点でコメント文字をエコーし 、コマンドモードに入り、設定マークに戻り、2文字右に移動して挿入されたコメント文字 (C スタイルのコメントを想定)。
イタリック体の部分は私が問題を抱えている部分です。私がやりたいことを表すためのプレースホルダーとしてしかありません。これを達成する方法を理解するのを手伝ってもらえますか? strlen(CommentChar) を使用して正しい数のスペースを右に移動すると、ボーナス ポイントが得られます。ビジュアルモードでブロックスタイルのコメントを行う方法を含むvim-masterの追加ボーナスポイント!!
私はまだ vim スクリプトに関してかなり初心者です。私の .vimrc の長さはわずか 98 行なので、回答があれば説明していただければ助かります。ありがとう。
python - コメントとドキュメント文字列で短いテキスト幅を使用する
強力なPEP 8から:
[お願い]すべての行を最大 79 文字に制限してください。テキストの長いブロック (docstring またはコメント) を流す場合は、長さを 72 文字に制限することをお勧めします。
Vim で Python コードを編集するとき、mytextwidth
を 79 に設定すると、文字制限に達すると、Vim が Python コードの長い行を自動的にラップします。しかし、コメントとドキュメントストリングでは、テキストを 72 文字で折り返す必要があります。
textwidth
コメントまたはドキュメント文字列にいるときにVim を自動的に 72 に設定し、終了したら元に戻す方法はありますか?
vim - Vimでファイルを保存した後にシェルコマンドを自動的に実行する方法は?
これは、ファイルを保存するたびにテストを自動的に実行したいためです。
私は見ましたがautocmd
、BufWritePost
それを機能させることはできません。
vim - Vim Buffer が変更されました
AutoCmd
現在のバッファが変更されたときに実行する必要がある in Vim を実装しようとしています。
ドキュメントで利用可能なすべてのイベントを読みましAutoCmd
たが、バッファが変更されたかどうかを判断するのに役立つものを見つけることができませんでした。
これは必ずしも「バッファが書き込まれたとき」を意味するわけではありません。これは、トリガーする必要があるアクションは、書き込みを含めてバッファが変更されたときに呼び出す必要があるためです。
BufIsModified
この目的を達成できる実装方法に関するアイデアはありますか?
注:バッファーが変更されたかどうかを判断するための vimrc 関数とは何ですか?の複製ではありません。、この質問はバッファ変更チェックだけではないためautocmd
vim - 挿入リーブでvimがカーソルを右に1文字移動するようにするにはどうすればよいですか?
mac os xterminal.app
は、挿入モードに切り替えるときにカーソルがブロックから行に変わるなど、vimの視覚的側面の多くをサポートしていないため、私はosascript
似たようなものを使用します。
私の.vimrc
ファイルには次のように書いています。
ここsettings set 11
で、はラインカーソルを持つ端末設定のセットであり、settings set 12
はブロックカーソルを持つ端末設定のセットです。
これは実際には非常にうまく機能しますが、小さな問題が1つあります。InsertLeaveでは、カーソルが常に1文字左に移動します。これはそれほど大きな問題ではありませんが、煩わしい場合があります。
autocmd InsertLeave h
私は自分のに入れて補償しようとしまし .vimrc
たが、役に立ちませんでした(それは私にエラーを与えます)。
どのようにvimに伝えるべきですか:
- 左にシフトしませんか?
- 上記が不可能な場合は、右にシフトして補正します