Re: [vim ] 編寫shell script時,在vi裡直接執行某 …

看板Editor (編輯器(vim/emacs))作者 (眠月)時間13年前 (2011/08/05 02:17), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/1
※ 引述《ikari512 ( //StrategyBass)》之銘言: : 如果正在編寫shell script : 想測試某一行的執行結果 : 要如何不跳出vi直接執行? : 可能有點類似quickfix的感覺... : 謝謝! 我不知道快速的方法 @@ 不過我有慢速的方法 map <F4> :!<C-R>=getline('.')<CR><CR> 之後,只要到你想要執行的那行上面按下 <F4> 就可以了。 原理是這樣的: <C-R>=...<CR> 讓使用者輸入一個 expression, map 的實際內容由 expression 的結果決定。 getline('.') 就是這邊要輸入的 expression 啦, 當 getline 的參數只有一個 '.' 字串的時候, 就會去取現在游標所在的那一行。 <CR> 命令列輸入完成,執行 QQ -- To iterate is human, to recurse, divine. 遞迴只應天上有, 凡人該當用迴圈.   L. Peter Deutsch -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.107.45

08/05 14:14, , 1F
人正真好
08/05 14:14, 1F

08/08 19:57, , 2F
:exec "!".getline(".") 這也可以試試看~效果一樣XD
08/08 19:57, 2F

08/11 16:48, , 3F
超棒!感謝yoco和qwertmn!
08/11 16:48, 3F

08/11 16:48, , 4F
我有發現一個問題,碰到行內有 # 會有以下訊息:
08/11 16:48, 4F

08/11 16:49, , 5F
E194: No alternate file name to substitute for '#'
08/11 16:49, 5F

08/11 16:49, , 6F
不過如果用上一篇的推文就ok耶 :p
08/11 16:49, 6F
文章代碼(AID): #1EEk9E-x (Editor)
文章代碼(AID): #1EEk9E-x (Editor)