BrokenBrake 06.08.2010 14:50
Vim — Как копировать в иксовый буфер если vim собран без его поддержки?
Распространённая почему-то ситуация.Узнать, есть ли у вашего Vim поддержка X-буфера можно запустив его с параметром --version:
vim --version| grep clipboard
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
-X11 -xfontset -xim -xsmp -xterm_clipboard -xterm_save
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
-X11 -xfontset -xim -xsmp -xterm_clipboard -xterm_save
Если стоит минус перед clipboard, значит облом. Лично мне не хочется пересобирать пакет из-за этого, поэтому решаю проблему другим способом. Есть такая утилитка - xsel, она может входить в ваш дистрибутив, а может и нет. В любом случае найти и поставить её не составит труда. И потом можно настроить в .vimrc примерно такие комбинации клавиш:
1 |
" При копировании добавить в иксовый буфер
|
Это значит копирование одной строчки (к сожалению, без цифровых модификаторов) будет добавляться и в иксовый буфер, туда же пойдёт копирование выделения в визуальном режиме. Надеюсь, в комментариях подскажут более удобные решения.
Кстати, если ваш Vim всё же собран с включенной опцией clipboard, тогда вообще всё проще, пропишите в .vimrc:
1 |
|
P.S. Вставка из иксового буфера нормально работает в режиме вставки по +.
exelens 06.08.2010 16:15 #
+ 2 -
Пожалуйста используй КАТ!
Дополню:
set clipboard=unnamed делать не обязательно, можно конкретно работать с иксовым буфером через префиксы "+ и "* к командам копирования/вставки/удаления (например "+yy — скопировать текущую строку в иксовый буфер, "*p — вставить строку из иксового буфера).
"+ — операции над главным (первым, primary) исковым буфером,
"* — операции над мышиным буфером (который заполняется, когда выделяешь что-то мышей).
set clipboard=unnamed делать не обязательно, можно конкретно работать с иксовым буфером через префиксы "+ и "* к командам копирования/вставки/удаления (например "+yy — скопировать текущую строку в иксовый буфер, "*p — вставить строку из иксового буфера).
"+ — операции над главным (первым, primary) исковым буфером,
"* — операции над мышиным буфером (который заполняется, когда выделяешь что-то мышей).
Можно, конечно, но это неудобно, решение с unnamed гораздо красивее.
For whom how. Мне, например, не всегда удобно, когда буфер вима затирает основной буфер иксов, я предпочитаю более тонкий контроль над поведениями буферов, точно указывая какой буфер когда нужно использовать. В общем, кому что удобно.
а зачем его собирать без поддержки иксов? Чтобы было чем заняться после сборки?
И зачем его вообще собирать? Есть дистрибутивы, где его нет по умолчанию?
И зачем его вообще собирать? Есть дистрибутивы, где его нет по умолчанию?
Этот вопрос лучше к авторам пакетов адресовать. Я не собирал Vim.
Salix, то же самое во всех (скорей всего) дистрибутивах, основанных на SlackWare.
То же самое во многих сборках Ubuntu и Debian (не пользуюсь, просто встречал в сети удивлённые возгласы).
То же самое во многих сборках Ubuntu и Debian (не пользуюсь, просто встречал в сети удивлённые возгласы).
интересно, за что минус поставили... Даже Слака у единиц, а ЛФС собирают самые-самые... Что не так-то? Или я где-то высказался против самого ЛФС? о_0
Тот, кто собирал LFS потратил столько нервных клеток, что сейчас хотя бы минусами пытается компенсировать :)