2013-02-21 5 views
9

laufen Wenn conque in VIM läuft, fordert die Warnmeldung jedes Mal aus:Warnung knallen halten, wenn conque in VIM

Warning: 
Global CursorHoldI and CursorMovedI autocommands may cause ConqueTerm to run slowly 

ich eine Methode gefunden die Warnung zu entfernen, ist die Warnung-Funktion in der auszukommen conque_term.vim, aber ich denke nicht, dass es ein anständiger und sicherer Weg ist, das Problem zu lösen.

Ich bin neu mit VIM, so fand ich keine Möglichkeit, die Ursache des Problems selbst zu identifizieren. Könnte jemand helfen? Danke vielmals!

+0

Einige Ihrer Plugins sind wahrscheinlich definieren 'autocmd's auf diese Ereignisse. Ein Autovervollständigungs-Plugin, vielleicht, oder ein Tag-Generation-Plugin ... Grep Ihr ​​'~/.vim /' Verzeichnis für 'CursorHoldI' und/oder' CursorMovedI' oder tun ': verbose autocmd', um zu sehen, wo diese definiert sind. – romainl

+1

ACHTUNG! Autokommandos können zu erheblichen Problemen mit ConqueTerm führen. Es kann dazu führen, dass offene Puffer mit der Ausgabe überschrieben werden und alle anderen unangenehmen Dinge. Es kann gefährlich sein. Ich kann es für niemanden empfehlen, der viele Plugins verwendet, die die Cursor-Auto-Befehle abfangen, da es scheint, dass selbst wenn mit einer kleinen Menge davon vermischt, schlimme Dinge passieren. Denken Sie daran, keine dieser schlechten Änderungen versehentlich zu speichern, falls sie passieren sollten. Versuche die Plugins zu deaktivieren und aktiviere sie nacheinander, um den Schuldigen zu finden. Hoffentlich mit pm wie vundle, was es einfach macht, dies zu tun !!! – osirisgothra

Antwort

6

Ein Integrationspunkt in Vim ist durch Ereignisse, die automatische Befehle auslösen können; das Conque Plugin verwendet diese selbst, um seine Funktionalität zu implementieren. Ereignisse wie CursorMovedI werden ausgelöst, wenn Sie etwas eingeben oder den Cursor im Einfügemodus bewegen. Dies kann sich auf die Leistung auswirken, und darum geht es in der Warnung.

Sie alle solche automatische Befehle über auflisten:

:verbose autocmd CursorHoldI,CursorMovedI 

Solange Conque gut für Sie arbeitet, ist es in Ordnung (und unterdrücken), um die Warnung zu ignorieren. Aber wenn Sie tatsächlich auf Probleme stoßen, müssten Sie die anderen autocmd-Quellen überprüfen und vielleicht das eine oder andere Plugin deaktivieren (zumindest für den Conque Puffer). (Siehe :help autocmd-remove für wie das geht.)

+4

Sie können diese Warnung auch unterdrücken mit 'let g: ConqueTerm_StartMessages = 0' (siehe https://code.google.com/p/conque/wiki/Usage#3.1.8_Hide_start_messages) –

2

Off-Thema, aber mit Strg + Z, um zurück in Shell und fg, um zu Vim zurückzukehren scheint viel besser als Conque arbeiten. Das ist, wenn Sie vim vom Terminal verwenden, was Sie sollten.

Einige Inspiration: http://statico.github.com/vim.html

+1

Es funktioniert nicht "viel besser", Es ist ein anderes Werkzeug für ein anderes Szenario. Ich möchte vim starten, sobald ich ein Terminal öffne, so dass ich meine Terminal-Befehle von drinnen aus ausführen kann, so dass sie in einem vim-Puffer sind. Dadurch kann ich normale vim-Befehle zum Durchsuchen, Kopieren und Springen in der Terminalausgabe verwenden. Sobald Sie die Möglichkeit haben, diese Dinge in vim zu tun, möchten Sie sie überall tun, besonders im Terminal. Normalerweise gehe ich nur zum normalen Terminal zurück, wenn ich eine separate Instanz von vim ausführen muss, da das Ausführen von vim in vim über conque nicht gut funktioniert. –