為什麼vim被凍結?
我有兩台執行 Ubuntu 18.04 的不同機器(家庭和工作)。昨晚
vim
在家裡凍僵了。我處於插入模式並輸入並保存(esc
:w
),但什麼也沒發生。狀態欄仍顯示-- INSERT --
,游標仍在原處閃爍。我卡住了。我找不到出路。我不能打字(我打字時什麼也沒發生),我不能四處走動(向上和向下箭頭什麼也沒做)。它卡在插入模式中,游標在它所在的位置閃爍。我肯定是在處理多項任務,並且可能在那裡按下了其他一些鍵,但我不知道是什麼鍵。不過已經很晚了,所以我關閉了終端視窗並再次嘗試(我正在輸入 git commit 消息)。它在我打字的中途再次
git commit -m "don't need an editor for this"
發生,所以我改用了。然後我關閉了我的電腦並停止工作。我想我只是累了,但是今天我在另一台筆記型電腦上工作時發生了這種情況。我又一次同時處理多項任務,不能發誓我沒有輸入任何奇怪的鍵序列,但如果我這樣做了,那是偶然的。並且同一終端中的其他選項卡不會被凍結。
visual
我習慣於在 vim 中陷入模式。這是我學到的一個技巧。但卡在插入模式?關於我可能做了什麼以及如何擺脫它的任何想法?根據我嘗試查看的評論建議,
.viminfo
但.viminfo
我看到的唯一內容是由我獨家擁有的,root
並且似乎只顯示我會編輯的內容sudo
:# Input Line History (newest to oldest): # Debug Line History (newest to oldest): # Registers: # File marks: '0 1 0 /etc/neomuttrc |4,48,1,0,1531789956,"/etc/neomuttrc" '1 1 66 /etc/apt/sources.list.d/signal-bionic.list |4,49,1,66,1530816565,"/etc/apt/sources.list.d/signal-bionic.list" '2 51 0 /etc/apt/sources.list |4,50,51,0,1530816531,"/etc/apt/sources.list" # Jumplist (newest first): -' 1 0 /etc/neomuttrc |4,39,1,0,1531789956,"/etc/neomuttrc" -' 1 66 /etc/apt/sources.list.d/signal-bionic.list |4,39,1,66,1530816565,"/etc/apt/sources.list.d/signal-bionic.list" -' 1 66 /etc/apt/sources.list.d/signal-bionic.list |4,39,1,66,1530816565,"/etc/apt/sources.list.d/signal-bionic.list" -' 51 0 /etc/apt/sources.list |4,39,51,0,1530816531,"/etc/apt/sources.list" -' 51 0 /etc/apt/sources.list |4,39,51,0,1530816531,"/etc/apt/sources.list" -' 51 0 /etc/apt/sources.list |4,39,51,0,1530816531,"/etc/apt/sources.list" -' 51 0 /etc/apt/sources.list |4,39,51,0,1530816531,"/etc/apt/sources.list" -' 1 0 /etc/apt/sources.list |4,39,1,0,1530816447,"/etc/apt/sources.list" -' 1 0 /etc/apt/sources.list |4,39,1,0,1530816447,"/etc/apt/sources.list" -' 1 0 /etc/apt/sources.list |4,39,1,0,1530816447,"/etc/apt/sources.list" -' 1 0 /etc/apt/sources.list |4,39,1,0,1530816447,"/etc/apt/sources.list" # History of marks within files (newest to oldest): > /etc/neomuttrc * 1531789952 0 " 1 0 > /etc/apt/sources.list.d/signal-bionic.list * 1530816564 0 " 1 66 ^ 1 67 . 1 66 + 1 66 > /etc/apt/sources.list * 1530816454 0 " 51 0
我沒有一個非特權文件似乎很奇怪,
.viminfo
但我做到了sudo udpatedb
,locate .viminfo
而且仍然沒有超過一個根擁有的文件。
我經常錯誤地胖手指的一個關鍵是
Ctrl``S
;停止所有終端輸出,直到Ctrl``Q
輸入 a 。這就是
XON/XOFF
預設啟用的控制流,並且^S
和^Q
分別是預設值VSTART
和VSTOP
鍵——請參見手冊頁stty(1)
和termios(3)
手冊頁。您可以使用以下方法禁用它:
stty -ixon
vim
不會在更改終端設置的過程中重新啟用它。
vim 被凍結;KNOPPIX 8.6 上的 vim 版本 81;
它經常發生,我已經找到了我的情況的原因;
即使我沒有忘記將選項更改為“noincsearch”,vim 也會開始搜尋並忙 10 到 20 個小時。因為我正在編輯的文件非常大。
這可能是由拼寫錯誤或“正常”向後搜尋很少文本引起的。
問題是,在這種狀態下 vim 是不可中斷的。
CTRL-C 不起作用。沒有其他按鍵序列或滑鼠事件可以停止 vim。
我通過“writevt”發送到 vim 或 shell bash 的任何命令都沒有效果。
至少 vim 應該對一個 SIGNAL 負責,例如 USR1。但 Vim 沒有反應。
此外,vim 沒有以任何方式顯示 vim 很忙並且它正在搜尋,這很糟糕。
作業系統的實用程序僅顯示該程序正在執行。我可以發送信號 SIGSTOP 和 SIGCONT。但這些都無濟於事。
最好的問候 Anton_Wessel@t-online.de