SynWrite (Syn2)

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Ciber SLasH
Сообщения: 209
Зарегистрирован: Сб авг 20, 2005 21:41
Откуда: С.-Петербург

Сообщение Ciber SLasH »

Почему не работает такой RegExp?:
^(Windows\sRegistry\sEditor\s[\d]{1}[\.][\d]{2}) | (REGEDIT4)$
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

не знаю. Я бы убрал все цифры- или вынес ^$ за скобки
Аватара пользователя
kvichans
Сообщения: 453
Зарегистрирован: Сб янв 21, 2006 12:03
Откуда: Москва

Сообщение kvichans »

Alextp писал(а):Пока хватит репортов. С субботы/вск можно продолжить
Продолжаю.

1. Баг. При использовании команды Replace в диалоге Replace. Пропускается замена того текста, который выделен перед вызовом диалога.
Воспроизведение:
- Выделить слева-направо часть текста
00 12 00 12 00 12 00
- Вызвать диалог Replace. Выделение "12" окажется в условии Search for
- Набрать в Replace with новый текст: "99"
- После первого применения команды Replace текст станет таким
00 12 00 99 00 12 00
Видимо замены выполняются от каретки, которая при выделении слева-направо стоит в конце. Если же делать выделение справо-налево, то каретка перед выделением и замена его захватывает.
Win7x64(1600x900), TC8.50x32, SynWrite 6.19, CudaText 1.3.14, UV 6.5.0.0
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

1. не такой уж баг- поиск выполняется от каретки (как указано в диалоге). Надо в диалоге вкл. Origin=entire
Аватара пользователя
kvichans
Сообщения: 453
Зарегистрирован: Сб янв 21, 2006 12:03
Откуда: Москва

Сообщение kvichans »

2. Ломает мозг отображение то текущей колонки, то число-символов-перед-кареткой+1.
Про это уже был пост http://forum.wincmd.ru/viewtopic.php?t=13078&start=1415
Ответ Alextp был краток и понятен: "By design" - но успокоения не дал.
Мне сейчас приходится в уме высчитывать номер колонки по отображенному числу символов.
Предлагаю
- либо отображать оба значения: и число символов и номер колонки
- либо пересмотреть "design" и всегда отображать только номер колонки.

-----
Ликбез. Научите как оформлять ссылки на прежние посты.
А) Как узнать номер поста? Адрес указанный выше я нашел перебирая номера после &start=.
Б) Как записывается адрес в bb-тег URL?

Добавлено спустя 3 минуты:
Alextp писал(а):1. не такой уж баг- поиск выполняется от каретки (как указано в диалоге). Надо в диалоге вкл. Origin=entire
Согласен про "не баг". Это досадная неточность, которая есть только у Син. Остальные редакторы понимают, что если пользователь выделил текст, то уж его-то он точно хочет заменить.
Win7x64(1600x900), TC8.50x32, SynWrite 6.19, CudaText 1.3.14, UV 6.5.0.0
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

-А) Как узнать номер поста?
Б) Как записывается адрес в bb-тег URL?

- найти пост, нажать ПКМ листик слева от (Отдельно) или сам (Отдельно). Скопировать
-

Код: Выделить всё

[url=...]txt[/url]
Добавлено спустя 2 минуты:

-неточность, которая есть только у Син
Поправлю

Добавлено спустя 6 минут:
kvichans писал(а):"By design" - но успокоения не дал
Посмотрю как считать номер колонки. не знаю пока.
Аватара пользователя
kvichans
Сообщения: 453
Зарегистрирован: Сб янв 21, 2006 12:03
Откуда: Москва

Сообщение kvichans »

Alextp писал(а):
kvichans писал(а):Как узнать номер поста?
найти пост, нажать ПКМ листик слева от (Отдельно) или сам (Отдельно). Скопировать
Спасибо. Листик я долго искал. Нашел.
Еще один ликбез-вопрос про форум
В) Можно ли сделать ссылку (для сохранения в Избранном) на последний пост в ветке? Попробовал ссылку, которая используется на главной странице форума, но она быстро начинает указывать не на самый последний.
Win7x64(1600x900), TC8.50x32, SynWrite 6.19, CudaText 1.3.14, UV 6.5.0.0
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

В)нет Afaik
Аватара пользователя
kvichans
Сообщения: 453
Зарегистрирован: Сб янв 21, 2006 12:03
Откуда: Москва

Сообщение kvichans »

3. Встретил еще одну опасную команду.
В диалоге Replace команда Replace all in all tabs
- Как проконтролировать результат ее применения?
- Как отменить результат ее применения?
- Предлагаю убрать с этой команды акселератор.
Win7x64(1600x900), TC8.50x32, SynWrite 6.19, CudaText 1.3.14, UV 6.5.0.0
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

3.
- Опцией "запрос при замене"
- Undo в каждой вкладке
Аватара пользователя
kvichans
Сообщения: 453
Зарегистрирован: Сб янв 21, 2006 12:03
Откуда: Москва

Сообщение kvichans »

4. Очень нравиться команда замены без вызова диалога. Уже был про нее пост.
Часть проблем снято: при каждом применении происходит замена и выделение следующего найденного фрагмента (в таком виде приемлемо, хотя и не максимально удобно).
Пока мне не удается заставить эту команду искать from cursor - она не зависимо от настроек диалогов Поиск/Замена ищет entire.

5. Предлагаю добавить команду "Заменить все", с областью действия выделенный фрагмент, а если его нет, то весь текст. Естественно все остальные настройки она должна брать из диалога Замены

Добавлено спустя 8 минут:
Alextp писал(а):- Опцией "запрос при замене"
- Undo в каждой вкладке
Оба ответа показывают, что для этой команды нет баланса между контроль/массовость. Поясню.
- Опция "запрос при замене" не позволяет выполнить 3000 замен - столько раз подтверждение не дашь.
- Если вкладок десяток, то Undo тоже замучаешься делать.
Ничего не имею против самой этой команды - может и мне когда-нибудь пригодится. Прошу лишь оградить пользователя от ее случайного применения.
Win7x64(1600x900), TC8.50x32, SynWrite 6.19, CudaText 1.3.14, UV 6.5.0.0
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

Repl in all tabs: Будет confirm msg.

Добавлено спустя 2 минуты:
kvichans писал(а):добавить команду "Заменить все"
Не хотелось бы. сами говорите про "опасные команды"

Добавлено спустя 21 минуту:

логику Repl next изменил.
Аватара пользователя
kvichans
Сообщения: 453
Зарегистрирован: Сб янв 21, 2006 12:03
Откуда: Москва

Сообщение kvichans »

Alextp писал(а):Repl in all tabs: Будет confirm msg.
ОК. Если еще убрать акселератор Alt+l, то будет вполне безопасно.
Alextp писал(а):
kvichans писал(а):добавить команду "Заменить все"
Не хотелось бы. сами говорите про "опасные команды"
Тут опасности никакой - это точный синоним для команды из диалога. Для них обеих будет появляться в статусе сообщение о количестве замен, обе можно одним движением отменить.
Прелесть новой команды в том, что если "на что заменять" остается прежним, то "что искать" подменяется без вызова диалога - командой "поиск слова"(=выделения). Для значительного количества случаев диалог будет не нужен!

Добавлено спустя 12 минут:

6. Баг(?) при замене с RegExp.
- Хочу вначале каждой строки вставить общий текст.
- В Заменах включаю RegExp, указываю заменить ^ на ABC.
- Несколько раз нажимаю на кнопку Replace.
- Замены выполняются в строках через одну.

Добавлено спустя 1 час 11 минут:

7. Пожелание. Есть потребность в более тонком учете положения каретки. Мне каждый день с первого запуска Син бросается в глаза, что можно дать пользователю доп.удобство. Речь идет о запоминании колонки, в которой была каретка до некоторых изменений текста и переходе именно в эту колонку при смене строки.

Вот пример. Рассмотрим две строки (подчеркнут символ перед кареткой)
123456
123456
Пользователь нажал Tab и текст с кареткой стал такой (предполагаем, что вставляются 2 пробела)
123456
123 · ·456
Сейчас при переходе из второй строки в первую каретка окажется перед 6.
Есть основания считать, что более естественно ей оказаться опять перед 4.
Так же более естественно ей оказать перед 4, если был не Tab, а вставка из буфера.

Дать четкую формулировку этих "оснований" я пытаюсь три недели (с первого дня перехода на Син). Никак не получается четко. Вот некоторые соображения
- Скорее всего данные в соседних строках были уже согласованы по колонкам до изменения второй строки. Если Tab применяется для форматирования второй, то форматирование первой нужно начинать с позиции 4.
- Это же относится к Paste.
- Paste смещает текущую колонку от той, которая удобна пользователю, на неограниченное расстояние.

Есть еще аналогия с переходом по концам строк. Каретка с конца длинной строки прыгает в конец короткой, но Син помнит, что потом ее нужно вернуть в дальнюю колонку. Значит механизм самого запоминания в Син уже есть. Можно расширить его применение.
Win7x64(1600x900), TC8.50x32, SynWrite 6.19, CudaText 1.3.14, UV 6.5.0.0
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

-механизм самого запоминания в Син уже есть
Тут вряд ли что можно. запоминать, исп-ть при определенных операциях- довольно трудно(муторно). Будет глючить

Добавлено спустя 2 минуты:

о. Попробуйте маркеры(меню Bkmarks). поможет?
Аватара пользователя
kvichans
Сообщения: 453
Зарегистрирован: Сб янв 21, 2006 12:03
Откуда: Москва

Сообщение kvichans »

Alextp писал(а):
kvichans писал(а):-механизм самого запоминания в Син уже есть
Тут вряд ли что можно. запоминать, исп-ть при определенных операциях- довольно трудно(муторно). Будет глючить
Без этого можно жить. Привыкну.
Alextp писал(а):о. Попробуйте маркеры(меню Bkmarks). поможет?
Нет не поможет. Речь шла не о выполнении особых команд, а о изменении поведения каретки в каждый момент. Если нет возможности реализовать - забудем про пожелание.

8. Есть потребность, нужен совет.
Весьма часто нужно в текущую позицию скопировать кусок, расположенный в где-то другом месте редактируемого текста. Для случая кусок=слово можно воспользоваться механизмом дополнений: Ctrl+Blank. Как ускорить остальные случаи?
Посоветуйте, как наименьшим числом нажатий выполнить такой сценарий
- Запомнить позицию каретки
- (какие-то действия по поиску, выделению и запоминанию куска)
- Возвращение в запомненную позицию
- Вставка куска
Состояние редактора должно в конце быть таким же как в начале. То есть если по дороге нужно ставить/снимать какие-то маркеры, то это нужно учитывать при подсчете числа нажатий.

Добавлено спустя 1 час 22 минуты:

9. Недоделка с повторением последней команды.
Не срабатывает повторение последней команды после выполнения поиска - как из диалога, так и "поиск слова"
Win7x64(1600x900), TC8.50x32, SynWrite 6.19, CudaText 1.3.14, UV 6.5.0.0
Ответить