藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 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就結束,所以得到字符串`^[[行;列'
經過處理得到`行;列'

-->
^_^ 收穫~~ 多謝!!!



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com