2011-01-25 11 views
10

Rozważmy scenerio kiedy mam wpisane:Vim Omni oddania: kontynuować wpisywanie, aby wybrać żądaną pozycję

file.f 

Po wpisaniu Ctrl-XCtrl-O popup wielokierunkowy zakończenie przedstawiono i pierwszy element jest wybrany. To, co widzę:

file.fileno 
     --------- 
     fileno() <-- highlighted 
     flush() 
     --------- 

Zauważ, że tekst, który mam wpisane („file.f”) został już zmieniony na:

file.fileno 

mogę przenieść zaznaczenie w dół listy, aby " flush”, naciśnij ENTER i będzie skończyć z

f.flush() 

Ale chciałbym kontynuować wpisując żądaną nazwę metody zamiast przy użyciu klawiszy strzałek. To znaczy. Chciałbym wpisać "file.f", "Ctrl-X Ctrl-O", "L" i dostać albo

file.fileno 
     --------- 
     flush() 
     --------- 

lub

file.fileno 
     --------- 
     fileno() 
     flush() <-- highlighted 
     --------- 

Czy to możliwe? Może niektóre ustawienia omni-completion muszą zostać zmienione, czy też powinienem użyć innej kombinacji klawiszy zamiast Ctrl-XCtrl-O?

Odpowiedz

14

Dodaj: set completeopt+=longest do pliku .vimrc.

Dzięki temu omnicomplete będzie wstawiał tylko najdłuższy wspólny tekst wszystkich dopasowań. Aby uzyskać więcej informacji, uruchom polecenie :help completeopt w vim.

+5

Innym sposobem jest kliknięcie CTRL + P i wpisanie trochę więcej tekstu. – alex2k8

+0

świetna wskazówka, dzięki – clime

Powiązane problemy