сделать стартовой  |  добавить в избранное

   SciTE - редактор кода для программистов

Архив SciTE-форума


Автор: oan42, Отправлено:01:42 26-11-2006
mozers
Спасибо за помощь.
А как раскомментировать внешний поиск?


Автор: dB6, Отправлено:02:15 26-11-2006
masics

Цитата:
Да, а ты попробуй выделить ВСЕ три строки кроме последней цифры во второй строке:
1111111
222222222
333333

Да, есть такая бага - выделяет только по длине последней строки (последней в выделении).
Автор: masics, Отправлено:02:25 26-11-2006

Цитата:


Цитата:
А можно как-то переопределить клавиши?

Да. Смотри параметр user.shortcuts. В нем можно задать новые комбинации и переназначить существующие.

А где можно посмотреть на текущие определения? Или на примеры?

Цитата:
Да, есть такая бага - выделяет только по длине последней строки (последней в выделении).

Есть соображения когда это будет исправлено?
Автор: ALeXkRU, Отправлено:03:08 26-11-2006
oan42
в файле глобальных настроек найди параметр find.command= и закоментируй его и раскоментируй (убери решетку) следующий (идущий после него), например :

Код:
# ПОИСК В ФАЙЛАХ
# Внутренний поиск, с возможностью рекурсивной обработки, гораздо предпочтительнее внешних инструментов
#find.command=
# Утилита findstr имеется на последних версиях Windows, включая 2000

if PLAT_WIN
    find.command=findstr /n /s /c:"$(find.what)" $(find.files)
find.input=$(find.what)


Добавлено:
konungster
00:20 26-11-2006
Цитата:
Простите, может я что то пропустил..
а где поддержка синтаксиса языка Ruby в этой сборке?

выключена она просто... включи: раскоментируй (удали в начале строк решетки)
у параметров с названием нужного языка в секциях:
Код:
[Language]
и
Код:
[Languages]
и убедись, что файл ruby.properties присутствует в папке SciTE\languages

Да! еще в секции
Код:
[Open]
найди параметр
Код:
open.filter=/
...
#$(filter.ruby)\

(на самом деле, проще всего поиском по файлу настроек пробежаться... но при последовательном просмотре настроек - много интересного узнаешь )
Автор: mozers, Отправлено:12:00 26-11-2006
masics dB6
Цитата:
Да, а ты попробуй выделить ВСЕ три строки кроме последней цифры во второй строке:
1111111
222222222
333333
Да, есть такая бага - выделяет только по длине последней строки (последней в выделении
Какая же это "бага"? Имхо - вполне логичное и правильное поведение. Выделяется только то, что реально существует. Дополни 1-ю и 3-ю строки пробелами(или любыми другими символами) - можно будет и 2-ю выделить до конца. Я не думаю что это поведение надо исправлять.

Цитата:
Смотри параметр user.shortcuts. В нем можно задать новые комбинации и переназначить существующие.

А где можно посмотреть на текущие определения? Или на примеры?

Текущие зашиты в коде и описаны в справке. Хочешь изменить - пожалуйста - параметры ключа user.shortcuts описаны в справке. Примеры есть в любой сборке.
Автор: masics, Отправлено:12:11 26-11-2006
mozers
1. А тебе не кажется это полумером? Вторая строка реально существует! И почему я должен что-то дополнять?

2. Я попытался добавить строку:
Ctrl+J|IDM_DUPLICATE|\
Но ничего не изменилось.

3. Как в меню поменять "Clrl-D" на "Ctrl-J"?

Автор: mozers, Отправлено:13:06 26-11-2006
[26.11.2006] Ядро 1.71 .26Ru
VladVRO исполнил давнюю мечту человечества Сейчас Ctrl+B и Ctrl+Shift+R работают аналогично
Цитата:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[AbbrevRefactoring] (Автор: VladVRO)
Использование символа '|' работает одинакого и для вставки сокращения (Ctrl+Shift+R) и для расшифровки сокращения (Сtrl+B).
Так, например, забив в файл abbrev такую строку:
<a=<a href="|" alt="">|</a>
Пишем '<aСсылка' и выделяем 'Ссылка', затем нажимаем Сtrl+B - получаем готовую конструкцию:
'<a href="" alt="">Ссылка</a>', где курсор находится на месте первого символа '|'.

То же самое получится если написать "Ссылка" и выделив это слово, нажать Ctrl+Shift+R и выбрать "<a" из раскрывающегося списка.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[VarAbbrev] (Автор: mimir, VladVRO)
В списки сокращений (abbrev) можно добавлять пользовательские переменные.
- %SEL% - выделенный текст
- %CLP% - текст из буфера обмена
- %GUID% - уникальный GUID нового объекта (идея принадлежит codewarlock1101)
Так, например, забив в файл abbrev такую строку:
<a+=<a href="%CLP%" alt="">|</a>
Копируем в буфер обмена текст "http://scite.ruteam.ru/"
Пишем "<a+Ссылка", выделяем "Ссылка", затем нажимаем Сtrl+B - получаем готовую конструкцию:
"<a href="http://scite.ruteam.ru/" alt="">Ссылка</a>".

То же самое получится если написать "Ссылка" и выделив это слово, нажать Ctrl+Shift+R и выбрать "<a+" из раскрывающегося списка.

Как видим, файлы *.abbrev использованные в последней сборке необходимо чуть-чуть подкорректировать.
Автор: dB6, Отправлено:15:34 26-11-2006
mozers, masics
Цитата:
Какая же это "бага"? Имхо - вполне логичное и правильное поведение. Выделяется только то, что реально существует.

Да, согласен, не бага. Бага - только всмысле неудобства пользователя. А вообще - фича

Цитата:
Имхо - вполне логичное и правильное поведение.

Cогласен, менять ничего не нужно.

Цитата:
Дополни 1-ю и 3-ю строки пробелами(или любыми другими символами) - можно будет и 2-ю выделить до конца

Только вот дополнять нужно только одну строку - ту, которая будет последней при выделении.



Добавлено:
masics

Цитата:
1. А тебе не кажется это полумером? Вторая строка реально существует! И почему я должен что-то дополнять?

Да не, не полумера это. Как мне поставить курсор туда, где нету никаких символов? Это ж не TheBat!...


Цитата:
2. Я попытался добавить строку:
Ctrl+J|IDM_DUPLICATE|\
Но ничего не изменилось.

Хм. Два вопроса:
1. Был ли перезапуск SciTE?
2. А не переопределяет ли кто Ctrl+J?;)

Добавлено:
masicsТолько что спокойно добавил сочетание Ctrl+5|IDM_DUPLICATE|\ (ctrl+j у меня переопределяется в tools)
Синтаксис user.shortcuts= хоть верный?


Автор: mozers, Отправлено:16:17 26-11-2006
masics
Цитата:
А тебе не кажется это полумером? Вторая строка реально существует!
Зато не существуют символы в конце 1-й и 3-й строк, которые должны попадать в прямоугольник выделения
Вообще этот вопрос - скорее филосовский и в разных редакторах он решен по разному.
В принципе, если глянуть в сторону EditPlus или EmEditor, то они выделяют все, нарушая условие прямоугольности. Возможно что так - действительно удобнее.
Но то что в SciTE это не "баг" - это точно.

Цитата:
Я попытался добавить строку:
Ctrl+J|IDM_DUPLICATE|\
Но ничего не изменилось.
Значит - неправильно добавил. Обрати внимание на слеш в конце строки - это не что иное как перенос. Т.е. так - правильно:
Код:
user.shortcuts=\
Ctrl+PageUp|IDM_PREVFILE|\
Ctrl+PageDown|IDM_NEXTFILE|\
Ctrl+J|IDM_DUPLICATE|\
Alt+X|IDM_QUIT|

Так - правильно:
Код:
user.shortcuts=\
Ctrl+PageUp|IDM_PREVFILE|\
Ctrl+PageDown|IDM_NEXTFILE|\
Ctrl+J|IDM_DUPLICATE|

Так - НЕправильно:
Код:
user.shortcuts=\
Ctrl+PageUp|IDM_PREVFILE|\
Ctrl+PageDown|IDM_NEXTFILE|\
Ctrl+J|IDM_DUPLICATE|\



Цитата:
Как в меню поменять "Clrl-D" на "Ctrl-J"?
Во-первых комбинация "Clrl-D" так и осталась за IDM_DUPLICATE (т.е. сейчас что "Clrl-D" что "Ctrl-J" - без разницы). И так будет пока на "Clrl-D" не навесишь другую команду.
Во-вторых текст в основном меню меняется только через правку исходников.

Добавлено:
Еще вот так правильно:
Код:
user.shortcuts=Ctrl+PageUp|IDM_PREVFILE|Ctrl+PageDown|IDM_NEXTFILE|Ctrl+J|IDM_DUPLICATE 0124;

И вот так НЕправильно:
Код:
user.shortcuts=\
Ctrl+PageUp|IDM_PREVFILE|\
Ctrl+PageDown|IDM_NEXTFILE|
Ctrl+J|IDM_DUPLICATE|

Автор: mozers, Отправлено:18:45 26-11-2006


Уважаемые! Вопрос на засыпку:
Код:
command.name.3.*=CurrentSelection - CurrentWord
command.3.*=dostring print('CurrentSelection: /'..props['CurrentSelection']..'/\n CurrentWord: /'..props['CurrentWord']..'/')
command.mode.3.*=subsystem:lua,savebefore:no
Непонятное что то творится с этим CurrentWord.
Во-первых он, если текст выделен то всегда приравнивается к CurrentSelection
Во-вторых, если текст не выделен, то CurrentWord не видит русские слова во всех файлах кроме *.lua.
Искал, искал,.. да так и не нашел как сделать так чтобы CurrentWord русские слова не только в файлах *.lua видел.

Еще вопрос - предложение к творчеству:
В хорошо известном вам скрипте FindText.lua (лично я им пользуюсь гораздо чаще чем стандартным поиском) для отметки найденных вхождений и снятия отметок используется такая процедура:
Код:
local function UnderlineText(start, length)
editor:StartStyling(start,INDICS_MASK)
if length == -1 then
editor:SetStyling(editor.Length, 0)
else
editor:SetStyling(length,INDIC2_MASK)
end
end
Процедура эта, как показала жизнь, не слишком корректно работает на смешанных файлах (например html с js скриптами внутри). Оригинальный поиск тут берет верх и не путает цвета, как этот скрипт.
В общем, ждем, пока кто то умный не поправит это дело

Добавлено:
Еще раз пробежался по пропертям и нашел таки почему CurrentWord не всегда видел русские слова.
Надо было просто откорректировать строчку в SciTEGlobal.properties:
Код:
word.characters.*=$(chars.alpha)$(chars.numeric)$(chars.accented)_-%
Теперь можно легко расширить функционал FindText.lua, добавив в начало:
Код:
local sText = props['CurrentSelection']
local flag = 0
if (sText == '') then
sText = props['CurrentWord']
flag = SCFIND_WHOLEWORD
end
Теперь если текст выделен, то ищется этот текст. Если ничего не выделено - ищется слово под курсором.
Очень удобно искать переменные. Раньше то в результаты попадали и слова, содержащие буквы переменной.

А вот с подсветкой дело обстоит хуже
Стандартный поиск SciTE попросту не снимает выделение со слов, найденных в предыдущем поиске (лично мне это жутко не нравится).
Скрипт пытается это сделать, выполняяя команду
Код:
editor:SetStyling(editor.Length, 0)
которая не всегда отрабатывает лучшим образом.
Заменить бы ее на другую, более корректную...

И еще один недостаток этого скрипта, который я никак не могу поправить:
Если после окончания поиска нажать F3 то вместо ожидаемого перехода по найденным вхождениям, появляется диалог стандартного поиска
Дальше то - нормально, на как бы совсем обойтись без появления этого диалога?
Автор: masics, Отправлено:02:01 27-11-2006

Цитата:
Зато не существуют символы в конце 1-й и 3-й строк, которые должны попадать в прямоугольник выделения
Вообще этот вопрос - скорее филосовский и в разных редакторах он решен по разному.
В принципе, если глянуть в сторону EditPlus или EmEditor, то они выделяют все, нарушая условие прямоугольности. Возможно что так - действительно удобнее.
Но то что в SciTE это не "баг" - это точно.

Я все-таки не согласен с этим утверждением. Для того, чтобы выделить этот несчастный столбец я должен сделать ДВА дополнительных действия! Во-первых добавить пробелы в последнюю строку, выделить столбец, а потом удалить пробелы (что тоже не тривиально в SciTE).
И еще, а не нарушает ли "прямоугольность" выделение столбца такого вида:
1111
222222222222222
333333333

Значит здесь все "прямоугольно"?


Цитата:
Хм. Два вопроса:
1. Был ли перезапуск SciTE?
2. А не переопределяет ли кто Ctrl+J?;)

Добавлено:
masicsТолько что спокойно добавил сочетание Ctrl+5|IDM_DUPLICATE|\ (ctrl+j у меня переопределяется в tools)
Синтаксис user.shortcuts= хоть верный?

Ctrl+5 работает. А Ctrl+J - нет. Как найти кто его забивает?


Автор: dB6, Отправлено:02:22 27-11-2006
masics

Цитата:
Ctrl+5 работает. А Ctrl+J - нет. Как найти кто его забивает?

Поиском по файлам настройки.
У меня на нем висит select word. Если используется Ru-сборка, то даже не знаю. Есть вообще стандартный хоткей такой - в справке описан:

Цитата:
Find matching preprocessor conditional backwards, skipping nested ones.

Но он должен без проблем переопределяться.


Добавлено:

Цитата:
Как найти кто его забивает?

Кхе, посмотреть, что при этом происходит


Цитата:
Я все-таки не согласен с этим утверждением. Для того, чтобы выделить этот несчастный столбец я должен сделать ДВА дополнительных действия! Во-первых добавить пробелы в последнюю строку, выделить столбец, а потом удалить пробелы (что тоже не тривиально в SciTE).
И еще, а не нарушает ли "прямоугольность" выделение столбца такого вида:
1111
222222222222222
333333333

Значит здесь все "прямоугольно"?

Не совсем так. В скайте для выделения используется курсор. И он просто не может скакать по пустому месту

А пробелы удаляются с помощью lua-скрипта за доли секунды, причем из всего файла.


Автор: masics, Отправлено:03:25 27-11-2006

Цитата:
Find matching preprocessor conditional backwards, skipping nested ones.


Цитата:
Но он должен без проблем переопределяться.


Цитата:
Кхе, посмотреть, что при этом происходит

Это действительно "Find matching preprocessor", но он не переопределяется!


Цитата:
Не совсем так. В скайте для выделения используется курсор. И он просто не может скакать по пустому месту

А добавить на время выделения автоматически?


Цитата:
А пробелы удаляются с помощью lua-скрипта за доли секунды, причем из всего файла.


Я не смогу объяснить это юзерам. Хотел дать им хороший редактор, но, судя по всему, не получится...


Автор: mozers, Отправлено:12:39 27-11-2006
Вопрос к знатокам LUA:
Код:
local text = editor:GetText()
local filename=props["FileName"]..'.out'
-------------------------------------
--~ io.output(filename)
--~ io.write(text)
--~ io.close()
-------------------------------------
local file = io.open(filename, "w+")
file:write(text)
file:close()
Как сделать чтобы эта lua-шка сохраняла файл 1:1 а не добавляла лишние переводы строк между каждой строкой ?

Добавлено:
Уфф! Насилу допер
Надо перед записью обязательно преобразовывать символы перевода строки:
Код:
text = string.gsub (text, '\r\n', '\n')

Автор: Linch, Отправлено:16:49 27-11-2006
Как можно произвести замену в данном случае с помощью SciTE
Заменить <i>Text n</i> на <i>SciTE</i>, где n – это число и таких строчек много с разными числами.

Автор: dB6, Отправлено:18:17 27-11-2006
Linch

Цитата:
Как можно произвести замену в данном случае с помощью SciTE
Заменить <i>Text n</i> на <i>SciTE</i>, где n – это число и таких строчек много с разными числами.

Юзаем регулярные выражения (и галочку не забываем в диалоге):

Цитата:
<i>Text [0-9]+</i>

Автор: Cicatriz, Отправлено:20:42 27-11-2006
к этому редактору можно нормально подключить gcc тойсть чтоб я например нажал F8 он мне откомпилил и запустил уже откомпилированую прогу?
Автор: iglezz, Отправлено:22:37 27-11-2006
можно, в сборке gcc по умолчанию стоит компилятором
настройки, конечно, можно менять на любой вкус и цвет
Автор: Cicatriz, Отправлено:00:08 28-11-2006
у меня компилятор не лежит в system32 , будет-ли кто добор и расскажет как там поменять путь к gcc?
Автор: ALeXkRU, Отправлено:04:26 28-11-2006
Cicatriz
загляни в файл SciTE\languages\cpp_.properties (в конце - подключение компиляторов)
если компилятор не прописан в PATH, видимо придется указать полный путь...



1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17 / 18 / 19 / 20 / 21 / 22 / 23 / 24 / 25 / 26 / 27 / 28 / 29 / 30 / 31 / 32 / 33 / 34 / 35 / 36 / 37 / 38 / 39 / 40 / 41 / 42 / 43 / 44 / 45 / 46 / 47 / 48 / 49 / 50 / 51 / 52 / 53 / 54 / 55 / 56 / 57 / 58 / 59 / 60 / 61 / 62 / 63 / 64 / 65 / 66 / 67 / 68 / 69 / 70 / 71 / 72 / 73 / 74 / 75 / 76 / 77 / 78 / 79 / 80 / 81 / 82 / 83 / 84 / 85 / 86 / 87 / 88 / 89 / 90 / 91 / 92 / 93 / 94 / 95 / 96 / 97 / 98 / 99 / 100 / 101 / 102 / 103 / 104 / 105 / 106 / 107 / 108 / 109 / 110 / 111 / 112 / 113 / 114 / 115 / 116 / 117 / 118 / 119 / 120 / 121 / 122 / 123 / 124 / 125 / 126 / 127 / 128 / 129 / 130 / 131 / 132 / 133 / 134 / 135 / 136 / 137 / 138 / 139 / 140 / 141 / 142 / 143 / 144 / 145 / 146 / 147 / 148 / 149 / 150 / 151 / 152 / 153 / 154 / 155 / 156 / 157 / 158 / 159 / 160 / 161 / 162 / 163 / 164 / 165 / 166 / 167 / 168 / 169 / 170 / 171 / 172 / 173 / 174 / 175 / 176 / 177 / 178 / 179 / 180 / 181 / 182 / 183 / 184 / 185 / 186 / 187 / 188 / 189 / 190 / 191 / 192 / 193 / 194 / 195 / 196 / 197 / 198 / 199 / 200 / 201 / 202 / 203 / 204 / 205 / 206 / 207 / 208 / 209 / 210 / 211 / 212 / 213 /
SciTE © 2004 - 2011