Latest post of the previous page:
Чтобы фар не обрабатывал команду, например.Также мне смутно помнится, что какие-то хистори-плагины трактуют это как "не помещать в историю".
Latest post of the previous page:
Чтобы фар не обрабатывал команду, например.При желании можно было бы и в одном объединить.
Это для того чтобы не засорять историю командами ассоциаций и т.п., а не для ручного запуска.
macro\examples.html
.Code: Select all
<macro
area="Editor"
key="RAlt"
flags="DisableOutput"
description="выделить/(снять выделение) слово(а) под курсором"><text>
RCtrl9 CtrlRight CtrlLeft
$If (!Selected)
CtrlShiftRight
$Else
CtrlU
$End
Ctrl9
</text></macro>
Code: Select all
Macro { description="выделить/(снять выделение) слово(а) под курсором";
area="Editor"; key="RAlt";
action=function()
Keys(Object.Selected and "CtrlU" or "SelWord")
end;
}
Code: Select all
<!--
искать тот же файл на другой панели что и на активной
F5 ShiftEnter CtrlIns - применено чтобы получить имя файла вне зависимости
пусто/непусто в cmdline и сколько выделено на панели файлов
-->
<macro
area="Shell"
key="CtrlAltLeft"
flags="DisableOutput"
description="искать тот же файл на другой панели что и на активной"><text>
<![CDATA[
clip(5)
$If (((Bof && APanel.Root) || !Bof) && PPanel.Visible)
$If (fexist(PPanel.Path+@"\\"+APanel.Current) == 1)
F5 ShiftEnter
CtrlIns Esc Tab Home
Alt< ShiftIns Esc
$End
$End
]]></text></macro>
Code: Select all
Macro { description="искать тот же файл на другой панели что и на активной";
area="Shell"; key="CtrlAltLeft CtrlAltRight";
action=function()
if (not APanel.Bof or APanel.Root) and PPanel.Visible then
if 0~=Panel.SetPos(1,APanel.Current) then
Keys("Tab")
end
end
end;
}
На мой взгляд, так было бы полезнее.
Этот работает. Вот и пусть будет примером, имхо.John Doe wrote: ↑Mon 20 Nov, 2017 18:34Нормально, если я его заменю на этот:Code: Select all
Macro { description="выделить/(снять выделение) слово(а) под курсором"; area="Editor"; key="RAlt"; action=function() Keys(Object.Selected and "CtrlU" or "SelWord") end; }
По моему субъективному опыту, дублирование нередко бывает полезным. Нежелательны лишь неработающие примеры.John Doe wrote: ↑Mon 20 Nov, 2017 18:42P.S.
И ещё вопрос о дублировании.
Например макрос о создании папки с именем-датой сейчас в Энциклопедии в 3х местах, с вариациями.
Самый функциональный в описании панельных функций.
То ли убрать дубль из примеров.
То ли наоборот, переместить макросы из разных разделов в примеры.
возможно, макрос начинался писаться тогда, когда APanel.Current не было. я думаю, большинство других странностей тоже объясняется историческими причинами.
Code: Select all
Macro { description="Переход в меню выбора дисков на противоположной панели";
area="Disks"; key="Tab";
action=function()
local left = Drv.ShowPos==1
Keys("Esc F9")
if left==APanel.Left then
Keys("Tab")
end
Keys("Enter End Enter")
end;
}
На мой взгляд, альтернативный вариант однозначно лучше.
Почему?
Вы можете поучаствовать, если есть желание.
Ко всем точно не надо, но улучшить читаемость можно, используя "говорящие" константы вместо числовых значений.