Файл копии от буфера в энергии в новый txt файл

Кто-то помог бы мне с командой для данных копии из буфера "a" в новый .txt файл? Я скопировал 30 строк от Vi посредством команды ("a30yy) в буфер "a" и я не делаю известный, как скопировать эти данные в новый .txt файл.

1
задан 15 October 2018 в 13:12

2 ответа

После того, как вы скопировали строки ("a30yy), откройте новый файл (:e some-file - открыть в текущем разделе / ​​окне, :tabe some-file - открыть в новой вкладке, :vs some-file - открыть в новом вертикальном разбиении / окно и т. д.), перейдите к позиции, в которую вы хотите вставить его, и выполните "ap (или "aP, если вы хотите вставить перед курсором).


Технически, a здесь - это регистр , а не буфер . Регистры - это место, где хранится скопированный (восстановленный) или вырезанный (удаленный) текст. Буферы в Vim - это объекты, которые представляют файлы. Поэтому, когда вы открываете файл в Vim, создается новый буфер, который представляет этот файл. Буфер отображается в окне (он же разделен), а вкладки содержат расположение окон. Один и тот же буфер может отображаться в нескольких окнах. Смотри этот Vi & amp; Vim post .

1
ответ дан 7 December 2019 в 15:12

Если ваша цель - сохранить определенные последовательные строки из файла a в новый файл b, то вы можете использовать визуальный выбор для записи в новый файл .

:'<,'>w new.txt

Но если ваша цель - сбросить содержимое регистра в файл , как предложено muru в связанном сообщении, используйте это:

:call writefile(getreg('a', 1, 1), "new_filename.txt")

Если вы хотите сделать это короче, вы можете определить свою собственную функцию в ~/.vimrc (назовите ее Wrf для записи в регистр в файл)

function Wrf(regname,fname)
    call writefile(getreg(a:regname,1,1),a:fname)
endfunction

Теперь вы можете просто сделать в vim:

:call Wrf('a','new_textfile.txt')
0
ответ дан 7 December 2019 в 15:12

Другие вопросы по тегам:

Похожие вопросы: