Launchy является большой частью программного обеспечения, я использую его в Windows главным образом для того, чтобы быстро получить доступ к папкам. Я люблю его автоиндексацию в фоновом режиме и почти никогда не просматриваю папки вручную в эти дни, решает меня много времени.
На Linux (Ubuntu 9.10) я обычно "живу" в терминале, как бы то ни было. Поэтому Launchy на Linux (или Gnome Делают, или его другие замены) не то, в чем я нуждаюсь - поскольку он открывает файловый менеджер, и мне не нужен файловый менеджер.
То, в чем я действительно нуждаюсь, является чем-то, что индексирует мои папки и позволяет мне cd
в них быстро в терминале. Например:
mycd python_c
Будет cd
кому:
~/dev/scripts/python_code
Я надеюсь, что мое намерение понято :-)
Действительно ли Вы знакомы с такими инструментами?
Просто хочу записать это после некоторого оглядывания, я нашел z - это изучает каталоги Вы CD в и затем позволяет Вам легко вскочить в них.
Существует также автопереход, но z
кажется, ближе к тому, в чем я нуждаюсь.
Bash имеет CDPATH
переменная.
$ CDPATH="$CDPATH:~/dev/scripts/:/some/other/one/too"
$ cd python_code
/home/username/dev/scripts/python_code
$ pwd
/home/username/dev/scripts/python_code
Вы могли написать сценарий обслуживания значения что-то вроде этого:
В Вашем ~/.bashrc
:
cd() {
while read -r dir
do
if [[ ! $CDPATH =~ $dir ]]
then
CDPATH="${CDPATH}:${dir}"
fi
done < ~/.cdpath
builtin cd "$@"
}
cd . # update CDPATH
export CDPATH
В названном файле /usr/local/bin/mkcdpath
:
#!/bin/bash
# update the stored CDPATH directory list
# run from cron, can be run manually
# requires Bash >= 3.2
cdp=$(<~/.cdpath)
while read -r dir
do
if [[ ! $cdp =~ $dir ]]
then
cdp="${cdp}:${dir}"
fi
done < <(find /anchored_at_root -maxdepth 1 some_find_args -type d)
echo "$cdp" > ~/.cdpath
Выполненный это периодически использование cron
.
Теперь каждый раз, когда Вы используете cd
, это обновит текущую оболочку CDPATH
и выполните изменение каталога согласно ему (в дополнение к выполнению нормального cd
s, которые пробуют сначала). Вы могли изменить имя функции (и удалить cd
команда) сделать это, обновление функционирует только и использовать регулярную команду CD - это просто, не обновило бы значение автоматически.
Вы могли бы интересоваться некоторой расширенной функцией zsh
. Это добавляет некоторые дополнительные ярлыки на cd
.