Làm cách nào để bật đề xuất nếu không tìm thấy lệnh (có nghĩa là bạn có nghĩa là tính năng).


15

Tương tự với câu hỏi này: Làm cách nào để tôi loại bỏ tính năng "ý bạn là ..." trong trình bao?

Khi nhập sai lệnh bạn nhận được một cái gì đó như:

root@pc:~# sido
No command 'sido' found, did you mean:
 Command 'sudo' from package 'sudo' (main)
 Command 'sudo' from package 'sudo-ldap' (universe)
sido: command not found
root@pc:~# 

Có một plugin shell cho linux hoặc ubfox đề xuất lần đoán đầu tiên và tôi chỉ cần nhấn enter?

Vì vậy, nó phải giống như:

root@pc:~# sido
No command 'sido' found, did you mean:
 Command 'sudo' from package 'sudo' (main)
 Command 'sudo' from package 'sudo-ldap' (universe)
sido: command not found
Did you mean 'sudo' [Y/n]?

Vì vậy, tôi chỉ cần nhấn enter và lệnh sudo được thực thi thay vì sido.


4
zshvỏ một lựa chọn cho bạn?
AB

Câu trả lời:


14

Nếu bạn sẵn sàng chuyển đổi shell, hãy zshcung cấp cái này mà không cần plugin:

$ setopt correct 
$ sido -i
zsh: correct 'sido' to 'sudo' [nyae]? 
y
[sudo] password for muru: 

Từ các tài liệu :

CORRECTbật sửa lỗi chính tả cho các lệnh và CORRECTALLtùy chọn bật sửa lỗi chính tả cho tất cả các đối số.

% setopt correct
% sl
zsh: correct `sl' to `ls' [nyae]? y
% setopt correctall
% ls x.v11r4
zsh: correct `x.v11r4' to `X.V11R4' [nyae]? n
/usr/princton/src/x.v11r4 not found
% ls /etc/paswd
zsh: correct to `/etc/paswd' to `/etc/passwd' [nyae]? y
/etc/passwd

Nếu bạn nhấn ykhi shell hỏi bạn có muốn sửa một từ không, nó sẽ được sửa. Nếu bạn nhấn n, nó sẽ được để lại một mình. Nhấn phím ahủy bỏ lệnh và nhấn eđưa dòng lên để chỉnh sửa lại, trong trường hợp bạn đồng ý từ đó viết sai chính tả nhưng bạn không thích sửa.


Đẹp, cái này có vẻ tốt! Sẽ nhìn vào nó. Có giải pháp nào khác sử dụng tiêu chuẩn / bin / bash không?
Stefan Profanter

1
@SailAvid không phải tôi biết. Bash chỉ cung cấp hiệu chỉnh cho các đường dẫn (để sử dụng với cd: cdspellhoặc các thư mục nói chung dirspell:).
muru

sudo apt-get install sl/brew install sl
kenorb

@kenorb địa ngục không! Tôi thấy slkhó chịu hơn là hữu ích.
muru

22

Nếu zsh không phải là một lựa chọn, hãy xem thefuck

Nó có thể được cài đặt với:

sudo pip install thefuck

Một trong những ví dụ trong readme gần như chính xác những gì bạn yêu cầu:

 puthon
No command 'puthon' found, did you mean:
  Command 'python' from package 'python-minimal' (main)
  Command 'python' from package 'python3' (main)
zsh: command not found: puthon

 fuck
python
Python 3.4.2 (default, Oct  8 2014, 13:08:17)
...

Nó cũng thực hiện một số công cụ tiện dụng khác như:

 apt-get install vim
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

 fuck
sudo apt-get install vim
[sudo] password for nvbn:
Reading package lists... Done
...

hoặc là

 git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master


 fuck
git push --set-upstream origin master
Counting objects: 9, done.
...

Điều này thật tuyệt!
muru

Không có ích gì , vì tôi thường sử dụng slđể trừng phạt chính mình để chữa thói quen sai lầm của mình
kenorb
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.