У меня есть несколько строк, которые я хочу записать в другой файл.
Как я могу это сделать?
30
Ты можешь сделать
:100,200w filename
Конечно, 100 200 это диапазон строк, которые вы хотите написать.
Наиболее общие:
Переместите курсор на первую строку группы, которую вы хотите написать. Хит
m
иa
последовательно. Это «установленная метка с именем« а »».Переместите курсор на последнюю строку группы, нажмите «m» и «b».
Перейдите в режим командной строки: в качестве последовательности
:'a,'b w filename
нажмите «Return».Это будет работать в vi, nvi и vim.
Другой метод, работает в более современном vim:
Поместите курсор на первую строку группы строк, которую вы хотите выписать. Хит
V
, для «запуска визуального блока линий».Переместите курсор в конец группы линий. Vim выделит с обратной видео каждую строку.
Написать. Нажмите,
:
чтобы перейти в режим командной строки. Это даст вам подсказку внизу экрана, которая выглядит следующим образом::'<,'>
Это означает от начала визуального блока до конца. Введитеw
и имя файла и нажмите клавишу возврата.Вы можете добавить выделенные строки в конец файла, поместив курсор на строку, которую вы хотите выписать, и набрав:
:.w >> filename
и нажав клавишу возврата.Команды «написать группу строк» также работают с «>> filename» вместо просто «filename». «>>» заставляет vi или vim добавлять файл, а не просто записывать его.
источник
Чтобы добавить ответ Бернхарда, вы также можете выбрать регион в визуальном режиме и затем ввести
:w filename
.источник
Если вам известны номера строк, которые вы хотите написать, вы можете сделать это из командной строки:
источник
один маленький трюк использует относительный номер строки. Например:: + 0, + 99w имя файла записать следующие 100 строк в имя файла.
источник