|
藍森林 http://www.lslnet.com 2006年6月26日 11:18
請教:如何知道當前光標所在行?
想寫一個history的文件,見: http://blog.www.lslnet.com/linux/article.php?articleId=62474&blogId=126
,可以通過stty size得到終端的行/列值,但是,我不知道如何知道當前光標所在的行!
BTW:足危求 :-{} |
火兄,要是運行以前運行過的命令,用命令前面的行號不是更直接一點? |
-->
tput可以定位光標,但是反過來就不行了.
C裡面倒是有個curses庫. |
通常的linux環境下,可以這樣
[code]echo -ne '\e[6n';read -sdR pos
pos=${pos#*[}
[/code]
結果是 "行號;列號"
接著我想烈火會處理吧^_^ |
-->
樓長就是厲害!
[img]http://www.lslnet.com/linux/#images/smilies/em03.gif[/img][img]http://www.lslnet.com/linux/#images/smilies/em03.gif[/img] |
[img]http://www.lslnet.com/linux/#images/smilies/icon_mrgreen.gif[/img][img]http://www.lslnet.com/linux/#images/smilies/em11.gif[/img] |
-->
OK,太謝謝了!!! ,不過,還是不太理解, 解釋一下,如何? 謝謝啦
~..~
(@) |
這個和終端類型有關,echo -ne '\e[6n'到終端就會使終端輸出`^[[行;列R'
read -s -dR表示不回顯,遇到字符R就結束,所以得到字符串`^[[行;列'
經過處理得到`行;列' |
-->
^_^ 收穫~~ 多謝!!! |
| |