2014-02-05 3 views
3

Использование tmux в режиме копирования, я не могу получить окно vim для прокрутки. Это возможно? Я пытаюсь скопировать огромный кусок текста в vim внутри одного окна tmux и вставить в другой. Благодарю.Прокрутите окно vim в режиме копирования Tmux?

+1

Я бы попробовал использовать тронный плагин Тима Папы: https://github.com/tpope/vim-tbone – Cubic

+0

https://github.com/sjl/vitality.vim – digenishjkl

ответ

2

Я знаю, о чем вы просите, и я искал сеть, чтобы найти ее. Это то, что меня беспокоило. Это, однако, может помочь вам с вашей проблемой:

http://www.vim.org/scripts/script.php?script_id=4488 - vim плагин. Не так странно, как войти в режим копирования и прокручивать в vim вместо буфера истории/прокрутки tmux.

+0

Так что нет другого способа, кроме как установить/используя vim-плагин на всем запущенном компьютере через tmux? Пожелайте, чтобы режим копирования мог это сделать, какой позор. – Bastien974

1

попробовать, если это работает для ваших нужд:

function! SetTmuxBuffer() range 
    execute "!tmux set-buffer '" .join(getline(a:firstline, a:lastline),"\015")."'" 
endfunction 

command! -range ToTmux <line1>, <line2> call SetTmuxBuffer() 

поставил выше кодов в вашем vimrc или в файле VIM и источник его. то вы можете, например, отправить line1-line8 в tmux буфер:

:1,8ToTmux 

или визуального выбора, затем

:'<,'>ToTmux 

перейти в другое окно tmux, попробуйте вставить строки в Vim.

+0

Возможно, используйте 'system()' с 'tmux load-buffer', так что вам не нужно прибегать к' shellescape() 'для правильной обработки всех символов (например, одинарных кавычек):' call system ('tmux load-buffer - ', join (getline (a: firstling, a: последняя строка), "\ 012")) ' –

Смежные вопросы