SynWrite (Syn2)
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
- Ciber SLasH
- Сообщения: 209
- Зарегистрирован: Сб авг 20, 2005 21:41
- Откуда: С.-Петербург
Продолжаю.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
2. Ломает мозг отображение то текущей колонки, то число-символов-перед-кареткой+1.
Про это уже был пост http://forum.wincmd.ru/viewtopic.php?t=13078&start=1415
Ответ Alextp был краток и понятен: "By design" - но успокоения не дал.
Мне сейчас приходится в уме высчитывать номер колонки по отображенному числу символов.
Предлагаю
- либо отображать оба значения: и число символов и номер колонки
- либо пересмотреть "design" и всегда отображать только номер колонки.
-----
Ликбез. Научите как оформлять ссылки на прежние посты.
А) Как узнать номер поста? Адрес указанный выше я нашел перебирая номера после &start=.
Б) Как записывается адрес в bb-тег URL?
Добавлено спустя 3 минуты:
Про это уже был пост 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
-А) Как узнать номер поста?
Б) Как записывается адрес в bb-тег URL?
- найти пост, нажать ПКМ листик слева от (Отдельно) или сам (Отдельно). Скопировать
-
Добавлено спустя 2 минуты:
-неточность, которая есть только у Син
Поправлю
Добавлено спустя 6 минут:
Б) Как записывается адрес в bb-тег URL?
- найти пост, нажать ПКМ листик слева от (Отдельно) или сам (Отдельно). Скопировать
-
Код: Выделить всё
[url=...]txt[/url]-неточность, которая есть только у Син
Поправлю
Добавлено спустя 6 минут:
Посмотрю как считать номер колонки. не знаю пока.kvichans писал(а):"By design" - но успокоения не дал
Спасибо. Листик я долго искал. Нашел.Alextp писал(а):найти пост, нажать ПКМ листик слева от (Отдельно) или сам (Отдельно). Скопироватьkvichans писал(а):Как узнать номер поста?
Еще один ликбез-вопрос про форум
В) Можно ли сделать ссылку (для сохранения в Избранном) на последний пост в ветке? Попробовал ссылку, которая используется на главной странице форума, но она быстро начинает указывать не на самый последний.
Win7x64(1600x900), TC8.50x32, SynWrite 6.19, CudaText 1.3.14, UV 6.5.0.0
4. Очень нравиться команда замены без вызова диалога. Уже был про нее пост.
Часть проблем снято: при каждом применении происходит замена и выделение следующего найденного фрагмента (в таком виде приемлемо, хотя и не максимально удобно).
Пока мне не удается заставить эту команду искать from cursor - она не зависимо от настроек диалогов Поиск/Замена ищет entire.
5. Предлагаю добавить команду "Заменить все", с областью действия выделенный фрагмент, а если его нет, то весь текст. Естественно все остальные настройки она должна брать из диалога Замены
Добавлено спустя 8 минут:
- Опция "запрос при замене" не позволяет выполнить 3000 замен - столько раз подтверждение не дашь.
- Если вкладок десяток, то Undo тоже замучаешься делать.
Ничего не имею против самой этой команды - может и мне когда-нибудь пригодится. Прошу лишь оградить пользователя от ее случайного применения.
Часть проблем снято: при каждом применении происходит замена и выделение следующего найденного фрагмента (в таком виде приемлемо, хотя и не максимально удобно).
Пока мне не удается заставить эту команду искать 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
ОК. Если еще убрать акселератор Alt+l, то будет вполне безопасно.Alextp писал(а):Repl in all tabs: Будет confirm msg.
Тут опасности никакой - это точный синоним для команды из диалога. Для них обеих будет появляться в статусе сообщение о количестве замен, обе можно одним движением отменить.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 писал(а):Тут вряд ли что можно. запоминать, исп-ть при определенных операциях- довольно трудно(муторно). Будет глючить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