Я использую Neovim, у которого есть действительно классная функция, где, если я печатаю :terminal он загружает эмулятор терминала внутри Neovim. Интересной особенностью этого эмулятора терминала является то, что в любой момент я могу набрать CTRL-\ CTRL-N и перемещаться по выходным данным, как и в любом текстовом файле. Это позволяет мне прокрутить до некоторой части вывода и скопировать текст в буфер обмена.

Я хотел бы эту способность в обычном терминале. Есть ли способ для меня сделать это? Сейчас я пользуюсь Zsh, но, как я уже выглядел, я не могу найти способ получить выгоду от навигации по выводу терминала, как в Neovim. Желательно, чтобы я мог перемещаться с помощью команд Vim.

1 ответ1

3

Я буду второй комментарий с упоминанием tmux . Как это старше screen кузена, это терминальный мультиплексор. Это означает, что вы можете иметь несколько оболочек внутри одного физического терминала (эмулятора). Как и Vim, tmux поддерживает разделенные окна, несколько вкладок и специальный режим копирования, в котором вы можете прокручивать назад и захватывать текст. Вы входите в этот режим через <C-B>[ ; Ctrl-B - префиксная клавиша по умолчанию, с которой начинаются все команды tmux. (Все это настраивается, похоже на Vim.)

Как пользователь Vim, вы, вероятно, предпочитаете привязки клавиш в стиле vi. Поместите это в ваш ~/.tmux.conf:

# Use Vim key bindings.
setw -g mode-keys vi
set -g status-keys vi

Что касается восстановления в буфер обмена, вы найдете фрагменты конфигурации, которые делают это в Интернете. Или используйте плагин tmux-yank, лучше всего установленный через менеджер плагинов.

альтернативы

screen должен работать так же хорошо, хотя я не думаю, что он имеет так много мощных функций. Вы также можете использовать Neovim / Vim 8 в качестве терминального мультиплексора. Я еще не изучал новые возможности терминала, но я помню, что было предложено, чтобы Vim мог выполнять облегченное мультиплексирование терминала, в качестве альтернативы для пользователей, которым не нужна полная сложность tmux .

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