Bất kỳ phím tắt cho cd cd .. ..


30

Có lối tắt nào cho cd ..không?


47
Có phải mất quá nhiều thời gian để gõ?
đúng

17
CÓ, nó mất quá nhiều thời gian cho một cái gì đó cần thiết thường xuyên.
maaartinus

2
Hãy thử đẩy và bật
Zachary Scott

19
Tôi vô cùng thích thú khi ai đó thấy cd ..quá cồng kềnh khi gõ
Erik

8
Tôi nghi ngờ những người cần ' cd ..' nên thường phải có Tôi phải cdvào một thư mục trước khi nói về các tệp có mô hình chống, thay vì chỉ định đường dẫn hệ thống tệp.
bignose

Câu trả lời:


68

Không theo mặc định (Có thể có một số ngoại lệ cho điều này), không có. Nhưng nếu bạn sử dụng aliaslệnh, bạn có thể tạo một lối tắt như thế này:

alias ..="cd .."

Điều này sẽ cho phép bạn sử dụng lệnh ..để làm cd ...


10
Chết tiệt, tôi chỉ đang gõ chính xác điều tương tự.
Majenko

6
Tôi cũng đang sử dụng alias ...="cd ../.."và hai cái nữa. Ngoài ra, tôi có thể đề nghị alias ,=cd "$OLDPWD".
maaartinus

13
@maaartinus : cd -.
Benjamin Bannier

1
@honk Tôi không biết điều đó. Tuy nhiên, nó quá dài (và tôi không cần đầu ra).
maaartinus

1
Ai đó có thể vui lòng giải thích các downvote?
Wuffers

82

Kích hoạt autocdtùy chọn. Nó sẽ cho phép bạn gõ ..cho cd ..và thực sự sẽ cho phép bạn sử dụng bất kỳ thư mục như một tên lệnh và ý chí cdvới nó:

shopt -s autocd

Đối với người tò mò, điều tương tự tồn tại cho zsh:

setopt auto_cd

1
Điều đó thật tuyệt vời. Thời gian để chỉnh sửa .bashrc trên tất cả các hộp linux của tôi. Thật không may, nó dường như không hoạt động với cygwin bash.
tung hứng

3
Ái chà, thật tuyệt vời.
Reid

5
@gordoco: ừ, chỉ bash 4.x thôi. Đó là lý do tại sao tôi đã sử dụng zsh trong 14 năm.
sam hocevar

1
zsh(+ auto_cd) FTW!
Johnsyweb

2
@LaC: Sự vượt trội về kỹ thuật không phải lúc nào cũng là yếu tố quyết định sự thống trị. Bash đã già hơn rất nhiều và đã viết nhiều hơn bằng cách sử dụng nó, và thực tế tất cả các lập trình viên shell đều biết điều đó, hơn bất cứ điều gì khác. Thay đổi có thể khó khăn. - từ một người không biết tất cả tiếng ồn của zsh là gì và chỉ thực sự sử dụng bash :)
tshepang

42

Tôi thấy điều này hữu ích:

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

Ví dụ, up 4=cd ../../../..

Như một phần thưởng, `up 4`/path/to/filehoạt động theo cách tương tự ../../../../path/to/file.


Nó thật thú vị! Vào năm 2007, tôi đã viết một [hàm] tương tự ( home.arcor.de/hirnstrom/minis/index.html#up_X ) cho tệp .bashrc - của tôi. Giải pháp của bạn cho phép nhảy ngược lại toàn bộ cd -quá. Làm tốt! :)
người dùng không xác định

Tốt đẹp. Tôi đã có một cái gì đó như thế này cho VMS DCL khi tôi làm việc trên đó, nhưng tôi không thực sự nghĩ về nó khi tôi chuyển sang Unix và các biến thể của nó.
GreenMatt

16

Sau khi làm một

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

bạn có thể cd ..bằng cách nhấn Alt-u. Tôi đã từng sử dụng điều này trên chức vô địch chdir ;-)

Nếu bạn muốn toàn bộ bộ 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

chỉ cần bao gồm điều này trong .bashrc của bạn

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

4
Một chức vô địch chdir là gì? không biết gì
Peter Jaric

4
Thư mục sự kiện thể thao điều hướng.
artistoex

14

Tôi sử dụng cái này vì tôi gõ quá nhanh và thường bỏ lỡ thanh dấu cách:

alias cd..="cd .."


11
s / non-unix/ Windows/
grawity

3
Nếu bạn đang gõ quá nhanh, bạn đang thiếu các ký tự, thật khó tin việc thêm bí danh cho cd..thực sự hữu ích.
Olli

3
Tôi có thể thấy nó có thể giúp ích như thế nào nếu bạn đến từ DOS cũ thân yêu, nơi cd..hợp lệ :)
cambraca

1
Vì một số lý do tôi đã gõ cd .. rất nhiều trong tuần qua. Tôi nghĩ rằng tôi sẽ phải bỏ cà phê nhưng tôi thích giải pháp này tốt hơn.
Lỗi cú pháp

7

Hãy thử autojump: autojump trên github

Điều này sẽ không chỉ rút ngắn lệnh cd thành 'j' mà còn rút ngắn các ký tự cần thiết để nhập thư mục bạn muốn nhảy vào.

Nếu bạn luôn cd vào thư mục / home / foo / Project / thenextfacebook, bạn có thể chỉ cần 'j face' và bạn đang ở đó. Nó tự động học những thư mục nào là quan trọng nhất đối với bạn và sau khi sử dụng nó được một tháng, tôi có thể nói rằng nó rất chính xác.


2

Tôi sử dụng alias …='cd ..'trong .bashrctập tin của tôi . Quy tắc Unicode;)


1

Tệp bashrc của tôi chứa

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

cũng như

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

1

Hãy thử Cd Deluxe cho lệnh cd được cải thiện rất nhiều. Nó hỗ trợ những thứ như "cd ..." và "cd ...." và cứ thế để nhanh chóng điều hướng lên trên.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.