Когда я использую vi или vim для редактирования файлов в putty, он показывает только ограниченные строки и столбцы. Так как же расширить редактор на весь экран?
4 ответа
Проблема, скорее всего, в том, что программа не знает, каков правильный размер экрана. Обычно система может получить эту информацию из программы терминала. Но иногда это невозможно, или оно отменяется.
Предполагая, что вы используете некую Unix-подобную систему, команда stty
может показать, что система считает размером экрана, например:
$ 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
$
Значения rows
и columns
- это то, что система считает размером экрана. Если это не так, вы можете использовать stty
для их изменения, например:
stty rows 50 columns 132
но лучший способ - использовать resize
(просто запустив его, он вызывает тот же интерфейс, который читает stty
).
Однако stty
может показывать правильные значения. Ваша среда может переопределить свои настройки с помощью переменных среды LINES
и / или COLUMNS
. (Это давние устаревшие костыли для приложений termcap). Просто сброс этих переменных решает эту проблему.
Дальнейшее чтение:
- RFC 1073 - NAWS (переговоры о размере окна)
- размер (1)
- use_env (3) описывает переменные среды
- stty (1) рассказывает, как установить / получить настройки терминала
Печатать в терминале
resize
пересчитает строки и строки, заданные командой
stty -a | grep columns
speed 38400 baud; rows 55;columns 138; line = 0;
У меня была такая же проблема, и через некоторое время я обнаружил, что в файле .vimrc установлены строки и строки (set lines=30
и set columns=80
). Комментирование их ("
запускает встроенный комментарий в синтаксисе vim-rc») решило проблему.
лучший и самый простой способ сделать это - создать файл .vimrc в вашем домашнем каталоге, а затем вставить содержимое в файл ниже.
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
Сохраните файл и выйдите, затем перезагрузите файл в текущей оболочке
source .vimrc