Как удалить '\ n' каждой строки в файле - PullRequest
9 голосов
/ 29 июля 2011

Итак, у меня есть огромный файл, который я хотел бы отформатировать с использованием vim.

Поэтому я хочу удалить '\ n' каждой строки, вот пример файла:

I 
Want 
to 
be 
just one 
line 

Я пытался сделать это, используя это:

:%g/^/norm!(a keyword that deletes the /n)

Я просто не знаю, какое ключевое слово может работать для этого, поэтому, другими словами, я хотел бы знать способ автоматизации руководстваКоманды 'I (нажмите кнопку удаления)' в каждой строке.

Заранее спасибо!

Ответы [ 3 ]

16 голосов
/ 29 июля 2011

Самый идиоматичный способ объединения всех строк в буфере - использовать команда :join:

:%j!

(удалите знак !, если вы хотите, чтобы Vim вставлял пробел между присоединенными линий. Из формулировки вопроса я предполагаю, что вы не хотите добавить пробелы.)

То же самое можно сделать в интерактивном режиме, если вы предпочитаете:

ggVGgJ

(Опять же, используйте J вместо gJ, если вы хотите разделить соединенные строки с пробелами.)

Другая опция - это команда :substitute:

:%s/\n//
3 голосов
/ 29 июля 2011

ggVGJ

Сломано:

  • gg: перейти к строке 1
  • V: войти в визуальный режим
  • G: перейти к последней строке
  • J: объединить выделение в одну строку
1 голос
/ 29 июля 2011

зачем использовать vim?Вы могли бы легко

tr -d '\n' < file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...