Pengecualian untuk zsh mengoreksi semua fitur?

13

Saya menggunakan correctallopsi di zsh, dan saya umumnya cukup senang dengan itu. Namun, ada beberapa situasi di mana saya menemukan fitur ini sangat mengganggu.

Misalnya, katakanlah saya memiliki file file1.texdan saya ingin membuat salinan file2.texyang akan saya edit untuk membuat beberapa perubahan. Saya akan lakukan

cp file1.tex file2.tex

hanya untuk diberitahu zshbahwa saya mungkin salah mengeja file2.texdan jika saya ingin memperbaikinya file1.tex.

Apa yang terjadi adalah ini: ketika zshmencoba untuk memeriksa ejaan, itu terlihat di direktori saat ini untuk file bernama file2.tex, tidak menemukannya, tetapi menemukan file1.texdan mengasumsikan bahwa saya salah mengeja file1.tex, dan bertanya apakah saya ingin memperbaikinya.

Itu sering terjadi pada saya sehingga saya benar-benar membatalkan correctallpilihan, dan hanya menggunakan correct. Namun, pengetik yang buruk seperti saya, saya benar-benar kehilangan correctallpilihan. Demikian pertanyaan saya saya:

Apakah ada cara untuk mengatakan zshuntuk tidak memperbaiki argumen terakhir dari cpperintah?

(Saya tahu saya bisa mendapatkan hasil yang saya inginkan dengan mengubah pengaturan penyelesaian untuk cp, tetapi saya masih ingin menyelesaikan pada argumen terakhir, saya hanya tidak ingin memperbaikinya secara otomatis.)

Jan Hlavacek
sumber
Saya pikir Anda bisa mendapatkan hasilnya dengan mengubah pengaturan penyelesaian untuk cp, tanpa kehilangan penyelesaian. Lihatlah bagian tentang zstyledi zshcompsyshalaman manual, terutama correctionstag. Pastikan untuk melaporkan kembali jika Anda mengerti perintah apa yang harus dikeluarkan (saya tidak).
Gilles 'SANGAT berhenti menjadi jahat'
@Gilles: Terima kasih! Setidaknya itu akan memberi saya arahan untuk melihat. Lain kali saya punya beberapa hari (atau mungkin berminggu-minggu, atau berbulan-bulan?) Dengan tidak ada hubungannya, saya akan melihat apakah saya dapat memahaminya. :)
Jan Hlavacek

Jawaban:

14

Coba ini.

alias cp='nocorrect cp '
alias mv='nocorrect mv '
alias mkdir='nocorrect mkdir '

dll.

Itu tidak sepenuhnya tepat karena akan menonaktifkan aplikasi correctall untuk seluruh perintah, tapi saya pikir itu kompromi yang baik. Penyelesaian (termasuk _correct completer) dan ekspansi, misalnya, masih akan berfungsi.

peth
sumber
Terima kasih. Meskipun bukan apa yang saya cari, sepertinya itu adalah hal terdekat yang sebenarnya mungkin.
Jan Hlavacek