
Wenn ich vi oder vim verwende, um Dateien in Putty zu bearbeiten, werden nur begrenzte Zeilen und Spalten angezeigt. Wie kann ich den Editor also auf Vollbild erweitern?
Antwort1
Das Problem liegt wahrscheinlich darin, dass das Programm die richtige Bildschirmgröße nicht kennt. Normalerweise kann das System diese Information vom Terminalprogramm abrufen. Manchmal ist dies jedoch nicht möglich oder die Information wird überschrieben.
Vorausgesetzt, Sie verwenden ein unixähnliches System, stty
kann der Befehl anzeigen, was dieSystemdenkt, die Bildschirmgröße ist beispielsweise
$ stty -a
speed 38400 baud; rows 40; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
$
Die Werte rows
und columns
geben die vom System angenommene Bildschirmgröße an. WennDasfalsch ist, können Sie stty
diese mit ändern, z. B.
stty rows 50 columns 132
aber eine bessere Möglichkeit ist die Verwendung resize
(durch einfaches Ausführen wird dieselbe Schnittstelle aufgerufen, die auch stty
liest).
Es können jedoch stty
korrekte Werte angezeigt werden.Umfeldkann seine Einstellungen mit den Umgebungsvariablen LINES
und/oder überschreiben . (Das sind langjährige Legacy-Krücken für Termcap-Anwendungen). Das bloße Aufheben der Einstellungen dieser Variablen behebtCOLUMNS
DasProblem.
Weiterführende Literatur:
- RFC 1073 – NAWS (Verhandlung über Fenstergröße)
- Größe ändern(1)
- verwenden_umgebung(3)beschreibt die Umgebungsvariablen
- stty(1)erklärt, wie Terminaleinstellungen festgelegt/abgerufen werden
Antwort2
Eintippen im Terminal
resize
berechnet die durch den Befehl angegebenen Zeilen und Linien neu
stty -a | grep columns
speed 38400 baud; rows 55;columns 138; line = 0;
Antwort3
Ich hatte das gleiche Problem und entdeckte nach einiger Zeit, dass ich in der .vimrc-Datei Zeilen und Reihen gesetzt hatte ( set lines=30
und set columns=80
). Das Auskommentieren dieser Zeilen ( "
beginnt mit einem Inline-Kommentar in der vim-rc-Syntax) behob das Problem.
Antwort4
Der beste und einfachste Weg besteht darin, eine .vimrc-Datei in Ihrem Home-Verzeichnis zu erstellen und dann den folgenden Inhalt in die Datei einzufügen
set ai
set mouse=a
set incsearch
set confirm
set number
set ignorecase
set smartcase
set wildmenu
set wildmode=list:longest,full
set lines=80
set columns=80
Speichern Sie die Datei, beenden Sie sie und laden Sie sie anschließend in der aktuellen Shell neu.
source .vimrc