Макрос открывающий папку под курсором на соседней панели

Здесь обсуждается всё, что касается макросов.
zen
Posts: 6
Joined: Mon 21 Dec, 2009 14:38

Макрос открывающий папку под курсором на соседней панели

Post by zen » Mon 21 Dec, 2009 14:49

Понял, чего мне сильно не хватает: чтобы в соседней панели показывалась содержимое каталогов, когда я по ним прохожу курсором в списке (как показывается содержимое текстовых файлов или размер каталога и кол-во файлов в нем при включенном QuickView). А тут просто список файлов и подкаталогов чтобы показывался, или чтобы соседняя панель переключалась на каталог, который сейчас под курсором у меня (само-собой, такое поведение должно вкл/откл). Очень задалбывает иногда заходить/выходить из большого кол-ва каталогов, чтобы что-то поискать или посмотреть содержимое.

А может уже есть такой плагин?

Update
Смежные темы:
Last edited by zen on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Update

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: Показывать содержимое каталога в соседней панели

Post by Maximus5 » Mon 21 Dec, 2009 14:55

уже есть такой макрос

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Re: Показывать содержимое каталога в соседней панели

Post by NightRoman » Mon 21 Dec, 2009 14:59

Я пользуюсь таким макросом (открывает текущую папку или архив под курсором на другой панели)
F11 0 Tab CtrlPgDn Tab
, где 0 - это хоткей Same Folder из Far Commands. Да, где-то уже обсуждалось, были и другие варианты, у всех свои плюсы-минусы, ищи, пробуй, выбирай.

User avatar
HaRT
Moderator
Posts: 8658
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 78 times
Been thanked: 143 times

Re: Показывать содержимое каталога в соседней панели

Post by HaRT » Mon 21 Dec, 2009 15:03

Готовых решений несколько:
1. Tree panel + Panel settings /[x] Auto change folder
2.
3. Неопределённо долго ждать, пока Анаморфозис научится обрабатывать директории.
Фар есть инструмент, а не нянька. © 2009 DrKnS

zen
Posts: 6
Joined: Mon 21 Dec, 2009 14:38

Re: Показывать содержимое каталога в соседней панели

Post by zen » Mon 21 Dec, 2009 16:06

Спасибо за советы.
За ссылку на Анаморфис + underscore тоже ;-)

zen
Posts: 6
Joined: Mon 21 Dec, 2009 14:38

Re: Показывать содержимое каталога в соседней панели

Post by zen » Mon 21 Dec, 2009 16:43

Ещё вопросик: NightRoman сказал про "Same Folder из Far Commands" - что это, не смог найти...

User avatar
NightRoman
Posts: 5911
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 10 times
Been thanked: 11 times
Contact:

Re: Показывать содержимое каталога в соседней панели

Post by NightRoman » Mon 21 Dec, 2009 16:46

Зайди в настройки плагина и

Code: Select all

╔═════════════════════════ FAR Commands ══════════════════════════╗
║ [x] Add "Same Folder" to the Plugins menu                       ║
╟─────────────────────────────────────────────────────────────────╢
, тогда в меню плагинов будет нужный пункт, присвой ему хоткей (0 в моем примере)

User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Re: Показывать содержимое каталога в соседней панели

Post by [e]Bu$ter » Mon 21 Dec, 2009 20:27

Мне тоже иногда приходится просматривать кучу каталогов. Обычно делал так: Down CtrllLeft, Down CtrllLeft, ...
Где CtrlLeft - макрос, открывающий на левой панели выбранный каталог (или архив), по методу который описал NightRoman.

Однако поднятая тема помогла понять, что вместо Down CtrllLeft обходиться простым Down, Down, было бы действительно прикольней.

В итоге получился макрос, назначив который на клавиши Up и Down, можно получить на пассивной панели просмотр содержимого папок или архивов, а также быстрый просмотр для всего остального. Режим просмотра активируется только при включенном ScrollLock.

Code: Select all

$AKey
$if(flock(FLOCK_SCROLLLOCK,FLOCK_GETSTATE) && !APanel.Plugin && PPanel.Visible)
  %e=lcase(fsplit(APanel.Current,FSPLIT_EXT));
  $if(APanel.Folder || %e==".rar"||%e==".zip"||%e==".7z"||%e==".gz")
    $if(PPanel.Type==PANELTYPE_QVIEW)
      CtrlQ
    $end
    F11 F Tab CtrlPgDn Tab
  $else
    $if(PPanel.Type!=PANELTYPE_QVIEW)
      CtrlQ
    $end
  $end
$end
F11 F вызывает из меню плагинов пункт «Такой же каталог». Исправьте это место, если «Такой же каталог» у вас находится в меню дисков.

Чтобы макрос было легче поддерживать (да и чтоб не плодить сущности), лучше сохранить его в глобальной переменной, а нажатием целевых клавиш (Up\Down) просто проигрывать его через eval(). Что и предлагается в прикреплённом архиве:

Code: Select all

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Far2\KeyMacros\Vars]
"%%QFolderMacro"="$AKey $if(flock(FLOCK_SCROLLLOCK,FLOCK_GETSTATE) && !APanel.Plugin && PPanel.Visible) %e=lcase(fsplit(APanel.Current,FSPLIT_EXT)); $if(APanel.Folder || %e==\".rar\"||%e==\".zip\"||%e==\".7z\"||%e==\".gz\") $if(PPanel.Type==PANELTYPE_QVIEW) CtrlQ $end F11 F Tab CtrlPgDn Tab $else $if(PPanel.Type!=PANELTYPE_QVIEW) CtrlQ $end $end $end"

[HKEY_CURRENT_USER\Software\Far2\KeyMacros\Shell\Up]
"Sequence"="Eval(%%QFolderMacro)"
"DisableOutput"=dword:00000001

[HKEY_CURRENT_USER\Software\Far2\KeyMacros\Shell\Down]
"Sequence"="Eval(%%QFolderMacro)"
"DisableOutput"=dword:00000001
Макроконстанты должны быть импортированы (Addons\Macros\MacroConsts.reg).

Комментарии и дополнения приветствуются.
Attachments
QFolderView.7z
Quick Folder View macro
(798 Bytes) Downloaded 133 times

zen
Posts: 6
Joined: Mon 21 Dec, 2009 14:38

Re: Показывать содержимое каталога в соседней панели

Post by zen » Tue 22 Dec, 2009 22:54

[e]Bu$ter,
К сожалению, макрос не работает у меня
Выдает вот что:

Code: Select all

═══════════════════════════ Macro parsing error ══════════════════════
Variable Expected 'FLOCK_SCROLLLOCK'
───────────────────────────────────────────────────────────────────
"flock(FLOCK_SCROLLLOCK,FLOCK_GETSTATE) && !APanel.Plugin && PPanel.Visible) %e=lcase(fsplit(APanel.Current,FSPLIT_EXT)); $if(APanel.Folder || %e=
       ^
───────────────────────────────────────────────────────────────────
Я себе уже настроил макросы и как советовал HaRT (для перехода из подкаталога в подкаталог CtrlPgDwn/CtrlPgUp), и как советовал NightRoman (для открытия в сосед.панели по CtrlDown/CtrlUp), но конечно просмотр ещё и просто по Down/Up было бы великолепно. К сожалению не работает. :(

Я просто запустил твой рег файл, потом попытался найти файл MacroConsts.reg, но в Far 1.70 его нет. Нашел в дистрибутиве 1.75 build 2587 и тоже его импортировал. Фары 1.70 и 1.75 просто игнорируют Up/Down при вкл. ScrollLock, а Фар 2.0 build 977 выругался (см выше сообщение об ошибке).

User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Re: Показывать содержимое каталога в соседней панели

Post by [e]Bu$ter » Tue 22 Dec, 2009 23:03

Far2 выругался потому, что ты импортировал константы не для него, а для первого фара (из дистриба 1.75 build 2587). Они хранят настройки несколько в разных местах.
Возьми последнюю версию второго фара и работай с ним.

zen
Posts: 6
Joined: Mon 21 Dec, 2009 14:38

Re: Показывать содержимое каталога в соседней панели

Post by zen » Tue 22 Dec, 2009 23:08

:(
Я ему не доверяю пока.

User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Re: Показывать содержимое каталога в соседней панели

Post by [e]Bu$ter » Tue 22 Dec, 2009 23:13

zen wrote::(
Я ему не доверяю пока.
Твои проблемы :-)

В 1.75 я не проверял, но думал, что должно бы работать. Странно.

zen
Posts: 6
Joined: Mon 21 Dec, 2009 14:38

Re: Показывать содержимое каталога в соседней панели

Post by zen » Tue 22 Dec, 2009 23:31

А как канвертировать все настройки и меню Far 1.70 в 2.0?

User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Re: Показывать содержимое каталога в соседней панели

Post by [e]Bu$ter » Tue 22 Dec, 2009 23:39

А - всё понял. В 1.75 у тебя не двигается ничего потому, что макрос импортирован для второго фара.
Короче, ты всё напутал. Константы добавил для первого фара, а макрос для второго. Поэтому нигде ни хрена и не работает.

Посмотри что куда пишется в этих рег-файлах, и всё поймёшь. Перенос настроек в этой тебе уже офтоп. Пост захвачен.

hyperspeed
Posts: 1
Joined: Wed 20 Jan, 2010 11:09

Открыть каталог в другой панели

Post by hyperspeed » Wed 20 Jan, 2010 11:18

Всем привет!
Хотелось бы узнать есть ли в FAR такая фукция:
Открыть каталог в другой панели FAR, т.е. я например, нахожусь в папке C:\Program Files\ курсор стоит на папке Far, по горячей клавише у меня открывается в другой панели папка Far. Аналогичная функция есть в Total Commander - там по нажатию ctrl+стрелка вправо или влево. "Такой же каталог" - не подходит...

AlexSM
Posts: 32
Joined: Mon 21 Mar, 2005 09:50

Re: Открыть каталог в другой панели

Post by AlexSM » Wed 20 Jan, 2010 12:43

макрос

Code: Select all

$If (APanel.Folder) panel.SetPath(1, APanel.Path+"\\"+Apanel.Current) $End

Post Reply

Return to “Обсуждение макросов”