Как я могу сделать что-то вроде gf, но в новом вертикальном разделении? - PullRequest
22 голосов
/ 06 октября 2011

В vim gf открывает файл, имя которого находится под курсором в текущем окне. <C-W>f делает то же самое, но открывает его в новом окне. Однако это новое окно создается с горизонтальным разделением.

Как я могу сделать то же самое и получить вертикальное разделение?

Я пробовал разные варианты, которые сработали (например, :vsplit +normal\ gf), но у них есть небольшая проблема: если файл не существует, в любом случае создается новое окно. Этого не происходит ни с gf, ни с <C-W>f. Мне бы хотелось, чтобы такое поведение также выполнялось командой «открыть файл под курсором на вертикальном разбиении». Как я могу это сделать?

Ответы [ 2 ]

21 голосов
/ 06 октября 2011

Здесь возможно отображение:

:nnoremap <F8> :vertical wincmd f<CR>

С именем файла под курсором нажмите F8 и вуаля.

3 голосов
/ 13 августа 2016

Вот решение, включающее 5 нажатий клавиш:

  • Ctrl ш v
  • г е

То есть Ctrl - w v , за которым следует g f в обычном режиме.

Вот эквивалентное решение, которое включает 7 нажатий клавиш:

  • :vs
  • г е

Это команда :vs в режиме командной строки, за которой следует g f в обычном режиме. Предполагая, что мы находимся в обычном режиме с курсором на имени файла, полная последовательность нажатий клавиш: Shift : v s Введите г е .

Когда мы вводим Ctrl - w v в обычном режиме или :vs в режиме командной строки, текущее окно разделяется на два с помощью один и тот же файл, и курсор остается в той же позиции (т. е. в имени файла, к которому мы хотим перейти в новом вертикальном разбиении). Поэтому, если мы сейчас нажмем g f , текущее окно будет обновлено файлом, к которому мы хотим перейти.

Конечный результат - два вертикальных разбитых окна: одно с первым файлом, а другое с файлом, к которому мы хотели перейти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...