2010-02-03 2 views

ответ

5

нулевой ширины Двойник за утверждение

«Как искать„\ п“без предшествующего„\ г“в Vim?»

/\r\@<!\n 

Как вы можете искать и заменять эти события на «\ r \ n»?

:%s/\r\@<!\n/\r\n/gc 

Избавьтесь от окончательного «c», если вы хотите принять каждое соответствие без подтверждения.

Редактирование: Однако, если вы хотите получить ответ, который вы можете запомнить, как это сделать, не заглядывая в прошлое/за утверждения в миллиард раз, см. Ответ Джексона Миллера. Иногда лучше упростить свою проблему и использовать инструменты, которые не требуют постоянного чтения руководства :)

+0

Поиск сделал трюк для меня. BTW, окончание строк можно изменить с помощью: e ++ ff = dos, затем: w –

+0

wow я не знал, что vim поддерживается look-behind, cool! – calid

+0

Эй, мне нравится ваш путь лучше Мерлин. Я просто стараюсь сделать это с помощью того, что я знаю, как это сделать. –

3

Как насчет замены \ r \ n на \ n, а затем \ n с \ r \ n.

Должно быть что-то вроде:

:%s/\r\n/\n 
    :%s/\n/\r\n 
2

Для изменения всех окончаний строки, \ г \ п к \ п, используйте

:%s/\r$// 

Это будет искать для всех \ г символов с последующим переводом строки и замените его только новой строкой

2

Используйте утилиту dos2unix или unix2dos для преобразования окончаний строки в желаемый формат. Существуют встроенные реализации этих утилит для систем unix и windows.

Смежные вопросы