
當我使用 vi 或 vim 在 putty 中編輯文件時,它只顯示有限的行和列。那麼如何將編輯器擴展到全螢幕呢?
答案1
問題可能是程式不知道正確的螢幕尺寸是多少。通常系統可以從終端程式取得這些資訊。但有時它不能,或者它被覆蓋。
假設你使用的是一些類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)
- 使用環境(3)描述環境變數
- stty(1)告訴如何設定/取得終端設置
答案2
在終端機中輸入
resize
將重新計算命令給出的行和行
stty -a | grep columns
speed 38400 baud; rows 55;columns 138; line = 0;
答案3
我遇到了同樣的問題,過了一會兒發現我在 .vimrc 檔案中設定了行和行(set lines=30
和)。set columns=80
將它們註解掉("
在 vim-rc 語法中開始內聯註解)解決了這個問題。
答案4
最好和最簡單的方法是在主目錄中建立 .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
儲存檔案並退出,然後在目前 shell 上重新載入該文件
source .vimrc