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

Возможно, одно из этих приложений к Вашей симпатии:

2D анимация:

Движение остановки:

Дружественное программирование ориентировано к графике:

Они все легко доступны в Дуге Linux.

30
19.07.2012, 16:14
5 ответов

Можно сделать

:100,200w filename

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

44
27.01.2020, 19:38
  • 1
    Адреса являются содержащими или эксклюзивными? –  Marcin 19.07.2012, 18:34
  • 2
    Включительно. Также включительно, если Вы используете шаблоны::/^something/,/^else/w имя файла или метки: b w имя файла включает строки, отмеченные и 'b'. –  Bruce Ediger 19.07.2012, 18:46
  • 3
    Привет @Bernhard, что, если я хочу сократить строки из текущего файла. –  Ravi Sevta 24.03.2018, 21:20

Самое общее:

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

  2. Переместите курсор для длительности строки группы, поразите 'm' и 'b'.'

  3. Перейдите на хит командного режима: как последовательность делают :'a,'b w filename затем возврат хита.

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

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

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

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

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

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

"Запись группа строк" команды также работает с">> имя файла" вместо просто "имени файла".">>" заставляет vi или энергию добавлять в файл, вместо того, чтобы просто писать это.

19
27.01.2020, 19:38

Для добавления к ответу Bernhard можно также выбрать регион с помощью визуального режима и затем войти :w filename.

8
27.01.2020, 19:38

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

vim -c "100,200w new_file.txt" -c wq original_file.txt
8
27.01.2020, 19:38

Один небольшой трюк заключается в использовании относительных номеров строк. Например:

:+0,+99w filename

записывает следующие 100 строк в имя файла .

1
27.01.2020, 19:38

Теги

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