Linux 控制台隨機列印字母 ‘q’
我正在嘗試設置我的 Linux 控制台——沒有 X 的裸 TTY 終端。我試圖用 asciinema 捕捉這個問題,但有趣的是,它沒有出現在那裡,所以我用自己的相機捕捉到了它,這裡是一個連結到影片。
它不僅出現在
[n]vim
,它是完全隨機的,有時也會出現在命令行中。我很確定它與字型無關。有沒有人遇到過這種奇怪的行為?編輯:
更多資訊:我正在使用 ArchLinux,我認為我安裝作業系統的方式存在問題。過去,我犯了一個可怕的錯誤,幾乎刪除了
/usr/
. 之後,我決定不需要重新安裝文件系統,例如,我只需要重新安裝gnu-core
程序和核心pacstrap
。之後就出現了這個問題。故障排除:
我試過
reset
了,但沒有幫助。我嘗試LC_ALL=en_US.UTF-8 nvim test.txt
並LC_ALL=C nvim test.txt
查看它是否也與 Locale settinga 相關,但它也無濟於事。
好的,這就是出現問題的原因:
這是因為 Neovim 提供了只有在使用支持它的圖形終端時才應該設置的
guicursor
選項。X11
在裸TERM=linux
tty 中,不支持使用該選項。當我啟動 Vim 而不是 Neovim 時,我設法隔離了這個問題。因為 Vim 沒有提供這個選項,所以我沒有體驗過。難以隔離的是,即使在您退出 Neovim 後它仍然存在,所以它讓我認為這是一個普遍的問題。
可以在行尾的右上角字元中找到線索。Linux 控制台部分支持 VT100 畫線轉義(移入/移出)。如果您的語言環境設置不正確(使 vim 對哪些字節包含有效字元感到困惑),例如,如果您將一些二進製文件添加到終端(並將其置於備用字元集模式…),你可能會得到一些像這樣的奇怪行為。
假設終端環境變數設置正確,例如,
export TERM=linux
該
reset
命令應該修復備用字元集問題(但對語言環境或終端的實際編碼沒有幫助)。