Właśnie przełączyłem się z bash na używanie zsh 4.3.4 na Ubuntu Hardy. Pracuję z git i ciągle walczę z domyślnymi uzupełnieniami git: uzupełnianie nazw plików próbuje być inteligentne, wykrywając to, co dodałeś lub usunąłeś (używając plików git-ls), ale czasem robi się źle --- np. jeśli jesteś w podkatalogu. Nie wie także o moich niestandardowych aliasach git (np. Git ci jako alias do zatwierdzenia).
administratorzy Zsh, jak powinienem poprawić tę sytuację?
Oto kilka moich przemyśleń, choć nie wiem, jak je wdrożyć, ponieważ jestem nowy w Zsh, więc może możesz pomóc lub zaoferować własne:
- Wyłącz uzupełnianie nazwy pliku git, pozostawiając jedynie zakończenie gałęzi / tagu / nazwy polecenia / polecenia.
- Zamień „inteligentne” uzupełnianie nazw plików na zwykłe uzupełnianie nazw plików zsh.
- Pobierz nowszy plik zakończenia _git, jeśli to naprawi te błędy, i zastąp systemowy.
Dzięki!
sudo mv /usr/share/zsh/functions/Completion/Unix/_git /usr/share/zsh/functions/Completion/Unix/OFF_git
Odpowiedzi:
Spróbuj zaktualizować do najnowszej wersji Zsh. Właśnie uaktualniłem z 4.3.4 do 4.3.10 i to przynajmniej rozwiązuje problem z niedokończeniem aliasów Git.
Zamiast włamać się do mojej instalacji, dodałem to do mojego lokalnego
.zshrc
:źródło
W przypadku dużych projektów nawet nowsze skrypty ukończenia git są zdecydowanie zbyt wolne. Aby je wyłączyć i po prostu użyć normalnego uzupełniania plików, umieść następujące polecenie w .zshrc:
źródło