Открыть файл в определенном разделе в vim (с помощью fzf)

Я часто использую общий макет на экране - несколько вертикальных разделений, дерево файлов (NerdTree) слева.

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

| file_tree | split1 | split2 |

Теперь я вызываю команду списка файлов (в моем случае - fzf). Когда я нахожу имя файла, я хочу нажать что-то вродеCtrl+1 открыть файл в split1, Ctrl+2 открыть файл в split2и т.д. Как я могу реализовать такие ярлыки? Конкретно с fzf, если возможно.

В противном случае опыт будет немного неудобным:

  • Я всегда могу открыть новый vsplit, но тогда мне нужно закрыть некоторые из других (потому что теперь их слишком много), они перетасовываются и т. Д.
  • Я могу сначала сфокусироваться на конкретном разбиении, а затем вызвать команду вывода списка файлов. Это работает, но я все время забываю об этом и половину времени продолжаю открывать файл в крошечномfile_tree Трещина.

1 ответ

Решение

К сожалению, открытие файла в определенном разделе невозможно. Это из-за природы разделения, это своего рода динамическое окно просмотра для буфера, которое можно переставить внутри окна в любой момент (с помощью сочетаний клавиш, таких как Ctrl+W, Shift+H / J / K / L), создать и удалить. Также, если у вас есть несохраненный буфер в разбиении, Vim не позволит вам открыть там новый файл без сохранения существующего, и в этом случае подход, который вы хотели бы использовать, тоже не сработает.

Вы всегда можете быстро переключиться на определенный разделитель с помощью сочетания клавиш N, Ctrl+WW, где N - номер вашего разделения. И вы можете перемещаться между соседними разделениями, используя сочетание клавиш Ctrl + W, h / j / k / l.

Вот как я работаю с разбиениями: у меня обычно открыто 6 разделений (2 строки и 3 столбца), а NerdTree я открываю с помощью своего ярлыка, только мне это нужно. Чтобы открыть файл в некотором разделении, я перехожу туда с помощью ярлыка N, Ctrl+WW, где N - номер разделения, а затем я открываю файл с помощью NerdTree (если я не могу вспомнить имя файла) или Fzf (когда я знаю имя файла).

Возможно, вам будет удобнее использовать вкладки, в этом случае вы можете открывать каждый новый файл в новой вкладке с помощью сочетания клавиш Ctrl+T после его выбора в Fzf. А затем вы можете переключаться между вкладками, используя сочетания клавиш gt (вперед) и gT (назад).

Другие вопросы по тегам