web-dev-qa-db-ja.com

vim新しいタブでファイルを開く

私はこれをしたいと思います-

ファイルを開き、vimでa.txtと言います。次に、ctrl+zを実行してターミナルに戻り、vimをバックグラウンドで非表示にします。ターミナルでb.txta.txtのすぐ隣の新しいタブで開きます。次に、fgを実行してvimに戻り、a.txtb.txtの両方を開くことができます。

これを行う方法についてのアイデアはありますか?ターミナルからb.txtを開くと、vimが独自のウィンドウで起動します。

12
The Vivandiere

Vimの内部では、私は

:tabnew filename

新しいタブでファイルを開く。

ターミナルからvim -p filename1 filename2を実行して、2つのファイルをタブで開くことができます。

次の行を.vimrcに追加して、タブを簡単に切り替えられるようにしました。

nnoremap <C-Left> :tabprevious<CR>                                                                            
nnoremap <C-Right> :tabnext<CR>
nnoremap <C-j> :tabprevious<CR>                                                                            
nnoremap <C-k> :tabnext<CR>

CはCtrlキーを表します。したがって、Ctrl-RightまたはCtrl-kを実行して次のタブに切り替えることができます。前のタブも同様です。

これは私にとってはうまくいきます。

Tmuxを使用している人のために-tmuxでウィンドウを切り替えるためにCtrl-hCtrl-lをマッピングしました。したがって、Ctrlキーとh、j、k、lを使用して、すべてのtmuxウィンドウとvimタブを切り替えることができます。

編集:私がこの質問をしたときに私はこれを知りませんでした、しかしあなたは本当に複数の開いているファイル間の切り替えを管理するためにタブを避けるべきです。代わりにバッファを使用してください。今日、私は持っています

nnoremap <C-j> :bprev<CR>                                                                            
nnoremap <C-k> :bnext<CR>
19
The Vivandiere

2つのファイルを同時に開くだけです。

vim a.txt b.txt

次に、:b#を使用してタブを切り替えます。

1
Fana

まず、Vimを一時停止するコマンドは<C-z>、ではない<C-x>

どこでも機能するわけではありませんが、これであなたの目標を達成することができますVimがclientserver機能

$ vim --remote-tab b.txt

見る :help clientserver

だが…

  • 編集する別のファイルを開くためにVimを一時停止する必要はありません。 Vim自体から非常に簡単に行うことができます。

    :e filename
    
  • タブページは、他のエディターのタブとまったく同等ではありません。代わりにバッファを使用してください。

1
romainl