So deaktivieren Sie das horizontale Scrollen
Ich habe eine Lösung geschrieben, die horizontales Scrollen deaktiviert (indem ich von @ ЯрославРахматуллинs Vorschlag abgehört habe ), aber ich glaube nicht, dass es Ihnen gefallen wird:
augroup NoScrollPlease
autocmd!
autocmd CursorMoved * norm!99zH
augroup END
Dies verhindert das Scrollen nach rechts durch die unglaublich präzise Methode, einfach wieder zurückzuscrollen. *
* Da ich nicht weiß, wie weit Sie nach rechts gescrollt haben oder wie lang Ihre Zeilen sind, scrolle ich willkürlich "weit" durch 99 halbe Bildschirmbreiten. Beachten Sie auch, dass ich nicht prüfen muss, ob Sie tatsächlich nach rechts gescrollt haben, bevor Sie "zurück" nach links scrollen. Wenn Sie tatsächlich beabsichtigen, diese Lösung zu verwenden, möchten Sie möglicherweise etwas durch Vergleichen der Werte von getcurpos()
, 'sidescroll'
und zum Erliegen bringen 'columns'
.
Warum willst du das nicht?
Der Grund, warum Sie dies nicht verwenden werden, liegt darin, dass das Bildlaufproblem ein anderes Problem darstellt: Mit Vim können Sie den Cursor nicht "vom Bildschirm" bewegen. Wenn Sie also so nach links scrollen, dass der Cursor nach dem Scrollen nicht mehr auf dem Bildschirm angezeigt wird, bringt Vim den Cursor hilfreich mit und verschiebt ihn nach links.
Da jedoch die Berechnung, die verwendet wird, um festzustellen, ob sich der Cursor auf dem Bildschirm befindet, mit der Berechnung übereinstimmt, die verwendet wird, um zu entscheiden, ob im ursprünglichen Problem ein Bildlauf durchgeführt werden soll, ist dies der Nettoeffekt, wenn Sie versuchen, den Cursor zu verschieben Cursor nach rechts in einer Situation, die normalerweise ein seitliches Scrollen verursachen würde, jetzt weigert sich der Cursor, sich überhaupt zu bewegen. **
** Je nach aktueller Position und Bewegung bewegt sich der Cursor möglicherweise etwas genauer nach rechts. es bewegt sich einfach nicht über die Position hinaus, an der normalerweise eine Schriftrolle auftreten würde.
Andere Optionen?
Ich befürchte, dass Ihre geplante Problemumgehung nicht zum Erliegen kommt. Wenn Sie eine praktikable Lösung für das allgemeine Problem suchen, muss diese im Vim-Quellcode implementiert werden.
Wie Sie bereits bemerkt haben , ist es unwahrscheinlich, dass dies bald eintrifft. Ich fürchte, Sie können das Problem in Ihrem GIF am besten umgehen, indem Sie den Plug-in-Autor bitten, die Verwendung conceal
vollständig und stattdessen einzustellen Entfernen Sie den verborgenen Text vollständig aus dem Puffer.
Aufgrund der unverhüllten Ausgabe und der Erwähnung vim-plugin-AnsiEsc
in der Dokumentation kann dies möglicherweise implementiert werden, ist aber ohne Kenntnis der Funktionsweise des Plugins schwer zu sagen.
:set wrap