2014-07-24 9 views
11

Ich versuche zu deaktivieren (Auto-/Omni// was auch immer) Abschluss in SQL. Es ist ein Problem für mich, weil ich <C-c> für Escape verwendete und wenn die Datei in .sql endet, scheint es, einige Suche mit einer frustrierenden 2 Sekundenpause einzuleiten. Insbesondere verursacht das Eingeben von k während der Pause eine Kollision, die unerwünschte SQL-Schlüsselwörter einfügt.Deaktivieren Sie Omnicomplete oder ftplugin oder etwas in Vim

.vimrc hat

filetype plugin off 
    set omnifunc= 

und :filetype kehrt filetype detection:ON plugin:OFF indent:ON

aber im Einfügemodus <C-c>k noch druckt

-- Omni completion (^O^N^P) 
    match 1 of 80` while autocompleting 

und :verbose imap <C-c>k kehrt

i <C-C>k  *@<C-\><C-O>:call sqlcomplete#Map("sqlKeyword\\w*")<CR><C-X><C-O> 
     Last set from ~/projects.vim 

und verbose set omnifunc können überschrieben werden, auch wenn es :set omnifunc= direkt (wenn ich es so gut wie nichts eingestellt):

omnifunc=sqlcomplete#Complete 
     Last set from /opt/local/share/vim/vim74/autoload/sqlcomplete.vim 

Mehr Due Diligence:

  1. : help ftplugin
  2. :
  3. omnifunc helfen
  4. Dies ist vielleicht das gleiche, aber wurde nicht beantwortet: How do I turn off Omni Complete in Vim?
  5. Andere SO Beratung, die alles über das Drehen dieser Funktionen auf
  6. Ändern des Dateinamens, um ein anderes Problem zu haben, löst das Problem , aber das ist dumm.

Antwort

8

Diese Zuordnungen stammen von $VIMRUNTIME/ftplugin/sql.vim. Sie finden es dokumentiert unter :help ft-sql. Wie man die Mappings anpasst/abstellt, ist unter :help sql-completion-customization (und folgenden Absätzen) beschrieben. Zusammenfassung:

Wenn Sie nicht möchten, dass eine dieser Zuordnungen:

let g:omni_sql_no_default_maps = 1 

neu zu definieren nur den lästigen Schlüssel:

let g:ftplugin_sql_omni_key = '<Leader>sql' 

Sie können auch vollständig den Schlüssel deaktivieren, indem Sie einen nonexisting einer Auswahl :

let g:ftplugin_sql_omni_key = '<Plug>DisableSqlOmni' 

Setzen Sie alle diese in Ihre ~/.vimrc.

+0

Wunderbar. Eine zusätzliche Anmerkung: Dies hat mein Problem nicht behoben, da die Einstellungen in meiner Sitzung (ich benutze viel mksession) die Einstellungen in .vimrc überschreiben. Ich musste die Sitzungsdatei durchsuchen und jeden Verweis auf Omnifunc löschen, bevor dieser Ratschlag funktionieren würde, aber es tat. enfascination

+1

Ich bin froh, dass ich helfen konnte! Ich empfehle '' settionoptions- = options' zu setzen, das aufhört, Mappings und Optionen in Ihren Sessions zu speichern, so dass Sie diese Probleme in Zukunft nicht mehr haben werden (und die gespeicherte Session wird viel kleiner). Der Standardwert der Option ist Bad IMO. –

+0

Danke für RTFM auf diesem, ich benutze auch , um den Einfügemodus zu beenden, so macht die Bearbeitung dieser Bindungen die Bearbeitung von SQL-Dateien für mich viel angenehmer. – OregonTrail

Verwandte Themen