LINUX.ORG.RU

vifm | tree!

 


0

2

Здравствуйте.

В файловом менеджере Vifm имеется возможность отображения каталогов в виде дерева. Переход в древовидный режим осуществляется по команде :tree.

Каким образом выполнить возврат обратно в нормальный режим просмотра?

Как реализовать переключение нормального|древовидного режимов по одной команде (e. g. :tree!)?

Спасибо.

Post scriptum

В версии менеджера ≤0.9.1 не существует отдельной команды для выхода из древовидного режима. Однако, при выполнении команды :cd . (переход в текущий каталог), древовидный режим сменяется на нормальный. Это можно использовать для обозначенной в вопросе цели.

Переключение же нормального-древовидного режимов можно реализовать посредством пользовательских команд:

" switch to normal view
  command regular :cd .

" toggle normal-tree view
  command tree! :if getpanetype() == 'tree' | regular | else | tree | endif

" bind switching to normal view
  nmap <c-v>r :regular<cr>

" bind switching to tree view
  nmap <c-v>t :tree<cr>

" bind normal-tree view toggling
  nmap <c-v>g :tree!<cr>


Последнее исправление: gammaray (всего исправлений: 3)

А где ты нашел информацию про :tree, и почему там нет информации про то, как вернуться в обычный режим?

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

А где ты нашел информацию про :tree

man vifm

почему там нет информации про то, как вернуться в обычный режим?

🤷

gammaray
() автор топика

Да, это упущение, этого в документации не хватало. Варианты:

  • h на верхнем уровне
  • gh на любом уровне
  • :cd .. на любом уровне

Как реализовать переключение нормального|древовидного режимов по одной команде?

command! ttree :if getpanetype() == 'tree' | cd .. | else | :tree | endif

Может действительно стоит выходить из режима по :tree или переключать по :tree!.

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

Может действительно стоит выходить из режима по :tree или переключать по :tree!.

По мне, так лучше :tree — только вход, :normal — переход в нормальный режим (из любого режима), :tree! ­— переключение normal-tree.

Поскольку :normal уже занят, можно например :regular использовать.

gammaray
() автор топика
Ответ на: комментарий от gammaray

Поскольку :normal уже занят, можно например :regular использовать.

getpanetype() «regular» как раз и возвращает в таком случае. В Vim в принципе есть :visual как аналог, так что, наверное, стоит добавить :regular и :tree!, спасибо за идею.

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

Спасибо за предложенное решение. Оно действительно работает. Включил его (немного в измененном виде) в заглавное сообщение.

gammaray
() автор топика
Ответ на: комментарий от gammaray

можно например :regular использовать.

Не, надо :master! ;)

Tanger ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.