иногда я использую sed -n5,10pдля печати строки 5-10, чтобы мне было легче копировать и вставлять, не реагируя vim на мышь.
Грантбоу
на самом деле изнутри vim команда выглядит так:!sed -n 5,10p %
grantbow
Спасибо за все комментарии и ответы. xclip иногда полезен, спасибо @ sergiy-kolodyazhnyy. Когда я работаю на разных машинах, я иногда не могу контролировать, какой vim установлен, но наличие инструкций для проверки ответа @muru полезно, спасибо @ ashutosh-tripathy. Мне нужно чаще использовать команды vim register, чтобы помнить их, когда они мне нужны. Как я уже упоминал в приведенном выше вопросе, если я хочу сделать это быстро, а файл небольшой, то команда внутри vim выглядит так:!cat %
grantbow
Ответы:
12
Вы должны иметь Vim с clipboardи xtermclipboardХарактеристика скомпилирован. В Ubuntu, они доступны только с ВИМ GUI пакетов ( vim-gnome, vim-gtk, vim-athenaи т.д.).
После того, как вы установите один из них, вы можете скопировать (и вставить из) регистры буфера обмена ( *и +). Из этого очень информативного поста о Ви и Виме :
Для систем на основе X11 (т. Е. Linux и большинства других UNIX- подобных систем) есть 2 буфера обмена, которые не зависят друг от друга:
ПЕРВИЧНЫЙ - Это копирование на выбор, и его можно вставить с помощью средней кнопки мыши.
CLIPBOARD - Копируется (обычно) ^Cи вставляется ^V(Это похоже на MS Windows).
Vim имеет 2 специальных регистра, соответствующих этим буферам обмена:
*использует ПЕРВИЧНЫЙ; Мнемоника: s деготь s избирает (для копирования-on с Избранным)
+использует CLIPBOARD; мнемоника: CTRL + C (для общего набора клавиш)
Чтобы скопировать в регистр, перед командой копирования ( y) "и именем регистра ( *например). "*y, затем щелкните средней кнопкой мыши, чтобы вставить, или "+yи, ShiftInsertчтобы вставить.
Из этого вопроса вытекает довольно интересное решение . Установите xclip, затем перенаправьте вывод команды в xclip ( cat file | xclip -selection clipboardнапример), а затем вставьте его куда угодно (если это в терминале - используйте CtrlShiftV
). Теперь оказывается, что вы можете сократить эту команду до xclip -sel clip, что не совсем очевидно при чтении man-страницы или примеров там.
sed -n5,10p
для печати строки 5-10, чтобы мне было легче копировать и вставлять, не реагируя vim на мышь.:!sed -n 5,10p %
:!cat %
Ответы:
Вы должны иметь Vim с
clipboard
иxtermclipboard
Характеристика скомпилирован. В Ubuntu, они доступны только с ВИМ GUI пакетов (vim-gnome
,vim-gtk
,vim-athena
и т.д.).После того, как вы установите один из них, вы можете скопировать (и вставить из) регистры буфера обмена (
*
и+
). Из этого очень информативного поста о Ви и Виме :Чтобы скопировать в регистр, перед командой копирования (
y
)"
и именем регистра (*
например)."*y
, затем щелкните средней кнопкой мыши, чтобы вставить, или"+y
и, ShiftInsertчтобы вставить.источник
Из этого вопроса вытекает довольно интересное решение . Установите xclip, затем перенаправьте вывод команды в xclip (
cat file | xclip -selection clipboard
например), а затем вставьте его куда угодно (если это в терминале - используйте Ctrl ShiftV ). Теперь оказывается, что вы можете сократить эту команду доxclip -sel clip
, что не совсем очевидно при чтении man-страницы или примеров там.источник
/dev
, но текст все еще где-то хранится, верно?У меня была проблема, потому что мой vim не поддерживал буфер обмена :
Я установил vim-gnome (который поддерживает буфер обмена), а затем снова проверил:
Теперь я могу копировать и вставлять, используя "+ y и" + p соответственно.
источник