2012-11-24 12 views
7

Ukończenie zakładki z menu podręcznym w vim działa całkiem nieźle z odpowiednią konfiguracją. http://vim.wikia.com/wiki/Make_Vim_completion_popup_menu_work_just_like_in_an_IDENiestandardowe menu wyskakujące w VIM

Mam małą kolekcję generatora kodu i programów manipulujących kodami, których używam w vim. Procedura:

1. initiate visual mode 
2. highlight text 
3. :'<,'>!hashify 

Chciałbym wykorzystać vim menu podręczne, aby zaoferować wybór działań.

Nowa procedura będzie:

1. initiate visual mode 
2. highlight text 
3. <Tab> -- select transform option from menu 

Czy istnieje interfejs vimscript które mogłyby być wykorzystane do tego?

Odpowiedz

2

Okienko uzupełniania trybu wstawiania może służyć do wstawiania wybranych fragmentów tekstu. Istnieją dwa sposoby jego implementacji, zobacz :help complete-functions i :help complete(). Jeśli twój generator kodu zwróci jednoliniowe (i niezbyt długie) fragmenty tekstu do wstawienia, możesz wywołać generator przez system(...), a następnie przekazać zwrócone wartości do funkcji uzupełniania.

Z drugiej strony, jeśli wybory menu bezpośrednio nie odpowiadają wstawionego tekstu, ale są taktyczne decyzje lub czynności, większość wtyczek przedstawi menu wyboru takiego, stylizowany jak wbudowany w menu (np :ilist):

:echohl Title 
:echo 'Code fragments:' 
:echohl None 
:echo '1. foo' 
:echo '2. bar' 
:let choice = nr2str(getchar()) 
:if choice == 1 ... 

Następnie wstawić tekst odpowiadający wyboru poprzez :normal! iText lub setline().

Wygląda na to, że potrzebujesz uzupełnienia z trybu wizualnego, możesz najpierw przechwycić wybrany tekst, rozpoczynając mapowanie za pomocą y.

+0

Wygląda na to odpowiedź na moje pytanie brzmi 'tak'. Zrobię kilka badań i eksperymentów i zobaczę, co wymyślę. Dzięki. – ddoxey

Powiązane problemy