Autojump: Autocomplete in zsh (mit oh-my-zsh) funktioniert nicht

Erstellt am 18. Feb. 2015  ·  20Kommentare  ·  Quelle: wting/autojump

Entschuldigung, wenn ich etwas Offensichtliches übersehe, aber hoffentlich können Sie mir sagen, was das ist.

Ich habe autojump mit brew in meinem Setup von zsh (Version 5.0.7) und oh-my-zsh installiert, scheine aber nicht in der Lage zu sein, die Registerkarte zu verwenden Autovervollständigung, stattdessen erhalte ich nur die Dateien und Ordner des aktuellen Verzeichnisses.

Ich habe die Zeile [[ -s $(brew --prefix)/etc/profile.d/autojump.sh ]] && . $(brew --prefix)/etc/profile.d/autojump.sh zu meinem .zshrc hinzugefügt und auch versucht, das Plugin autojump zu aktivieren, das mit oh-my-zsh wird (sollte ich?). Auf jeden Fall konnte ich die Tab-Vervollständigung nicht zum Laufen bringen. Alles andere funktioniert ok.

Was vermisse ich? Danke!

Alle 20 Kommentare

Für mich auch. TABbing im Autojump macht nichts ...

Tabs im Autojump machen immer noch nichts.

+1, ich erhalte auch nur die Dateien und Ordner des aktuellen Verzeichnisses. warum ??? Ich habe Autojump mit Brew installiert, aber es funktioniert nicht

In Mac funktioniert es nicht; aber in Ubuntu ist es OK

Meine Lösung für dieses Problem ist -
1) Führen Sie zuerst das zshrc in der Bash aus und ändern Sie dann die SHELL, sagen Sie -
$~/.zshrc
$ZSH

Vorausgesetzt, Sie haben die hier angegebenen Installationsschritte befolgt - https://github.com/robbyrussell/oh-my-zsh/blob/master/README.markdown

PS: Es hat in Mac für mich funktioniert

FWIW, ich bin auch auf dem Mac (mit zsh). Hatte das Problem vor einiger Zeit, aber bei mir ist es seit einiger Zeit behoben.

Ich habe das gleiche Problem:

image

Hier gilt das gleiche. Irgendwelche Updates?

Mit oh-my-zsh funktioniert die Autojump-Vervollständigung.
Ohne oh-my-zsh funktioniert die Vervollständigung nicht.

Ich habe Autojump über Homebrew installiert. Ich habe sichergestellt
[ -f /usr/local/etc/profile.d/autojump.sh ] && . /usr/local/etc/profile.d/autojump.sh
ist in meiner ~/.zshrc

Autosprung v22.5.3
zsh 5.7.1 (x86_64-apple-darwin19.0)

Ich glaube, ich habe die Lösung beim Lesen von Moving to zsh gefunden
Ohne on-my-zsh muss ich laufen
autoload -Uz compinit && compinit
Ich habe auch einen ähnlichen Befehl in ~/.oh-my-zsh/oh-my-zsh.sh gefunden
autoload -U compaudit compinit
Ich denke, das Wichtigste ist das compinit .

(Wenn meine Lösung auch für Sie funktioniert, geben Sie mir bitte einen Daumen nach oben. 😃)

@boyoungzheng Ihre Lösung hat bei mir funktioniert, außer dass nach dem eingegebenen Text ein lästiger doppelter Unterstrich ("__") hinzugefügt wird:

damit:
$ j tmp<tab><tab>

verwandelt sich in:

$ j tmp__

tmp__1__/bla/tmp-something
tmp__2__/bla/another-tmp
...

Es gibt auch einige identische Vorschläge, die wie ein Fehler erscheinen.
aber gut genug für mich :)

@boyoungzheng Ihre Lösung hat bei mir funktioniert, außer dass nach dem eingegebenen Text ein lästiger doppelter Unterstrich ("__") hinzugefügt wird:

damit:
$ j tmp<tab><tab>

verwandelt sich in:

$ j tmp__

tmp__1__/bla/tmp-something
tmp__2__/bla/another-tmp
...

Es gibt auch einige identische Vorschläge, die wie ein Fehler erscheinen.
aber gut genug für mich :)

Konntest du das beheben? Ich habe das gleiche Problem. Die automatische Vervollständigung funktioniert, aber es werden nur zwei Unterstriche angezeigt.

@MauritsDescamps nein, ich habe es nicht geschafft, es zu lösen.

Findet jemand dafür schon eine Lösung? Ich stecke auch bei Maurits Problem fest.

Nun, anscheinend ist es ein Feature :

ZSH-Tab-Vervollständigung behoben.

Das ZSH-Verhalten entspricht jetzt dem Bash-Verhalten. Es erfordert jedoch, dass das compinit-Modul geladen wird. Fügen Sie die folgende Zeile zu ~/.zshrc hinzu:

autoload -U compinit; zusammengesetzt

Typ verwenden:

J

Ein Menü mit den wichtigsten Datenbankeinträgen wird angezeigt. Geben Sie eine beliebige Zahl gefolgt von ein, um die Eingabe abzuschließen.

@shaungrady Interessant. Ok, ich habe das ausgeführt und einige anfängliche Warnungen über unsichere Verzeichnisse erhalten. Das war einfach zu lösen, indem man compaudit ausführte und die Berechtigungen der aufgelisteten Verzeichnisse korrigierte.

Das Markup in dieser Datei ist nicht richtig, also musste ich das RAW-Formular der README lesen, um zu sehen, was darin stand. Es hieß, j einzugeben, gefolgt von space gefolgt von 2 tab s und dann die Nummer einzugeben, zu der Sie springen möchten, aber das zeigt mir nur zwei Unterstriche an. Ich kann jedoch j xTABTAB ausführen, um zu x__1_foo x__2_bar $ zu erweitern, und 2 eingeben, um zu bar #$ zu springen.

Wenn dies am besten funktioniert, ist das in Ordnung, aber etwas scheint mir immer noch ein wenig daneben zu sein. Danke.

Hallo, ich füge das Plugin Autojump einer .zshrc-Datei hinzu und funktioniert.
MacOS Catalina V10.15.7
Autosprung v22.5.3

plugins=(git autojump)

Hallo, ich füge das Plugin Autojump einer .zshrc-Datei hinzu und funktioniert.
MacOS Catalina V10.15.7
Autosprung v22.5.3

plugins=(git autojump)

Und verschieben Sie die Zeile source $ZSH/oh-my-zsh.sh von .zshrc am Ende derselben Datei.

Ich glaube wirklich, dass @shaungrady dieses Problem gelöst hat, indem er gesagt hat, er solle autoload -U compinit; compinit hinzufügen, damit die Vervollständigung funktioniert. ( man zshcontrib ). Das plugins=(autojump) -Ding ist nur notwendig, wenn Sie oh-my-zsh verwenden, aber dieses Plugin ist nur ein Skript (autojump.plugin.zsh), das das Autojump-Profilskript bezieht.

Wenn Sie oh-my-zsh nicht verwenden, wie ich es nicht tue, müssen Sie trotzdem das Skript beziehen (das sich an einem anderen Ort befindet, je nachdem, welches Betriebssystem und/oder wie Sie es installiert haben, z. B. für mich auf MacOS installiert Autojump mit Homebrew, es befindet sich in /usr/local/etc/profile.d/autojump.sh).

Zusammenfassend sind die Schritte, ob Sie oh-my-zsh oder normales zsh verwenden, wie folgt:
1) Sourcen Sie in .zshrc das Autojump-Profilskript (oder wenn Sie oh-my-zsh verwenden, haben Sie einfach plugins=(autojump) source für Sie.
2) Sorgen Sie in .zshrc dafür, dass die Vervollständigung funktioniert, indem Sie autoload -U compinit; compinit -y hinzufügen
3) Beginnen Sie mit der Vervollständigung, indem Sie j foo[tab][tab] eingeben und wenn das Menü erscheint, geben Sie die Verzeichnisnummer ein und geben Sie ein.

@rkulla Ich habe das gleiche Problem unter Ubuntu 18.04 erlebt, oh-my-zsh .

Ich habe autoload -U compinit; compinit -y wie vorgeschlagen in meinem zshrc hinzugefügt und die Tab-Vervollständigung funktioniert jetzt! Danke !

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

grota picture grota  ·  16Kommentare

loveencounterflow picture loveencounterflow  ·  6Kommentare

davux picture davux  ·  9Kommentare

xuhdev picture xuhdev  ·  3Kommentare

juanrgon picture juanrgon  ·  4Kommentare