Объединить два буфера Emacs? - PullRequest
8 голосов
/ 25 октября 2011

Учитывая два отдельных буфера Emacs, как я могу объединить их, соединяя первые строки каждого, затем второй и т. Д.?Возможно, мне понадобится добавить пробел после каждой строки в буфере # 1, чтобы я не заканчивал, например, "a b1 2".

Buffer # 1

a b
a c
c x

Буфер # 2

1 2
5 4
3 2

Результат

a b 1 2
a c 5 4
c x 3 2

Ответы [ 4 ]

15 голосов
/ 25 октября 2011

Вы должны иметь возможность использовать прямоугольники , чтобы сделать это.Просто скопируйте содержимое буфера 2, а затем прямоугольник-yank (Cx ry) их в буфер 1, с точкой один пробел справа от 'b' в первой строке.

5 голосов
/ 25 октября 2011

Используйте M-x 2C-associate и M-x 2C-merge. Вы можете использовать C-h v 2C-windows-width или M-x 2C-shrink-window-horizontal.

4 голосов
/ 25 октября 2011

Я обычно использую инструмент ' paste ' для таких приложений (хотя Emacs нет ..). Если вы используете Linux, он должен быть доступен по умолчанию.

Это так же просто, как:

$ paste file1 file2 > file3

, который объединит два файла 'file1' и 'file2' в выходной файл 'file3' так, как вы просили. По умолчанию вкладки столбцов используются в качестве разделителей столбцов, но это можно изменить с помощью параметра '-d'.

0 голосов
/ 25 октября 2011

Если вы не возражаете против объединения вне emacs, вы можете сохранить два файла и объединить их, используя awk.

Посмотрите на этот пример: http://www.linuxquestions.org/questions/linux-newbie-8/awk-question-331224/#post1682282

...