30

Есть ли ярлык для cd ..?

9 ответов9

82

Активируйте опцию autocd . Это позволит вам ввести .. для cd .. и будет на самом деле позволит вам использовать любой каталог в качестве имени команды и воли cd к нему:

shopt -s autocd

Для любопытных то же самое существует для zsh:

setopt auto_cd
68

Не по умолчанию (там могут быть некоторые исключения), нет. Но если вы используете команду alias вы можете создать ярлык следующим образом:

alias ..="cd .."

Это позволит вам использовать команду .. сделать cd ..

42

Я считаю это полезным:

up() { local p= i=${1:-1}; while (( i-- )); do p+=../; done; cd "$p$2" && pwd; }

Например, up 4 = cd ../../../..

В качестве бонуса `up 4`/path/to/file работает аналогично ../../../../path/to/file .

15

После выполнения

bind '"\eu":"cd ..\C-m"'

Вы можете cd .. нажав Alt-u . Я использовал это на чемпионатах chdir ;-)

Если вы хотите весь набор swift-chdir

ALT+u cd ..
ALT+n enter next dir for selection
ALT+p enter previous dir for selection
ALT+SPC choose selected dir
ALT+l list subdirectories and highlight selection

просто включите это в ваш .bashrc

swiftcd-status() {
    echo -n -e "\r\0033[1A\0033[J"
}

swiftcd-contents() {
    find "$swiftcdpath" -maxdepth 1 -executable -type d
}

swiftcd-setdir () 
{ 
    swiftcdpath=$PWD
    swiftcddirnum=1
    swiftcddircount=`swiftcd-contents|wc -l`;
    swiftcd-status
}

swiftcd-pd () 
{ 
    (( --swiftcddirnum <= 0 )) && swiftcddirnum=$swiftcddircount;
    swiftcd-switch $swiftcddirnum
    swiftcd-status
}

swiftcd-updir () 
{ 
    cd ..;
    swiftcd-setdir
}

swiftcd-list () 
{ 
    local redOn="$(echo -e '\0033[31m\0033[1m')"
    local redOff="$(echo -e '\0033[m')"

    swiftcd-status
    ((  swiftcddircount > 1 )) && { 
        echo
        echo $(swiftcd-contents|sed 's!^'"$swiftcdpath"'!!'|sed $swiftcddirnum' s/\(.*\)/'"$redOn"'\1'"$redOff"'/')
    } 
}

swiftcd-nd () 
{ 
    (( ++swiftcddirnum > swiftcddircount )) && swiftcddirnum=1;
    swiftcd-switch $swiftcddirnum
    swiftcd-status
}

swiftcd-switch() {
    (( $1 <= swiftcddircount && $1 > 0 )) && cd $(swiftcd-contents|sed -n $1' p')
}

bind '"\e ":"swiftcd-setdir\C-m"'
bind '"\ep":"swiftcd-pd\C-m"'
bind '"\eu":"swiftcd-updir\C-m"'
bind '"\en":"swiftcd-nd\C-m"'
bind '"\el":"swiftcd-list\C-m"'
swiftcd-setdir
14

Я использую этот, потому что я печатаю слишком быстро и часто пропускаю пробел:

alias cd..="cd .."
7

Попробуйте autojump: autojump на github

Это не только сократит команду cd до 'j', но также сократит символы, необходимые для ввода папки, в которую вы хотите перейти.

Если вы всегда заходите в папку /home /foo /Projects / thenefacefacebook, вы можете просто сделать «j face», и вот вы здесь. Он автоматически узнает, какие папки являются наиболее важными для вас, и после использования его в течение месяца я могу сказать, что он очень точный.

2

Я использую alias …='cd ..' в моем файле .bashrc . Юникод правила;)

1

Попробуйте Cd Deluxe для значительно улучшенной команды CD. Он поддерживает такие вещи, как «CD ...» и «CD ....» и так далее, чтобы быстро перемещаться вверх.

1

Мой файл bashrc содержит

alias ..="cd .. && ls -lG"

так же как

alias ,,="pushd .. && ls -lG"

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