gnu libreadline 為行編輯提供了統一的介面和方便的編輯能力,在使用中感覺非常爽。但是不是所以的應用程式都使用了readline庫來讀取使用者輸入,大部分c程式只是簡單的呼叫fgets。這樣的程式在輸入的時候非常痛苦。比如erl,為了移植性沒用到readline,而是自己實現了類似readline那樣的基本的行編輯,但是非常難用,例如不支援ctrl a, ctrl e等等。
這時候rlwrap來救助了。
rlwrap runs the specified command, intercepting user input in order to provide readline's line editing, persistent history and completion.
簡單的說 這個程式就是讓不支援readline的程式也可以享用這個庫的好處。
在ubuntu下只要簡單的 apt-get -y install rlwrap 就安裝好了
使用也很簡單:
rlwrap cmd
比如 rlwrap erl 這樣就可以在erl shell裡面以熟悉的emacs按鍵才快速輸入,舒服哦。
在linux shell下還可以在.profile裡面加入別名, 比如
alias erl='rlwrap erl'
那麼就不露神色的修改了erl的行為。
安裝rlwrap方便sqlplus使用
這是乙個為方便使用sql plus的技巧,為了能像在dos命令視窗中那樣執行sql plus,使用向上 向下鍵來跳回之前已經執行過的sql語句。需要在linux上安裝rlwrap包,這個程式本身是個shell,可以執行任何你提供給它的命令包括引數,並新增命令歷史瀏覽功能 上傳到linux伺服器,解壓...
棧 行編輯程式
如果遇到 表示後退一格,即前一字元無效,如果遇到 表示前一單詞無效,即退出到空格或所在行頭為止。採用棧實現。輸入 whli ilr e s s 輸入包含若干行,由各種字元構成。輸出 while s 利用描述規則輸出最後的文字內容。seqstack.h ifndef seqstack h define...
棧 行編輯程式
include include include include typedef char datatype include seqstack.h void lineedit void main void lineedit 行編輯程式 ch getchar 讀入下乙個字元 while stackemp...