Wie kann ich Vim Cursor zu einem Zeichen an Ther Pocus bei Insertleave bewegten?

StackOverflow https://stackoverflow.com/questions/5841646

  •  27-10-2019
  •  | 
  •  

Frage

Da Mac OS X's terminal.app Unterstützt nicht viele visuelle Aspekte der vim osascript Accopmlisch etwas Ähnliches.

In meinem .vimrc Datei, die ich geschrieben habe:

autocmd InsertEnter * silent !osascript -e 'tell application "Terminal" to set current settings of first window to settings set 11`j
autocmd InsertLeave * silent !osascript -e 'tell application "Terminal" to set current settings of first window to settings set 12`j

wo settings set 11 ist eine Reihe von Terminaleinstellungen, die einen Liniencursor enthält und settings set 12 ist einer, der einen Blockcursor hat.

Dies funktioniert tatsächlich ganz gut, aber es gibt ein kleines Problem. Bei Insertleave wird der Cursor immer einen Charakter nach links bewegt, was nicht so groß ist, aber es kann anoying sein.

Ich versuchte zu kompensieren, indem ich einsetzte autocmd InsertLeave h in mein .vimrc, aber ohne Erfolg (es gibt mir einen Fehler).

Wie soll ich Vim sagen:

  1. nicht nach links verschieben?
  2. Wenn das oben genannte nicht möglich ist, um sich durch das Recht zu kompensieren
War es hilfreich?

Lösung

Bevor Sie die Frage beantworten, würde ich Ihnen empfehlen, einen Blick auf MacVim zu werfen (wenn Sie es nicht getan haben). Wenn Sie möchten (oder brauchen), um sich an das Terminal zu halten, bietet möglicherweise ein weiteres Terminal wie Iterm mehr Funktionen. Wie auch immer, der Cursorwechsel zwischen Block - Bar ist in ITM nicht vorhanden (zumindest denke ich) und Ihr Weg, ihn zu lösen, war phänomenal, es ist jetzt mit einem Lesezeichen versehen. Vielen Dank!


Eine einfache Möglichkeit, es zu lösen, wäre ein weiteres AutoCommand, wie Sie sagten. Aber in Ihrem fehlt das Muster und der richtige Befehl zum Ausführen.

Das h ist kein Befehl. A normaler Modus Sequenz verwenden Sie die :normal Befehl. Dies kann richtig funktionieren:

au InsertLeave * normal! h
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top