vim 在新选项卡中打开文件

vim 在新选项卡中打开文件

我想这样做 -

打开一个文件,比如a.txt在 vim 中。然后,执行ctrl+z,这将带我回到终端,并在后台隐藏 vim。当我在终端中时,现在我想b.txt在新选项卡中打开,就在 旁边a.txt。然后,我可以执行fg以返回 vim,并同时a.txtb.txt我打开 和 。

有什么想法可以做到这一点吗?当我b.txt从终端打开时,它会在自己的窗口中启动 vim。

答案1

在 vim 中,我使用

:tabnew filename

在新选项卡中打开文件。

从终端,您可以以vim -p filename1 filename2选项卡形式打开这两个文件。

我添加了以下几行代码.vimrc,以便我能够轻松地在选项卡之间切换。

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

C代表 Ctrl 键。因此,我可以使用Ctrl-RightCtrl-k切换到下一个选项卡,也可以使用 或 切换到上一个选项卡。

这对我有用。

对于使用 tmux 的用户 - 我已经映射了Ctrl-h和 ,Ctrl-l用于在 tmux 中切换窗口。因此,使用 Ctrl 键和 h、j、k、l,我能够在所有 tmux 窗口和 vim 选项卡之间切换。

编辑:我问这个问题的时候并不知道这一点,但你确实应该避免使用标签来简单地管理多个打开的文件之间的切换。改用缓冲区。今天,我有

nnoremap <C-j> :bprev<CR>                                                                            
nnoremap <C-k> :bnext<CR>

答案2

只需同时打开这两个文件:

vim a.txt b.txt

然后使用:b# 在选项卡之间切换。

答案3

首先,暂停 Vim 的命令是<C-z>,而不是<C-x>

它不是在所有地方都有效,但它可以可以做这样的事情来实现你的目标,如果你的 Vim 编译时带有该clientserver功能

$ vim --remote-tab b.txt

:help clientserver

但…

  • 你不需要需要暂停 Vim 以打开另一个文件进行编辑。你可以非常轻松地从 Vim 本身执行此操作:

    :e filename
    
  • 标签页与其他编辑器的标签完全不同。请使用缓冲区。

相关内容