VIM - jak pracować z BOTH supertab.vim z snipMate.vim?

4

Wybieram vima i znalazłem 2 wtyczki, które działają świetnie - snipMate , to naśladuje zachowanie fragmentu partnera tekstowego i supertab , to przełącza i uzupełnia słowa za pomocą klawisza tab na podstawie wychodzących słów w bieżących / innych buforach. Wszystkie wtyczki zostały włączone w moim pliku .vimrc za pomocą :filetype plugin on, ale mogę tylko dostać supertab do pracy. Podejrzewam, że ponieważ klawisz TAB jest używany dla obu, to są one nadrzędne względem siebie. Czy ktoś napotkał to i znalazł poprawkę? Nie jestem jeszcze ekspertem w edycji mojego pliku .vimrc, kluczy do mapowania itp. Dzięki.

EDYTOWAĆ

Gdy próbuję wymusić ładowanie samego snipMate.vim, otrzymuję następujące błędy:

Error detected while processing /home/sa125/.vim/plugin/snipMate.vim:
line   15:
E122: Function <SNR>18_RemoveSnippet already exists, add ! to replace it
line   73:
E122: Function snipMate#expandSnip already exists, add ! to replace it
line  112:
E122: Function <SNR>18_ProcessSnippet already exists, add ! to replace it
line  123:
E122: Function <SNR>18_Count already exists, add ! to replace it
line  169:
E122: Function <SNR>18_BuildTabStops already exists, add ! to replace it
line  211:
E122: Function snipMate#jumpTabStop already exists, add ! to replace it
line  258:
E122: Function <SNR>18_UpdatePlaceholderTabStops already exists, add ! to replace it
line  302:
E122: Function <SNR>18_UpdateTabStops already exists, add ! to replace it
line  321:
E122: Function <SNR>18_SelectWord already exists, add ! to replace it
line  385:
E122: Function <SNR>18_UpdateChangedSnip already exists, add ! to replace it
line  434:
E122: Function <SNR>18_UpdateVars already exists, add ! to replace it  

Czy robię to źle? ...

sa125
źródło
mam ten sam problem, ale na odwrót. dostaję tylko snipmate do pracy, ale nie supertab. oba działają niezależnie
matthias krull
jakiej wersji vima używasz? jaki system operacyjny? Z jakich innych wtyczek korzystasz?
matthias krull

Odpowiedzi:

4

Ok, to działa z skryptami powiązanymi z pierwotnym pytaniem.

Okazało się, że użyłem supersnipmate, snipmate fork, który niestety usunął wbudowaną obsługę supertab snipmate.

Użyłem również oryginalnego supertabu hostowanego na vim.org, który również nie działał z snipmate. Połączony skrypt na github okazał się następcą (lub kontynuacją) starego supertabu.

matthias krull
źródło
6

Oboje dobrze ze sobą współpracujemy.

Jedyną istotną linią w moim .vimrc jest:

let g:SuperTabDefaultCompletionType = "context"
sml
źródło