Zeigen Sie die Registerliste immer in vim an


13

Ich habe den Dreh raus, Register in Vim zu verwenden, aber es wäre sehr praktisch, nicht weiter tippen zu müssen, um :regzu sehen, wo sich alles befindet. Ist es möglich, vim so einzurichten, dass das Registerfeld immer sichtbar ist?

Antworten:


13

Die Ausgabe von :regist flüchtig, Sie müssten sie (mit :redir) erfassen und in einem Arbeitspuffer anzeigen und dann Trigger finden, um sie regelmäßig zu aktualisieren. Möglich, aber schwierig, und ich würde Ihnen dauerhaft wertvolle Bildschirmimmobilien rauben.

Alternative

Stattdessen habe ich eine kleine Verknüpfung, um den Inhalt der wichtigsten schnell aufzurufen. Da dies ""dasselbe ist wie das Weglassen der Registerspezifikation, ist dies einfach einzugeben (insbesondere nach dem ersten ", wenn ich anfange zu denken: "Okay, welches Register möchte ich?", Kann ich einfach ein anderes "eingeben und diese praktische Hilfe erhalten). und überschreibt keine integrierten Befehle.

" List contents of all registers (that typically contain pasteable text).
nnoremap <silent> "" :registers "0123456789abcdefghijklmnopqrstuvwxyz*+.<CR>

Es ist eine nette kleine Neuzuordnung (und ich habe dabei etwas über die Neuzuordnung gelernt, was sehr schön ist, aber ich bin bereit / beabsichtigt, die Bildschirmfläche zu verlieren ... von Coruse, idealerweise wäre es ein kleiner Abriss Fenster ...
Joe

Vim unterstützt keine Abreißfenster, aber abgesehen davon habe ich dargelegt, wie Sie das implementieren würden.
Ingo Karkat

4

Es stellt sich heraus, dass die Antwort außerhalb von vim liegt.

vim speichert seine Register in der .viminfo-Datei (normalerweise im Stammverzeichnis) - wir müssen also wirklich nur auf Änderungen achten.

Ein sehr einfacher Weg ist der 'Watch-Befehl' mit ein wenig Kommandozeilen-Fudging:

watch "cat .viminfo | grep -A 1 '\"[0-9a-z]'"

Dies druckt den aktuellen Status der vim-Register aus und kann in einem völlig anderen Fenster ausgeführt werden.

Der kleine Nachteil ist, dass vim seine Register normalerweise nur beim Beenden der Datei in viminfo speichert. Sie können das Speichern jedoch mit dem Befehl ': wv' erzwingen. Wenn Sie dies einem Ersatzschlüssel zuordnen, können Sie die Registeransicht per Tastendruck aktualisieren.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.