Ich versuche, mich in den Ido-Modus zu versetzen. Manchmal ist es schön, aber manchmal ist es extrem dumm. Hier ist meine größte Enttäuschung.
Ich habe ein Protokoll mit vollständigen Dateinamen gelesen, dann kopiere ich einen Namen und versuche, diese Datei zu öffnen.
Der Weg, dies ohne Ido zu tun: C-aC-yC-kRET
Mit Ido gibt es zwei Hauptprobleme:
Wenn ich den gesamten Dateinamen habe, gibt es keine Möglichkeit, diesen einzugeben (ich muss den ersten Schrägstrich entfernen, sonst //hilft auch das Drücken von nicht.
Ich kann keine Zwischenteile des Dateinamens bearbeiten, der Rest bleibt unverändert.
Oder kann ich?
find-file
mitC-x C-f
und in der Regel einfügen. Aber das sind mehr Tastenanschläge. Oder Sie können Helm verwenden, wenn Sie eine Fülle von Funktionen wünschenfind-file
und dennoch Ihren Anwendungsfall erfüllen möchten .C-x C-f
Fallback so oft nützlich!Antworten:
Während ein
ido
Befehl aktiv ist (ido-find-file
in diesem Fall), können Sie mithilfe der IDO-Standardbindung für auf die Nicht-IDO- Version desselben Befehls zurückgreifen (find-file
in diesem Fall) .C-x C-f
ido-fallback-command
Um Ihre Frage zu beantworten,
C-x C-f
wird anrufenido-find-file
.C-x C-f
wird auf zurückgreifenfind-file
.C-a C-y C-k
RETwie gewohnt einen kopierten Dateipfad in den Minipuffer ziehen.Hinweis: In
ido
,C-x C-f C-x C-f
wird dasselbe tun wieC-x C-f C-f
, dh zurückgreifen auffind-file
.Über
C-f
inido
Inido-mode
,C-f
ist verpflichtet , zuido-magic-forward-char
. Vonido.el
,quelle
C-f
um zurück zu kommenfind-file
, nichtC-x C-f
. Ich sehe nicht, dass ich es angepasst habe (und ich, wie andere hier, verlasse mich viel auf den Fallback. Istido
fast so viel Mühe, wie es sich lohnt, nachdem ich es für eine Weile benutzt habe).C-x C-f C-f
auch funktioniert.Wenn Sie mit vollständigen Pfadnamen arbeiten, funktionieren möglicherweise andere Methoden:
M-x ffap
(find-file-at-point
): liest automatisch den Pfadnamen und öffnet die DateiM-x compilation-shell-minor-mode
diese Option, um die Schriftart der Pfade zu ändern und sie "anklickbar" zu machen (mit dem Mund oderRET
). Wenn Sie darauf klicken, gelangen Sie zu dieser Datei und der entsprechenden Zeile, und Sie können mitnext-error
undprevious-error
navigieren. Ich benutze es oft, wie im Shell-Modus .quelle
Da es immer mehr als eine Möglichkeit gibt, dies zu tun, gibt es eine Variante der Idee von @ abo-abo, mit der die Ido-Vervollständigung aktiviert bleibt, anstatt auf den normalen Befehl find zurückzugreifen.
Mit dieser Bindung:
Wenn es sich bei dem aktuellen Kill um einen gültigen Verzeichnispfad handelt, können Sie starten
ido-find-file
,C-y
mit der Taste zum ausgewählten Verzeichnis springen und anschließend die IDO-Vervollständigung zum Auswählen einer Datei verwenden.Wenn es sich bei dem aktuellen Kill um einen gültigen Dateipfad handelt, können Sie starten
ido-find-file
,C-y
drücken, um zum Verzeichnis zu springen und den Dateinamen als Vervollständigung anzugeben. Drücken Sie dann die Taste RET, um die Datei zu öffnen.Wenn der aktuelle Kill etwas anderes ist, wird er normal gerissen.
quelle
let
Könnte es nicht besser sein, die verschiedenenido-...
Variablen zu binden, alssetq
sie? Momentan scheint es so, als würden Sie permanent Werte einstellen, anstatt dies für die Lebensdauer der Funktion zu tun.ido-next-work-directory
. Ich denke, die Variablen werden so gesetzt, dass sie über den Exit-Minibuffer-Aufruf und die anschließende Aktualisierung überleben. Aber ich habe die Ido-Interna immer noch nicht voll im Griff!Vielleicht so:
Wenn es sich bei dem aktuellen Kill um eine vorhandene Datei handelt, C-y C-y sollten Sie wahrscheinlich das tun , was Sie möchten.
quelle