1

Launchy - отличная программа, я использую ее в Windows в основном для быстрого доступа к папкам. Мне нравится его автоматическая индексация в фоновом режиме, и я вряд ли когда-либо просматривал папки вручную в эти дни, решая много времени.

Однако в Linux (Ubuntu 9.10) я обычно "живу" в терминале. Поэтому Launchy в Linux (или Gnome Do, или другие его замены) - это не то, что мне нужно, так как он открывает файловый менеджер, и мне не нужен файловый менеджер.

Что мне нужно, так это что-то, что индексирует мои папки и позволяет мне быстро cd их в терминал. Например:

mycd python_c

Будет ли cd :

~/dev/scripts/python_code

Я надеюсь, что мое намерение понято :-)

Вы знакомы с такими инструментами?

3 ответа3

1

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 которые пробуются первыми). Вы можете изменить имя функции (и удалить команду cd ), чтобы сделать ее только функцией обновления, и использовать обычную команду cd - она просто не будет обновлять значение автоматически.

0

Просто хочу записать, что после некоторого осмотра я нашел z - он изучает каталоги, в которые вы записываете компакт-диск, а затем позволяет вам легко переходить к ним.

Также есть автопрыжок, но z кажется ближе к тому, что мне нужно.

0

Возможно, вас заинтересует некоторая расширенная функция zsh. Это добавляет некоторые дополнительные ярлыки на cd .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .