anuluj zakończone

11

Zwykle <C-n>funkcja wstawiania zakończenia ( ) wstawia właściwe słowo przy pierwszym naciśnięciu <C-n>, ale nie zawsze. Dlatego chciałbym, aby Vim wstawił dopasowanie, które uważa za najlepsze po naciśnięciu <C-n>, ale nadal pozwala mi anulować to wstawienie później, jeśli prawidłowe dopasowanie nie pojawi się lub znajdzie się daleko na liście.

Oczywiście mógłbym zakodować to zachowanie, ale mam wrażenie, że powinien istnieć standardowy klucz (kombinacja), aby to zrobić. Czy ktoś może skierować mnie w dobrym kierunku?

Dodatkowe pytanie: czy jest inny klucz, którego mogę użyć, aby uzyskać jak najdłuższy mecz (tak jak przed uderzeniem <C-n>)?

Do tego, co warto, używam completeopt=menu

Oktawor
źródło
1
Czy ctrl-utego szukasz?
statox
Nie, ctrl-u wydaje się usuwać całą linię. Szukam kombinacji, która usuwa tylko tekst, który został wstawiony przez naciśnięcie ctrl-n.
Octaviour,
Moją pierwszą myślą było „czy nie działa tutaj zwykły klawisz anulowania?”, A potem zdałem sobie sprawę, że to emacs. Zaledwie kilka dni nauki przed laty mnie zepsuło, wykąpię się w świętej rzece i oczyści się!
sundar - Przywróć Monikę

Odpowiedzi:

14

Od :h complete_CTRL-E:

                                                        * complete_CTRL-E *
Gdy uzupełnianie jest aktywne, możesz użyć CTRL-E, aby go zatrzymać i wrócić do
pierwotnie wpisany tekst. CTRL-E nie zostanie wstawiony.

Również jeśli, powiedzmy, wpiszesz awtedy, ^Pa otrzymasz bardzo długą listę, możesz nacisnąć przycisk, ^N aby powrócić do oryginalnego tekstu z wyskakującym okienkiem zakończenia jest nadal aktywne. Następnie możesz wpisać dodatkowe znaki, aby zawęzić listę ukończeń.

Antony
źródło
Właśnie tego szukałem. Nie zdawałem sobie sprawy, że ctrl-p zabierze mnie z powrotem do pierwotnego wejścia. Dzięki.
Octaviour,
2
@Octaviour, uważam, że ctrl-p jest ogólnie bardziej użyteczny niż ctrl-n, ponieważ szuka najbliższego dopasowania przed (zamiast po) miejscem, w którym jesteś. Jeśli więc właśnie napisałeś słowo, ctrl-p szybko wyświetli to samo słowo, jeśli będziesz musiał je powtórzyć (na przykład ponownie
użyje
Tak, napisałem ^Pz przyzwyczajenia właśnie z tego powodu.
Antony