45

gvim でプロジェクト ファイルのグループをそれぞれ独自のタブで開くために、.bashrc にいくつかのエイリアスを追加しました。

gvim -p <list of file names using absolute paths>

いつでも移動したいファイルのグループがいくつかあることを除いて、これはすべて問題ありません (私の現在のプロジェクトでは Ruby on Rails を使用しているため、それが説明されています)。新しいタブを gvim の既存のインスタンスに追加できれば、本当に素晴らしいことです。前職では Vista を扱っていました。gvim で一連の空のタブを開くことでこれを回避しました。これにより、ファイル名を右クリックして、[既存の No-Name gvim で開く] を選択できるようになりました。現在、Ubuntuを使用していますが、コンテキストメニューにそのようなものはありません。コマンドラインからこれを行う方法はありますか?

4

6 に答える 6

71

vim がclientserverオプションでコンパイルされている場合は、それを行うことができます。次のフラグを使用して vim インスタンスを開始します。

$ gvim --servername GVIM  # GVIM is the server name. It can be anything.

このインスタンスでさらにタブを開くには、次のコマンドを実行できます。

$ gvim --servername GVIM --remote-tab file1 file2 file3 ...

vim の clientserver 機能は非常に便利です。ファイルを開くことに限定されません。コマンドラインを使用して任意のコマンドをvimに送信するために使用できます。たとえば、vim インスタンスをリモートで閉じるには、次を使用できます。

$ gvim --servername GVIM --remote-send '<Esc>:wqa<CR>'
于 2009-05-21T20:06:37.303 に答える
21

Gvim の内部から、 と入力し:tabe {file_name}ます。これにより、指定したファイルが新しいタブで開きます。長いファイル名を入力するのが苦手な場合は、これを試してください。

:tabnew
:e .

これにより、新しい空白のタブ ページが開き、ファイル ブラウザーが開きます。マウスをクリックするか、キーボードを使用できます。開きたいファイルをクリックするか、Enter キーを押します。キーボードを使用して、開きたいファイルの上にカーソルを置き、「t」を押してみてください。これにより、選択したファイルが新しいタブで開き、ファイル ブラウザーは最初のタブで開いたままになります。これは、多数のファイルを開くための高速な方法かもしれません。

タブ ページでできることは、生活を楽にするためにたくさんあります。Vim のオンライン ヘルプ マニュアルの関連セクションに移動するには、 と入力し:h tabpageます。

于 2009-06-17T07:22:01.540 に答える
13

Windows のコンテキスト メニューで、現在開いている gvim ウィンドウの新しいタブでファイルを開くことができるようにしたいですか?

これを temp.reg という名前のファイルとして保存し、ダブルクリックして設定をレジストリに追加します。あなたのパスが異なる場合は、必ず vim へのパスを変更してください。

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\Shell\Open with &Vim]
[HKEY_CLASSES_ROOT\*\Shell\Open with &Vim\command]
@="\"C:\\Program Files (x86)\\Vim\\vim73\\gvim.exe\" -p --remote-tab-silent \"%1\" \"%*\""

次のようなコンテキスト メニューが表示されます。

vim コンテキスト メニュー

于 2013-03-25T10:36:17.523 に答える
6

Linux ユーザーは、次の種類のスクリプトを使用できます。

#!/bin/bash

ANS=`pgrep -fx "gvim --servername GVIM"`

echo $@

if [[ ! $ANS ]]; then
    gvim --servername GVIM
fi

if [[ $1 ]]; then
    gvim --servername GVIM --remote-tab "${@}"
fi

そして、このスクリプトを使用するために gvim.desktop ファイルを編集します。

Exec=/home/user/bin/my_gvim_script.sh %F
于 2013-03-11T09:27:04.347 に答える
1

やり方がある:

n*.cpp|tab ba

または分割したい場合:

n*.cpp|sba

もっと知りたい場合:

:help ba

が何であるかはわかりませんがn、それなしでは機能しません。

于 2011-11-12T09:06:30.993 に答える