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] plumqqz.livejournal.com 2012-04-19 12:55 pm (UTC)(link)
ma, идешь куда надо, y'a
Потом p где надо квантум сатис.

[identity profile] metaclass.livejournal.com 2012-04-19 01:08 pm (UTC)(link)
vim? не работает.
копирует строку, как она соотносится с положением и нажатием - неясно.

[identity profile] plumqqz.livejournal.com 2012-04-19 01:19 pm (UTC)(link)
vim? не работает.

Если у Вас это не работает, то тогда Вам стоит обратиться к более дружелюбному редактору.

[identity profile] metaclass.livejournal.com 2012-04-19 01:33 pm (UTC)(link)
Например, копирует строку целиком, вместо строки под перемещением к отметке.

[identity profile] plumqqz.livejournal.com 2012-04-19 01:37 pm (UTC)(link)
Боюсь, я Вас не вполне понимаю.

[identity profile] metaclass.livejournal.com 2012-04-19 01:45 pm (UTC)(link)
ma - поставить отметку.
y'a - скопировать в регистр текст, соответствующий перемещению к отметке.
p - вставить текст из регистра.

по идее должно копировать только часть текста но копирует строку целиком.

[identity profile] plumqqz.livejournal.com 2012-04-19 01:53 pm (UTC)(link)
Ну, это смотря у кого какие идеи. У виайных, они, очевидно, были иные.
Но все равно не понятно, как такое несовпадение идей мешает бессмертной копипасте?

[identity profile] metaclass.livejournal.com 2012-04-19 02:37 pm (UTC)(link)
Скопировать часть текста. Мне не нужна строка целиком. Мне нужно скопировать одно слово и вставить его в 5 разных мест в 5 разных файлах :)

[identity profile] plumqqz.livejournal.com 2012-04-19 02:47 pm (UTC)(link)
Никогда не думал, что копипаста может быть такой мелкой. :-)
Edited 2012-04-19 14:47 (UTC)

[identity profile] plumqqz.livejournal.com 2012-04-19 03:12 pm (UTC)(link)
А вообще-то yw, если слово.

[identity profile] blog.vnaum.com (from livejournal.com) 2012-04-19 04:07 pm (UTC)(link)
visual ему надо.
(из нормального режима) v, двигаемся куда надо, y
в итоге помеченное - в регистре.
Для целых строчек - V, для вертикальных блоков - Ctrl+v
Состояние всех регистров при выходе сохраняется в .viminfo (хбз как по дефолту, настраивается), при следующем старте зачитывается.

[identity profile] jdevelop.livejournal.com 2012-04-19 06:53 pm (UTC)(link)
:au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g'\"" | endif

[identity profile] jdevelop.livejournal.com 2012-04-19 06:53 pm (UTC)(link)
:set viminfo='1000,f1,<500

(Anonymous) 2012-04-19 04:09 pm (UTC)(link)
visual ему надо.
(из нормального режима) v, двигаемся куда надо, y
в итоге помеченное - в регистре.
Для целых строчек - V, для вертикальных блоков - Ctrl+v
Состояние всех регистров при выходе сохраняется в .viminfo (хбз как по дефолту, настраивается), при следующем старте зачитывается.

[identity profile] metaclass.livejournal.com 2012-04-19 04:49 pm (UTC)(link)
Ага, осталось разобраться, что под словом понимает vim и понимает ли он под ним, например, сумму 1,456,768.00 встречающуюся в адовых оперденях :)

[identity profile] plumqqz.livejournal.com 2012-04-19 05:45 pm (UTC)(link)
yt<пробел>