Как отредактировать содержание файла в vi?

Если бы Вы действительно хотите удалить окна, я предложил бы более простой, и намного менее опасный путь:

  • создайте резервную копию всего, что Вы хотите сохранить
  • купите или заставьте Ubuntu установить CD
  • выполните установку CD
  • при предоставлении опций выберите 'use full hard disk' для установки и просто пойдите со всеми значениями по умолчанию

это удалит раздел окон так или иначе и настроит разделы для Ubuntu.

2
11.09.2013, 20:36
1 ответ

Если Вы просто хотите присоединиться к каждым 4 строкам в одну, можно сделать это с рекурсивным макросом:

ggqaqqa4Jj@aq@a

Объяснение:

  • gg пойдите для запуска файла
  • qaq очистите любой ранее хранивший макрос в регистре a
  • qa начните записывать макрос в регистре a
  • 4J присоединитесь к 4 строкам в одну
  • j спуститесь по одной строке
  • @a имейте макрос в регистре a назовите себя
  • q прекратите записывать
  • @a назовите макрос в регистре a который будет продолжать работать над файлом, пока он не будет сделан.

Альтернатива в Perl

perl -ni -e 'chomp;print $_, $.%4? " ":"\n"' your_file

Ссылка

10
27.01.2020, 21:50
  • 1
    -l опция для жемчуга избавит от необходимости chomp и "\n". –  jordanm 11.09.2013, 21:31
  • 2
    @jordanm, Как это может устранить "\n"? –  Joseph R. 11.09.2013, 21:34
  • 3
    Почему qaq необходимый шаг? Если Вы начинаете записывать к регистру строчной буквы, предыдущее содержание автоматически перезаписывается. –  Marco 11.09.2013, 21:35
  • 4
    @Marco Какая-либо ссылка для этого? –  Joseph R. 11.09.2013, 21:36
  • 5
    @terdon я использую GNU grep 2.12--------121--------137117----@JosephR. Просто попробуйте его: :let @a="foobar", затем запишите макрос: qa6ddq и дисплей результат: :echo @a6dd. Если Вы записываете макрос как: qA6ddq затем команды добавляются: :echo @afoobar6dd –  Marco 11.09.2013, 21:48

Теги

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