metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-04-19 01:52 pm

vim/emacs/прочее use case: копипаста

А вот объясните мне наконец, как правильно под линуксом заниматься копипастой?
Т.е. в винде в 99% случаев я делаю так: открываю фар-notepad-вижуал-студию-ворд-дельфи, нахожу нужную строку, далее Shift-стрелки, выделяю нужный мне кусок, потом Ctrl-Insert - копирую, затем открываю нужный файл и делаю Shift-Insert 100500 раз, размножая нетленку. Если же нужно заменить - то сначала выделяю заменяемый текст. Если текст таскается между разными программами - то переключение по alt-tab. Т.е. все производится с клавиатуры, причем весьма быстро и с минимумом нажатий кнопок и перемещений пальцев.

Как такое же сделать, например в vim или emacs, само собой, без всяких средних клавиш мыши, иксов и прочей несуществующей фигни?

[identity profile] jdevelop.livejournal.com 2012-04-19 10:55 am (UTC)(link)
vim:

- собрать с поддержкой клипборды
- V - выделяет блок, Up/Down - выделить кусок текста
- v - выделяет кусок в строке/строках
- "*y - скопировать в системный клипборд
- "+y - скопировать в иксовый клипборд

вставка - Shift-Ins в консоли, или Ctrl-V в приложении

никакой мыши

[identity profile] kong-en-ge.livejournal.com 2012-04-19 11:10 am (UTC)(link)
Ребе, еще ж не тяпница, а вы уже набросили.

[identity profile] nicka-startcev.livejournal.com 2012-04-19 11:13 am (UTC)(link)
йя ретроград. Йя пользую mc, mcedit, gedit, make, bash
а копирую средней кнопкой мыши, обычно между окном Ψ и оперой.

[identity profile] freiksenet.livejournal.com 2012-04-19 11:42 am (UTC)(link)
emacs:
C-Space поставить метку, клавишами навигации выделяешь.
С-w, M-w - cut, copy
C-y - paste

Если чисто консоль то естественно буфер обмена ака kill ring только в емаксе будет.

[identity profile] gds.livejournal.com 2012-04-19 11:45 am (UTC)(link)
не работает в случае "Если текст таскается между разными программами".

[identity profile] theiced.livejournal.com 2012-04-19 11:46 am (UTC)(link)
ребе, мы же вам про кейборд макрос рассказывали ;]

[identity profile] freiksenet.livejournal.com 2012-04-19 11:46 am (UTC)(link)
Если имакс не в консоли то работает.

[identity profile] freiksenet.livejournal.com 2012-04-19 11:49 am (UTC)(link)
Можно еще в .emacs такое пихнуть. Хз надо ли в современных версиях, у меня "по традиции" лежит.

(transient-mark-mode 1)  ; Now on by default: makes the region act quite like the text "highlight" in many apps.
(setq shift-select-mode t) ; Now on by default: allows shifted cursor-keys to control the region.
(setq mouse-drag-copy-region nil)  ; stops selection with a mouse being immediately injected to the kill ring
(setq x-select-enable-primary nil)  ; stops killing/yanking interacting with primary X11 selection
(setq x-select-enable-clipboard t)  ; makes killing/yanking interact with clipboard X11 selection
(setf interprogram-cut-function 'x-select-text)
(setf interprogram-paste-function 'x-cut-buffer-or-selection-value)
(setq select-active-regions t) ;  active region sets primary X11 selection
(global-set-key [mouse-2] 'mouse-yank-primary)  ; make mouse middle-click only paste from primary X11 selection, not clipboard and kill ring.

[identity profile] hshhhhh.livejournal.com 2012-04-19 11:52 am (UTC)(link)
а мне расскажыте

[identity profile] gds.livejournal.com 2012-04-19 11:53 am (UTC)(link)
проверил, по M-w скопировал, перешёл в терминал -- пастится то, что положил в буфер обмена из фаерфокса (ровно ту фразу, которую цитировал в предыдущем каменте). Перешёл в фаерфокс -- та же история. Запустил gedit -- то же самое. Но! Когда дальше запустил новый емакс, он мне вставил через C-y строчку "gedit", которая была в программе, запускающей gedit (хуйнюшка, вызываемая по Alt-F2).

Цитирую: "Меня доебали уже твои два буфера обмена, блядь. Один охуительней другого, блядь."

[identity profile] br (from livejournal.com) 2012-04-19 11:53 am (UTC)(link)
:help {y,d,p}

[identity profile] gds.livejournal.com 2012-04-19 11:54 am (UTC)(link)
это уже ближе к делу, попробую на досуге.

[identity profile] metaclass.livejournal.com 2012-04-19 11:55 am (UTC)(link)
Которые нужно настраивать в конфигах под себя?:)

[identity profile] veter-r-r.livejournal.com 2012-04-19 11:58 am (UTC)(link)
Вопрос понятен, а в чем проблема?
точно так же все в vim работает.

[identity profile] theiced.livejournal.com 2012-04-19 11:59 am (UTC)(link)
нет - они искаропки работают.

[identity profile] metaclass.livejournal.com 2012-04-19 12:11 pm (UTC)(link)
Не работает, само собой.

[identity profile] metaclass.livejournal.com 2012-04-19 12:11 pm (UTC)(link)
Тогда я не помню, про что ты :)

[identity profile] veter-r-r.livejournal.com 2012-04-19 12:15 pm (UTC)(link)
Ctrl+Ins, Shift+Ins...
не знаю, не знаю :)

[identity profile] maholet.livejournal.com 2012-04-19 12:23 pm (UTC)(link)
Пользуй mc (Midnight Commander)
У него интерфейс встроенного редактора более менее похожий на фар
можно запускать
mc -e

F3 - начало и конец выделения блока
F5 - копировать
F6 - мувнуть
F8 - удалить блок
так же есть команды скопировать блок в файл, причем имя файла можно задавать. Забыл комбинацию, но нажмешь F9 там найдешь сам.

[identity profile] jk4r.livejournal.com 2012-04-19 12:26 pm (UTC)(link)
Открывай все файлы в емаксе же.

[identity profile] metaclass.livejournal.com 2012-04-19 12:29 pm (UTC)(link)
100500 вариант клавиатурных сочетаний в несчастном линуксе :)

[identity profile] berezovsky.livejournal.com 2012-04-19 12:34 pm (UTC)(link)
дельфи :3333333333333333333333333333333

[identity profile] freiksenet.livejournal.com 2012-04-19 12:39 pm (UTC)(link)
Значит емакс всё еще юзает иксовый основной буфер. То что я снизу запейстил должно исправить.

[identity profile] guamoka.livejournal.com 2012-04-19 12:51 pm (UTC)(link)
Может, это просто консоль копипастит? ;-)

[identity profile] guamoka.livejournal.com 2012-04-19 12:52 pm (UTC)(link)
не слушайте:-) шифт-мышкой, стрл+инс/шифт-инс.

Page 1 of 4