Einige Programme haben Befehle, die mit weniger ausgeben (z. git blame filename
). Ich möchte meine vim-Konfiguration verwenden (z. <C-j>
anstatt zu verwenden Pg Down
eine Seite nach unten gehen), wenn weniger verwendet wird. Wie stelle ich das ein?
Gemäß dieser Thread und die weniger Man Page Putting export EDITOR=vim
und export VISUAL=vim
in meinem ~/.baschrc
sollte vim für weniger verwenden, aber ich sehe keine Änderungen, nachdem ich eine Terminalsitzung neu geladen und weniger gestartet habe (ich kann beispielsweise nicht den Hotkey zum Abwärtsblättern verwenden).
git blame filename
Die Verwendung von less ist hart codiert oder die Ausgabe wurde an den von Ihnen verwendeten Pager übergeben. Ich wollte nur meine Vim-Konfiguration verwenden, wenn ich einen Pager verwende, mit oder mit weniger.Antworten:
Das
$EDITOR
und$VISUAL
Variablen definieren die Editor verwenden (z. B. wenn Sie den Befehl "Bearbeiten" verwenden Weniger ).Wenn Programme laufen Weniger , sie betreiben es als Pager Nicht als Redakteur - sie betrachten den Wert von
$PAGER
.Installieren Vimpager , dann:
quelle
E21: Cannot make changes, 'modifiable' is off: retab
Press ENTER or type command to continue
. Haben Sie eine Idee, wie ich "modifizierbar" einschalten kann oder einfach nur die Anzeige dieser Nachricht beenden kann?:set modifiable
in meinem vimrc und es gibt immer die gleiche Nachricht aus.retab
in meinem.vimrc
. Ich weiß nicht warum.Ich bin nicht sicher, was Sie genau vorhaben, aber es gibt viele vi-artige Tastenkombinationen, die Sie verwenden können
less
in seiner ursprünglichen Installation. Zumindest ist es so bei meiner Ubuntu Jaunty Box. Wenn Ihnen jedoch bestimmte Funktionen fehlen, können Sie diese verwendenlesskey
Programm, um Ihre Tastenzuordnungen neu zuzuweisen. Beim Ausführen dieses Programms wird eine Datei mit dem Namen erstellt.less
unter Ihrem Heimatverzeichnis. Es wird eine Textdatei sein, die Sie könnencat
odervi
oder auchless
um den Inhalt zu sehen.Überprüfen Sie die Manpages von
less
(suchen Sie nach Schlüsselbindungen) und / oderlesskey
Befehl, um das zu erreichen, was Sie zu erreichen versuchen.quelle
Wenn Sie vimpager nicht installieren möchten, wie es die akzeptierte Antwort empfiehlt, gibt es zwei hackhafte Arten von Problemumgehungen, die ich gefunden habe, um stdout einfach direkt an vim zu senden.
1) Als nicht-globale Problemumgehung können Sie alles, was zu weniger geht, pfeifen
<command_outputting_to_less> | vi -
.2) Global können Sie einstellen
export PAGER='vi -'
.Ein Problem, dem ich dabei begegnet bin, ist, dass der cmd, der die Ausgabe an den Pager sendet, möglicherweise Farbcodes enthält, da er der Meinung ist, dass der Pager Farbcodes verarbeiten kann. Um dies zu korrigieren, müssen Sie die Farbcodes entweder von einem anderen Programm entfernen oder das Ausgabeprogramm hat die Möglichkeit, Farbcodes zu entfernen. Für die, die ich verwendete (git), habe ich dies geändert, damit es korrekt ausgegeben wird
git config --global color.ui false
.quelle