Есть два способа сделать это: (1) Используя tmux и используя (2) ': term' внутри vim
tmux
Если вы используя свой терминал из tmux, вы можете войти в режим копирования и выбирать и копировать строки из вашего терминала. Предполагая, что префиксом tmux является Ctrl-b, точные шаги для этого:
Введите режим копирования : Ctrl-b [
Начать выбор: Пробел
Расширить выделение: использовать клавиши со стрелками
Сохранить выбор в буфере: введите
Перенести выделение в системный буфер обмена: Ctrl-b: run-shell "tmux save buffer - | xsel -i -b"
Вставить выделение в буфер vim (+ register): "+ p
Дополнительные примечания:
a. tmux предлагает команду под названием« capture-pane », с помощью которой вы можете скопировать всю панель (терминал).
b. Для работы шага 5, описанного выше, вам необходимо установить xsel. Шаг 5 можно сократить, используя привязку клавиш. Для этого в вашем. tmux.conf (или, введя эту команду в командной строке tmux Ctrl-b :
)
bind C-c run-shell "tmux save-buffer - | xsel -i -b"
Теперь шаг 5 эквивалентен нажатию Ctrl- c.
c. Вы можете использовать vi m клавиши для навигации в режиме копирования: Ctrl-b: setw -g mode-keys vi
: term
Если вы запускаете терминал изнутри vim с помощью команды ex ': term', вы можете войти в "нормальный" режим, используя: Ctrl-W Shift-n. Затем вы можете перемещаться (и копировать) терминал с помощью клавиш vim, как если бы это был обычный буфер vim.