2

Я хотел бы сделать это -

Откройте файл, скажите a.txt в vim. Затем выполните ctrl+z , чтобы вернуть меня в терминал, и скрыть vim в фоновом режиме. Пока я нахожусь в терминале, я хотел бы открыть b.txt в новой вкладке, рядом с a.txt . Затем я могу сделать fg чтобы вернуться в vim и открыть для меня и a.txt и b.txt .

Есть идеи, как это можно сделать? Когда я открываю b.txt из терминала, он запускает vim в своем собственном окне.

3 ответа3

4

Когда внутри 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-Right или Ctrl-k чтобы перейти к следующей вкладке, а также для предыдущей.

Это работает для меня.

Для тех, кто использует tmux - я назначил Ctrl-h и Ctrl-l для переключения окон в tmux. Таким образом, используя клавиши Ctrl и h, j, k, l, я могу переключаться между всеми окнами tmux и вкладками vim.

РЕДАКТИРОВАТЬ: я не знал об этом, когда я задал этот вопрос, но вам действительно следует избегать вкладок, чтобы просто управлять переключением между несколькими открытыми файлами. Вместо этого используйте буферы. Сегодня у меня

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

Просто откройте два файла одновременно:

vim a.txt b.txt

Затем используйте :b# для переключения между вкладками.

0

Во-первых, команда для приостановки Vim - это <C-z> , а не <C-x> .

Это не работает везде, но может быть возможно сделать что-то подобное для достижения вашей цели, если ваш Vim скомпилирован с функцией clientserver:

$ vim --remote-tab b.txt

Смотрите :help clientserver .

Но…

  • Вам не нужно приостанавливать Vim, чтобы открыть другой файл для редактирования. Вы можете сделать это из самого Vim очень легко:

    :e filename
    
  • Страницы с вкладками совсем не эквивалентны вкладкам других редакторов. Вместо этого используйте буферы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .