CMD游標消失解決方案


有時候我們在使用Windows Command Line時,像是平常我們使用cmd.exe(命令提示字元、Command Prompt)時,打字打到一半,用來確認打字位置的游標卻消失了,問題是出在哪裡?應該怎麼去解決?

前言

如果我們想要快速方便確認電腦上,亦或是作業系統上的一些資訊,可能是網路相關的,也可能是檔案管理等等,甚至想要執行一些程式時,我們可能會透過Command Prompt、Shell或是Terminal這類,實現CLI(Command-line interface)的程式,接著在上面打一些指令去達成所要的目的。

而在Windows作業系統上,我們通常會執行cmd.exe(Command Prompt)去進行相關的指令操作,然而這時卻遇到了,打字打到一半,本來可以用來確認打字位置的游標卻消失了,雖然使用上不至於有太大的麻煩,但再怎麼說就會很卡,畢竟整個畫面除了文字、指令之外,就只剩下單一色調的背景了。

這類的情況,通常是在中文模式下打字會發生的事。

環境

OS: Windows 10

Program: Command Prompt


游標消失問題

一般而言,在正常情況下,Command Prompt上會有一個游標會以閃爍的方式,指示目前的打字位置。如下圖所示:(由於只是截圖,所以無法呈現閃爍的樣子)


而有時候,在打指令的過程中,可能會不小心切換到中文模式,這個時候,可能會遇到閃爍的游標,整個消失了。

這類的情況會發生在中文模式下,輸入了一些注音符號等拼音或拼字,但未完成打字的時候

比方說原本要打

python ARIMA.py

結果在切換大小寫的時候,[shift]按鍵與其他按鍵時間點沒抓好、錯開了。導致變成轉為中文模式。

python ㄇ    (python [shift] a)
python ㄐ (python [shift] ar)
python ㄐㄛ (python [shift] ari)
python ㄐㄩㄛ(python [shift] arim)
python ㄇㄩㄛ(python [shift] aria)

經過測試,上面這類的情況,會導致打字未完成輸入,這時的狀態會是打字尚未完成。

打字狀態未完成可能會發生在以下

由於 
1. 無法按[Enter]、2. 沒去按[Enter]

所以
1. 直接[Backspace]回退、2. 馬上切換成其他模式

等等情況。


因此,我們可以推測這個游標突然消失的問題,是由於打字尚未完成,一個狀態的bug。

所以我們要解決這個問題,除了等待或使用進一步的更新版本之外,我們只要能夠讓這個狀態改變就行了。

因此,有以下的解決方案:

1. 
在中文模式下,按住[Shift],並輸入個能顯示的字元
(透過臨時的中英文模式的切換,讓狀態改變)

2.
同樣在中文模式下,直接完整輸入一個中文字
(由於完成了輸入,所以狀態也改變了)

3.
直接對視窗縮放
(如最大化、手動拉視窗大小等等,但最小化似乎不行,應該是因為只是單純隱藏視窗而已)

我們知道這個問題的產生,是由於中文模式打字狀態未完成,所以前兩點的方式,我們就只是讓整個動作完整,讓這個狀態是輸入正常。

第三點的方式,是偶然發現,應該是對視窗的縮放,會讓整個一些變數或狀態進行重整。

結論

本篇主要討論並測試了在Windows作業系統上,使用Command Prompt打字時,游標可能突然消失的問題,並想辦法去解決它。

從這個例子來說,游標真的是一個非常重要的存在,並不是因為我們習慣它,而是它本質上就是一個人性化的設計,可以幫助我們與電腦的互動與溝通。

因此,當這類問題產生,若能夠透過除了重新開啟視窗或是其他複雜設定等等的解決方案之外,去解決它,自然是最好的。

3 則留言: