far2l
far2l copied to clipboard
Ctrl+"\" behaviour
Hi,
Ctrl+"\" on windows change pannel's current directory to the root of current drive. On macos it goes to the root of system what is not useful.
It will be nice to have an option to control target dir of Ctl+\ shortcut:
- root of the system ("/")
- root of the current physical drive, e.g. "/Volume/NAME/"
Thank you.
I'am completely against it. I use this shortcut all the time.
@abcdenis You can change to the root of physical drive using Alt+F1/F2
I use Ctrl+\ to go to root often too, very useful.
Опа на! Тока заметил, что Ctrl+~ домой идёт! День не зря пропал! 😸
I use Ctrl+\ to go to root often too, very useful.
Me too.
Был FAR под винду с вполне определённым поведением. Поведение изменилось при портировании под мак. Все привыкли. Тем, кто не привык, было бы удобнее старое виндовое поведение. Можно ли сделать настройку вместо того, чтобы "мне нравится как сейчас, менять нельзя"? Чтобы можно было поставить галочку или написать в конфиг, и Ctrl+\ ходил не в рут, а в корень текущего диска? Спасибо.
Поведение изменилось при портировании и Ctrl+\ ходил не в рут, а в корень текущего диска?
В отличии от DOS/Windows файловые системы unix/linux/mac не оперируют понятиями диск (см. https://ru.wikipedia.org/wiki/FHS ). На уровне простых вызовов перехода по файловой системе, например, консольной командой cd /
переход в корень файловой системы и нет быстрого способа перейти именно к точке монтирования текущего "диска".
Для определения раздела монтирования текущего каталога в командной строке можно извратится через df .
или findmnt --target .
, но я не знаю, чтобы такое делалось за 1-2 команды системных вызовов из C++.
Поясните ваши use-cases перехода именно к точке монтирования раздела текущего каталога в рамках логики файловой системы *nix, когда такое полезно?
Как упомянул akruphi, на Linux определить точку монтирования текущего каталога позволяют df или findmnt. Поэтому можно, например, добавить в меню что-то типа
cd "$(findmnt --noheadings --output TARGET --target .)"
или
cd "$(df --output=target . | tail -n +2)"
и назначить через макрос на этот пункт удобное кнопкосочетание (то же Ctrl-\).
Вероятно, на MacOS тоже можно сделать что-то аналогичное.
P.S. ну или совсем извратиться -- и что-то вроде такого:
cd "$(pwd | grep --only-matching -f <(mount | awk '{print $3}') | head -n 1)"
(1. писалось на коленке, может где ошибся; 2. также, в zsh может понадобиться заменить < на =, у подстановки процессов там слегка другой синтаксис. 3. кстати, за идею спасибо, назначил себе на Ctrl-Alt-\, с примонтированными дисками/флешками стало работать удобнее.)
@akruphi Цель - использовать опыт, приобретенный ранее, не думая над этим. У меня такие же внешние диски, как и на винде, поэтому я бы ожидал, что FAR будет работать аналогично - независимо от рассуждений о философии Юникса.
@spnethw Вот видите, а все говорят, что это не нужно :)
Спасибо @spnethw за реализацию через меню. Утянул ссылкой в https://github.com/akruphi/far2l/wiki почти в самый конец раздела Полезности.
@abcdenis можно закрыть, наверное?