Próbuję zmusić się do korzystania z trybu Ido. Czasami jest fajnie, ale innym razem jest wyjątkowo głupio. Oto moje największe rozczarowanie.
Przeczytałem jakiś dziennik z pełnymi nazwami plików, a następnie skopiowałem jedną nazwę, spróbuj otworzyć ten plik.
Sposób na zrobienie tego bez Ido: C-aC-yC-kRET
W przypadku Ido istnieją dwa główne problemy:
Jeśli mam całą nazwę pliku, nie ma możliwości, aby ją wprowadzić (muszę usunąć pierwszy ukośnik, w przeciwnym razie nawet naciśnięcie //nie pomoże.
Nie mogę edytować pośrednich części nazwy pliku, pozostawiając resztę niezmodyfikowaną.
Czy mogę?
find-file
zC-x C-f
i wkleić normalnie. Ale to więcej naciśnięć klawiszy. Możesz też użyć Hełmu, jeśli chcesz mieć bogatą funkcjonalnośćfind-file
i nadal zaspokajać swój własny przypadek użycia.C-x C-f
tak wiele razy!Odpowiedzi:
Podczas gdy
ido
polecenie jest aktywne (ido-find-file
w tym przypadku), można spaść z powrotem do non-ido wersji tego samego polecenia (find-file
w tym przypadku) za pomocą wiązania IDO-defaultC-x C-f
dlaido-fallback-command
.Aby odpowiedzieć na twoje pytanie,
C-x C-f
zadzwoniido-find-file
.C-x C-f
wróci dofind-file
.C-a C-y C-k
RETtak, jak zwykle, aby przeciągnąć skopiowaną ścieżkę pliku do minibufora.Uwaga: W
ido
,C-x C-f C-x C-f
zrobi to samo coC-x C-f C-f
, tj. Cofnie się dofind-file
.O
C-f
wido
Inido-mode
,C-f
jest związanyido-magic-forward-char
. Zido.el
,źródło
C-f
powrótfind-file
, nieC-x C-f
. Nie widzę, żebym go dostosował (i podobnie jak inni tutaj polegam bardzo na wycofaniu.ido
Po użyciu przez pewien czas mam prawie tyle samo kłopotów, ile warto).C-x C-f C-f
również działa.Biorąc pod uwagę, że masz do czynienia z pełnymi nazwami ścieżek, inne metody mogą działać:
M-x ffap
(find-file-at-point
): automatycznie odczyta nazwę ścieżki i otworzy plikM-x compilation-shell-minor-mode
co zmieni czcionkę ścieżek i sprawi, że będą „klikalne” (ustami lubRET
). Kliknięcie go powoduje przejście do tego pliku i określonej linii oraz umożliwia nawigacjęnext-error
i używanieprevious-error
. Często go używam, jak w trybie powłoki .źródło
Ponieważ zawsze można to zrobić na więcej niż jeden sposób, oto wariant pomysłu @ abo-abo, który sprawia, że uzupełnianie ido jest aktywne, zamiast wracać do normalnego polecenia find.
Z tym wiązaniem:
Jeśli bieżące zabicie jest prawidłową ścieżką do katalogu, możesz rozpocząć
ido-find-file
, naciśnij,C-y
aby przejść do podciągniętego katalogu, a następnie kontynuować używanie ido uzupełniania, aby wybrać plik.Jeśli bieżące zabicie jest prawidłową ścieżką do pliku, możesz rozpocząć
ido-find-file
, naciśnij,C-y
aby przejść do podciągniętego katalogu i zaoferować podciągniętą nazwę pliku jako zakończenie, a następnie naciśnij RET, aby otworzyć ten plik.Jeśli obecne zabójstwo jest czymś innym, zostaje ono normalnie szarpane.
źródło
let
powiązać różneido-...
zmienne niżsetq
je? W tej chwili wygląda na to, że ustawiasz wartości na stałe, a nie robisz to przez cały okres użytkowania funkcji.ido-next-work-directory
. Myślę, że zmienne są ustawione tak, aby przetrwały w wywołaniu minibufora wyjściowego i późniejszym odświeżeniu. Ale wciąż nie do końca rozumiem wewnętrzne elementy ido!Może tak:
Jeśli bieżące zabicie jest plikiem, który istnieje, wykonanie C-y C-y prawdopodobnie powinno dać ci to, czego chcesz.
źródło