2

現在のタブを離れずにバックグラウンドで新しいタブを開く方法が必要ですが、ドキュメントでそれを見つけることができません。

シナリオ:ユーザーBobがファイルで作業しています:foo.txt。外部プログラムは定期的にファイルを更新しますbar.txt次に、ボブがフォアグラウンドタブでの現在の編集から切り替えることを強制せずに、ボブのvimセッションのバックグラウンドで新しいタブを開きます。foo.txt

すべてのtab*コマンドがその仕事をしているわけではないようです。私は何が欠けていますか?

あなたは私が:に相当するものを探していると言うことができますtabnew_in_background_leave_edit_mode_as_is()

4

3 に答える 3

5

使用できます

$ vim --servername BOB --remote-tab +":tabprevious" filename

編集

Vimにはバックグラウンドでタブを開くコマンドがありません。そのため:tabprevious、新しいタブを開いてすぐに前のタブに戻るためのトリックが必要です。欠点は、挿入モードではなくなったことです。

幸い、gi最後に終了した挿入モードに戻るために使用されるノーマルモードマッピングがあります。このコマンドはここで機能します:

$ vim --servername BOB --remote-tab +":tabprevious" filename && vim --servername BOB --remote-send "gi"

シェルスクリプトにそれを含めて一般化することは複雑に聞こえません。

これが2番目の方法です。同じ材料を使用しますが、組み合わせは異なります。

$ vim --servername BOB --remote-send "<Esc>:tabe filename | tabprevious<CR>gi"

基本的に、挿入モードを終了し、「タブ」ビジネスを実行して、元の場所に戻ります。また、もう1つの欠点があります。このメソッドは挿入モードに関連付けられているため、以前にそこにいなかったとしても、挿入モードになってしまいます。

残念ながら、関数を書くことを伴わない、それをきれいに行う方法がわかりません。

于 2013-03-25T11:58:51.513 に答える
0

チェックしました--remote-tabか?または私はあなたの質問を誤解しましたか?

vimで、次のように入力します:h remote-tab

   --remote-tab         Like --remote but open each file in a new
                tabpage.

だからあなたは試すことができます:(あなたがすでに「SVR」という名前のvim「サーバー」を持っていたと仮定します):

vim --servername SVR --remote-tab foo.txt

vimインスタンスのfoo.txtタブで開きますSVR

于 2013-03-25T11:18:09.547 に答える
0

ディレクトリリスト内のファイル名の上にカーソルがあるときにShift+tを押すと、ファイルがバックグラウンドタブで開きます。

于 2013-07-21T03:03:01.383 に答える