Как скопировать и вставить из bash в vim и наоборот, используя только клавиатуру? - PullRequest
2 голосов
/ 16 ноября 2011

Используя эту команду:

http://www.hypexr.org/bash_tutorial.php#vi

Я могу использовать команды vim в bash.Но я хотел бы скопировать и вставить этот (bash) в vim и наоборот.

Я знаю, что здесь есть другие посты с использованием средней кнопки мыши, но я использую замазку дляподключиться к Linux-блокам, и средняя мышь выполняет выделение, как перетаскивание левой кнопкой мыши.

Я не ищу что-то, что изменит мой буфер обмена Windows.Выбор в vim полезен для переноса вещей в окна и из окон, но я бы хотел решение, которое будет работать как через замазку, так и через прямой терминал.

Заранее спасибо ...

Ответы [ 4 ]

3 голосов
/ 16 ноября 2011

Я использую функцию копирования и вставки в screen. ctrl - [ для входа в режим копирования и ctrl -] для вставки.Существуют разные буферы и возможность выгрузки в файл.Это довольно мощный.По умолчанию копируются строки, но вы можете свернуть по столбцам соединить отображаемые строки в одну скопированную строку (и другие параметры).А поскольку при запуске vim вы, вероятно, уже были бы на экране, у вас был бы доступен буфер вставки.У меня также есть хуки для копирования буфера в / из буфера обмена X.

2 голосов
/ 18 ноября 2011

Я не знаю, может ли это вам помочь, но я установил утилиту под названием xclip, которая делит буфер обмена X11 с VIM.Я в основном использую его для копирования и вставки между экземплярами VIM, работающими в разных окнах терминала.

Обычно я использую xclip со следующими сопоставлениями, которые ведут себя очень похоже на обычные команды yank и paste, но используютбуфер обмена:

nmap `yy    :.w !xclip<CR><CR>
vmap `y     :w !xclip<CR><CR>
nmap `p     :.r!xclip -o<CR>
nmap `P     :.-r!xclip -o<CR>
1 голос
/ 18 ноября 2011

Используйте регистры * (или + в X Windows) для ссылки на системный буфер обмена. Все, что выдернули или вставили из этих регистров, можно использовать для взаимодействия с другими приложениями:

Примеры вырезания / копирования

"*yy: скопировать текущую строку в системный буфер обмена

gg"*yG: скопировать текущий файл в системный буфер обмена

"*dd: вырезать текущую строку из системного буфера обмена

и т. Д., И т. Д.


Вставить примеры

"*p: вставьте системный буфер обмена

Или в режиме вставки:

i Ctrl + r *

или

i Ctrl + r Ctrl + p *

(последний вставляет без форматирования, полезно, чтобы избежать тех уродливых вставок из буфера обмена ОС, где каждая строка с отступом выглядит все более и более смещенной)

1 голос
/ 16 ноября 2011

Вы можете копировать из / в буфер обмена в vim и bash, используя ctrl + ins для копирования и shift + ins для пасты.

...