タグ付けされた質問 「external-command」

ViまたはVim内からの外部(シェル)コマンドの呼び出しに関する質問。

1
*および+レジスタのカスタムコマンドを定義する
このxterm_clipboard機能を備えたVimのビルドを使用している場合、システムクリップボードのコンテンツは+レジスターから入手できます。 私が使用しているビルドにこの機能がない場合、"+システムクリップボードを取得および設定するために、registerにカスタムプログラムを呼び出させることができますか(xsel -boおよびxsel -bi、または同様にxclip)?同様にして"*、コールへxsel -poとxsel -pi。 ポイントは"+p、機能が利用可能かどうかを心配することなく、何かのようにタイプできることです。タイピングは、:r !xsel -b<Enter>私が探しているものではありません。私は仕事に同じキーストロークをしたい、と私はペーストが「真」のレジスタのために利用できるものをフォローするバリアントたい(P、gp、...)。 おまけ:他のレジスタ名にカスタムコマンドを定義できますか?

2
確認プロンプトなしで* .hおよび* .cppファイルの保存時に「ctags -R」を実行するにはどうすればよいですか?
これはnoobの質問なので、基本的にはvimでctags -Rソースファイルまたはヘッダーファイル(*.hまたは*.cpp)に書き込んでいるときに実行したいので、次のことを試しました。 autocmd BufWritePost *.cpp :!ctags -R autocmd BufWritePost *.h :!ctags -R 動作するようですが、保存するたびに確認が必要なので、次のようにEnterキーを押す必要があります。 "coap/coap_pdu_ll.h" 30L, 793C written :!ctags R Press ENTER or type command to continue 確認を取り除く方法はありますか?

1
引数付きのシェルスクリプトを呼び出す関数
私は自分のプログラムをコンパイルして実行するbashスクリプトを呼び出す独自の関数を作成しています。 これが私が試したコードです。 function Compile_and_run(game, major, minor) !_compile a:game a:major a:minor endfunction 唯一の問題はa:game、値の代わりに解析されるようです。 どのように私はなるだろうa:game、a:major、a:minor関数にその値を解析するために?

4
で始まるプロセスを置く!バックグラウンドで
シェルからこれを行うと: $ sleep 100 私はそれをバックグラウンドにすることができます: ^Z $ bg そして、私のシェルを使い続けます。&コマンドの最後にa を追加することで同じ効果を得ることができますが、これはよく忘れます。 Vimでは、私はよくします: :!sleep 100 そしてここでも、を追加するのを忘れがち&です。このプロセスをバックグラウンドで実行し、シェルのようにVimを引き続き使用できますか?

1
ファイル拡張子に基づいて現在のファイルでシェルコマンドを実行する
現在、RubyとJavaScriptの両方で多くの作業を行っています。Rubyファイル:! ruby %と同様にJavaScriptを:! node %で実行でき、それらのいずれかをにバインドできることを知っています,b。編集中のファイルの拡張子をチェックして適切なコマンドを実行する単一のコマンドをバインドできるように設定するにはどうすればよいですか?

1
vimがマクロの最後に^ Jを追加するのはなぜですか?
カーソルの下の単語をgrepするのに役立つ短いマクロを作成しました。これは私の.vimrcにあります: let @a=":! git grep ^R^W^M" しかし、vimを開いてを実行する:reg aと、次のように表示されます。 "a :! git grep ^R^W^M^J ^ Jがマクロに追加されていることがわかります。 スクリプトから^ Mを削除すると、^ Jも消えます。 ^ Jは^ Mと同様に動作するようです。つまり、^ Mが2つあるようです。コマンドの結果が見えないので、これは私が望んでいることではありません。読む前にウィンドウが点滅します。 貼り付けてからコピーすることで、スクリプトを機能させることができました。この問題は、.vimrcを使用してロードしようとしたときにのみ発生します。

1
次のgrepの結果に進む方法は?
grepプロジェクトで関数の出現箇所を見つけるために使用しています。 :grep "set_val" * vimから出て、出力します。 code.py:68: self._device.set_val('Level', new_level) code.py:84: self._device.set_val("Mode", "Remote") Press ENTER or type command to continue Enterキーを押すcode.py:68と、最初に発生した場所にいます。 他のオカレンスに移動するにはどうすればよいですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.