Помогите написать скрипт на JavaScript

Russian main discussion
Post Reply
  • Author
  • Message
Offline
Posts: 8
Joined: Tue Dec 26, 2017 5:26 pm

Помогите написать скрипт на JavaScript

Post by Oleg »

Как написать скрипт, который превращал бы каждую строку (от начала строки до символа перевода строки) в отдельный абзац. Короче заменял бы перевод строки (именно строки, а не абзаца) в абзац.
Просмотрел все скрипты для AkelPada, но нужного не нашёл. Помогите, плиз.

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Re: Помогите написать скрипт на JavaScript

Post by opk44 »

Oleg wrote:Как написать скрипт, который превращал бы каждую строку (от начала строки до символа перевода строки) в отдельный абзац. Короче заменял бы перевод строки (именно строки, а не абзаца) в абзац.
Просмотрел все скрипты для AkelPada, но нужного не нашёл. Помогите, плиз.
1. Пояснили бы лучше "на пальцах", чем у вас отличаются символы перевода строки от символов перевода абзаца. В AkelPad есть режим "перенос по словам" [Ctrl+U], но там никаких символов в действительности нет, одна "видимость". Хотя эту "кажимость" можно зафиксировать при помощи скриптов LinesWrap.js/LinesUnwrap.js.

2. Надо понимать, что AkelPad это не шестнадцатеричный редактор, а текстовый. Формат новой строки в нём определяется внутренними командами:

Code: Select all

4184 Формат новой строки Windows (0Dh, 0Ah)
4185 Формат новой строки Unix (0Ah) 
4186 Формат новой строки Mac (0Dh)
(см. также Меню ["Правка"]-->["Формат новой строки"]-->[...] и крайне полезно внимательно изучить информацию на строке статуса, где формат новой строки также отображен).

Отсюда следует, что при сохранении файла, даже если у вас и были какие-то различия в этих "переводах", они все будут потеряны и приведены к единому выбранному стандарту. Поэтому, с практической точки зрения, не вижу смысла даже пытаться делать какие-то замены по тексту во время сеанса работы типа '\x0d' ---> '\x0a' и т. п., а уж тем более, "городить" на эту тему скрипт.

Offline
Posts: 8
Joined: Tue Dec 26, 2017 5:26 pm

Post by Oleg »

Конец строки - это то ,где находится курсор после нажатия клавиши "END". Туда нужно вставить знак абзаца если его там нет.

Offline
Posts: 8
Joined: Tue Dec 26, 2017 5:26 pm

Post by Oleg »

P.S. Зачем мне это нужно. Если вставить текст из AkelPada в обычный блокнот windows, то каждый абзац растянется на одну строку. Естественно читать так неудобно. Поэтому и надо длину абзаца подогнать под окно блокнота.

YuS
Offline
Posts: 513
Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы

Post by YuS »

Oleg wrote:Конец строки - это то ,где находится курсор после нажатия клавиши "END". Туда нужно вставить знак абзаца если его там нет.
opk44 wrote: 1. Пояснили бы лучше "на пальцах", чем у вас отличаются символы перевода строки от символов перевода абзаца.
?
А вообще, не понимаю абсолютно - зачем из AP в блокнот вставлять текст и там его читать?! AP - одна из лучших, если не лучшая, замена штатному блокноту...
Но если очень хочется, то необходимо отключить штатное сворачивание строки и воспользоваться скриптом, например LinesWrap.js, который умеет сворачивать строки по заданному формату...

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Oleg wrote:...Если вставить текст из AkelPada в обычный блокнот windows, то каждый абзац растянется на одну строку. Естественно читать так неудобно. Поэтому и надо длину абзаца подогнать под окно блокнота.
Даже у "блокнота" есть опция меню [Формат]-->[Перенос по словам].
Но если, как говорится "русский витязь простых путей не ищет", то скрипт LinesWrap.js из первого пункта вам подойдёт.

Offline
Posts: 31
Joined: Fri Apr 17, 2009 5:47 pm
Location: Гдето под Питером

Post by Evgenyatam »

символа абзац в акелпаде нет. абзац в чистом тексте это несколько пробелов/табуляций в начале строки. а зафиксировать концы строк можно плагином линес.

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Evgenyatam wrote:символа абзац в акелпаде нет. абзац в чистом тексте это несколько пробелов/табуляций в начале строки. а зафиксировать концы строк можно плагином линес.
Вы, когда шутите, хоть смайлики ставьте. А то, не ровён час, кто-нибудь ещё и поверит.

YuS
Offline
Posts: 513
Joined: Sun Sep 15, 2013 8:25 am
Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы

Post by YuS »

opk44 wrote:Вы, когда шутите, хоть смайлики ставьте.
:) Ну, почему шутит? В принципе, хоть и сильно условно, но если очень хочется, то можно принять за начало абзаца:

Code: Select all

(?>^\t|^ {2,})\K
и соответственно, концом абзаца можно считать:

Code: Select all

$(?=(?>\n(?>^\t| {2,})|\Z))
Post Reply