Piszę moją pierwszą wtyczkę vima (viml + python). Jednym z poleceń, które posiada wtyczka, jest "GetStepCommand()" i zasadniczo pobiera dane ze zdalnego źródła danych, masuję nieco dane i kopiuję je do bufora, aby użytkownik mógł rozpocząć edycję. Istnieje parametr, który użytkownik musi podać do "GetStepsCommand" i jest to ścieżka wyszukiwania do miejsca, w którym znajdują się dane, np./Projects/procedure/stepWtyczka Vima - niestandardowe automatyczne uzupełnianie paramów w trybie poleceń
Teraz ta ścieżka może być długa i łatwa do zrobienia coś nieczytelnego. Tak więc chciałem zaimplementować własne uzupełnianie dla części parametrów. Vim już zajmuje się autouzupełnianiem polecenia przez tabulację, ale oczywiście nie może mieć żadnej wiedzy o tym, jak uzupełnić parametr (coś, co sam sobie rozwiążę).
Ale najpierw muszę wiedzieć: - czy/jak mogę przechwytywać naciśnięcie klawisza w poleceń trybu - pobranie/uzyskać wiersza polecenia, które użytkownik aktualnie jest pisanie - test, czy to w poleceń trybu lub insert/view-mode - i na koniec zwraca zaktualizowany wiersz polecenia (zakończony tabulacją), który użytkownik może kontynuować pisanie w ':' po naciśnięciu klawisza.
Wszelkie wskazówki, porady, artykuły, tutoriale ... czyli informacja jest mile widziana
Dzięki za wskazówki, przejrzę je. Jednak argument nie jest ścieżką systemu plików, jej danymi (opisującymi ścieżkę w DB) z systemu, w którym przeciągam dane do bufora. Dlatego właśnie będę musiał wykonać własne przetwarzanie automatycznego uzupełniania. –
Dziękuję za odniesienie do ": command -complete" ... właśnie skończyłem grać z tym ... nie powinno być problemu stąd. –
@ KristofferNordström Jedna uwaga dotycząca tego konkretnego typu uzupełniania: '-complete = file' nie jest opcją uzupełniania oprócz swojej nazwy. Dopełni to do ukończenia plików, ** rozszerzy zmienne środowiskowe, uniemożliwi wpisanie pustej przestrzeni ** (zwykle z '-nargs = 1' i' MyCommand ab' argument będzie 'ab'), ** będzie rozwiń wzory i wykonaj rozszerzenie backtick ** (powtarzając błąd, jeśli te rozszerzenia dają więcej nazw plików niż pozwala na to opcja '-nargs'). I żadna z tych rzeczy nie jest wymieniona w pomocy. – ZyX