Intereting Posts
Минималистичный Framebuffer, показывающий только текст и прогресс Почему я не могу выполнить скрипт только с разрешения на выполнение? Невозможно получить элементарное изображение в grub и boot Хорошее подробное объяснение синтаксиса / etc / network / interfaces? Настроить связь между устройством и безголовым устройством Драйверы Blacklisting bash show-all-if-twoiguous включается спонтанно Как использовать службы systemd в / usr / lib / systemd /? мертвый ключ после переключения двух клавиш с помощью xmodmap exec с переменной filedescriptor Как я могу регистрировать, как часто файл изменяется в OS X? Могу ли я определить исключительное использование пространства для групп подвоев btrfs? Использовать SWAP в качестве дискового кеша в Linux Regex to match =, за которым следует новая строка, чтобы оба они были удалены Обновите монетный двор из командной строки: «Не редактируйте этот файл вручную»

vi / vim, как я могу записать несколько строк в новый файл

У меня есть ряд строк, которые я хочу записать в другой файл.
Как я могу это сделать?

Ты можешь сделать

:100,200w filename 

Конечно, 100 200 – это диапазон строк, которые вы хотите написать.

Самое общее:

  1. Переместите курсор в первую строку группы, которую вы хотите записать. Хит m и последовательность. Это «установленная метка с именем« a ».

  2. Переместите курсор на последнюю строку группы, нажмите «m» и «b».

  3. Перейдите в режим командной строки: как последовательность :'a,'bw filename нажмите return.

Это будет работать в vi, nvi и vim.

Другой метод, работает в более современном vim:

  1. Поместите курсор на первую строку группы строк, которую вы хотите записать. Hit V , для «запуска визуального блока строк».

  2. Переместите курсор в нижнюю часть группы строк. Vim будет выделять с обратным видео в каждой строке.

  3. Написать. Хит : переход в режим командной строки. Это даст вам подсказку в нижней части scren, которая выглядит так:: :'<,'> Это означает, что с начала визуального блока до конца. Введите w и имя файла и нажмите return.

Вы можете добавить выделенные строки в конец файла так, как вам нужно, поместив курсор на строку, которую вы хотите записать, затем :.w >> filename и :.w >> filename return.

Команды «написать группу строк» ​​также работают с «>> filename» вместо «filename». «>>» заставляет vi или vim добавлять к файлу, а не просто записывать его.

Чтобы добавить к ответу Бернхарда, вы также можете выбрать регион с использованием визуального режима, а затем ввести :w filename .

Если вам известны номера строк, которые вы хотите записать, вы можете сделать это из командной строки:

 vim -c "100,200w new_file.txt" -c wq original_file.txt