Символы переноса строк
- Author
- Message
-
Offline
- Posts: 176
- Joined: Sat Dec 24, 2011 4:05 pm
Символы переноса строк
Работаю над файлами, в которых LF и CRLF имеют разное назначение. При открытии и редактировании Акел их различает соответственно на [n] и [rn], но в момент сохранения он все конвертирует в установку "формат новой строки". Можно это дело как-то отрубить?
-
Offline
- Posts: 176
- Joined: Sat Dec 24, 2011 4:05 pm
Хм... да вроде, ничего такого не ставил. Похоже, при Win-стиле оно все конвертит, при Unix - нет: пример.
Хотя чет с разными переносами большинство редакторов косячит, включая Beyond Compare, которую я юзаю для слияния, так что чую, в моем случае будет проще написать пару скриптов для преобразования чистого 0x0A в сочетание \n и обратно.
Хотя чет с разными переносами большинство редакторов косячит, включая Beyond Compare, которую я юзаю для слияния, так что чую, в моем случае будет проще написать пару скриптов для преобразования чистого 0x0A в сочетание \n и обратно.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
-
Offline
- Posts: 176
- Joined: Sat Dec 24, 2011 4:05 pm
Видать, хост или браузер развлекается. Дубль 2, хотя он демонстрирует лишь поведение при сохранении. С включенным спешл-чаром и смотрю. Открываю файл - там в первом случае \n, во втором - \r\n, формат строки распознается как Unix. Меняю формат на Win - переводы остаются оригинальными; сохраняю - первый превращается в \r\n.
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
F. Phoenix
Сохраняется без изменений переводов. Смотрите как вы сохраняете файл. Если через кнопку Toolbar, то что назначено на эту кнопку, если через горячую клавишу, то что назначено на эту горячую клавишу в Hotkeys "Все клавиши".
Добавлено:
Сохраняется без изменений переводов. Смотрите как вы сохраняете файл. Если через кнопку Toolbar, то что назначено на эту кнопку, если через горячую клавишу, то что назначено на эту горячую клавишу в Hotkeys "Все клавиши".
Добавлено:
С этого и надо было начинать. При изменении формата новой строки все переводы при сохранении унифицируются.Открываю файл - там в первом случае \n, во втором - \r\n, формат строки распознается как Unix. Меняю формат на Win - переводы остаются оригинальными; сохраняю - первый превращается в \r\n.
-
Offline
- Posts: 5
- Joined: Wed Oct 31, 2018 8:05 am
изменение символа конца строки
храню файлы в кодировке UTF 8
заметил такую странность раньше
строки заканчивались символом конца строки \n
а теперь \rn
как это произошло и как вернуть всё назад?
p.s. на самом деле проблема в другом, при поиске строк
вида: ^([а-яА-Я])(.+?)( )([a-zA-Z])(.+?)$
и замене на: \4\5\3\1\2
т.е. если строка начинается с русского текста то он меняется местами с латинским и уходит в конец строки.
но после замены символа конца строки \n на \r\n
при замене теперь замененная строка оборачивается символами \r
как это побороть?
заметил такую странность раньше
строки заканчивались символом конца строки \n
а теперь \rn
как это произошло и как вернуть всё назад?
p.s. на самом деле проблема в другом, при поиске строк
вида: ^([а-яА-Я])(.+?)( )([a-zA-Z])(.+?)$
и замене на: \4\5\3\1\2
т.е. если строка начинается с русского текста то он меняется местами с латинским и уходит в конец строки.
но после замены символа конца строки \n на \r\n
при замене теперь замененная строка оборачивается символами \r
как это побороть?
-
Offline
- Posts: 330
- Joined: Mon Jun 03, 2019 2:33 am
У тебя в меню правка есть такие пункты (это может быть в подменю):
"DOS/Windows (0Dh, 0Ah)" Command(4184)
"Unix (0Ah)" Command(4185)
"Mac (0Dh)" Command(4186)
Задай везде тип переноса строк. Если ты вставляешь из одного документа в другой разные варианты переноса строк, то у тебя документ может переключится к единому значению для стандартного в текущей ОС. Например для Windows нормально \r\n и если ты скопируешь текст из другого документа с переносами \r\n то AkelPad может проверить есть ли у тебя в тексте символ \r и если есть то приведёт документ к единому виду, но это не точно.
^([а-яА-ЯЁё])(.+?) ([a-zA-Z])(.+?)$
\3\4 \1\2
1. пробел можно не использовать как группу
2. "Ёё" также русские буквы но не входят в диапазон а-я и А-Я. Смотри таблицу символов, стандартная программа в Windows, найди там последовательности русского алфавита и посмотри входит ли "Ёё" в последовательность. Можно так [А-яЁё]
"DOS/Windows (0Dh, 0Ah)" Command(4184)
"Unix (0Ah)" Command(4185)
"Mac (0Dh)" Command(4186)
Задай везде тип переноса строк. Если ты вставляешь из одного документа в другой разные варианты переноса строк, то у тебя документ может переключится к единому значению для стандартного в текущей ОС. Например для Windows нормально \r\n и если ты скопируешь текст из другого документа с переносами \r\n то AkelPad может проверить есть ли у тебя в тексте символ \r и если есть то приведёт документ к единому виду, но это не точно.
^([а-яА-ЯЁё])(.+?) ([a-zA-Z])(.+?)$
\3\4 \1\2
1. пробел можно не использовать как группу
2. "Ёё" также русские буквы но не входят в диапазон а-я и А-Я. Смотри таблицу символов, стандартная программа в Windows, найди там последовательности русского алфавита и посмотри входит ли "Ёё" в последовательность. Можно так [А-яЁё]