[vim ] 執行vim腳本中的部分區塊程式碼技巧

看板Editor作者 (放空)時間2年前 (2021/07/19 14:13), 2年前編輯推噓2(202)
留言4則, 3人參與, 2年前最新討論串1/1
作法: nnoremap <m-s> vip:yank z <cr>:execute substitute( @z , '\n".\{-1,}\ze\n' , '' , 'g')<cr> --> Alt + s 執行游標所在的段落程式碼 寫vim腳本的時候,要測試會用 :source %,執行整個文件腳本。 但我想要一次執行文件中個別段落的腳本。讓以下段落一,二分開執行。 echo "段落一" echo 123 echo 123+456 " echo "this is a comment" echo "Hello world" echo "段落二" for i in range(10) echo i endfor //----------------------------------- 實行步驟: 1選取整個段落的文字 vip 2複製整個段落內文到register z當中 : yank z <Enter> 3執行register中,複製的內文 :execute @z <Enter> 3(改進) 內文中,有時候會有 註解 , (引號") 開頭的行,必須另外移除 註解的行,否則 後面接續的腳本 也會被註解 使用substitute()把註解的內文移除,再度執行code。 :execute substitute( @z , '\n".\{-1,}\ze\n' , '' , 'g') <Enter> 總結, 把所有步驟一次完成,快捷鍵Alt+s nnoremap <m-s> vip:yank z <cr>:execute substitute( @z , '\n".\{-1,}\ze\n' , '' , 'g')<cr> 另外補充: 執行文件當前行腳本快捷鍵,這也很實用。 (快捷鍵Ctrl + s ) nnoremap <c-s> :execute getline(".")<cr> -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.85.141.196 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Editor/M.1626675214.A.437.html ※ 編輯: siuoly (219.85.141.196 臺灣), 07/19/2021 19:45:28

07/20 14:14, 2年前 , 1F
推分享,不過應該是快捷鍵Alt+s?
07/20 14:14, 1F
對,第一個例子是Alt+s,第二個補充例子是Ctrl+s快捷鍵。我改回來了。 其實還有還可以用 其他方法做分界,不一定要連續行區段。 比如 "------- 執行分界內的code "------- 還有C++還python也可以用類似方法分塊執行code。只是作法類似就沒寫了。 而且其實vscode就有這種功能了.... 唉 ※ 編輯: siuoly (219.85.141.196 臺灣), 07/23/2021 21:29:08 ※ 編輯: siuoly (219.85.141.196 臺灣), 07/23/2021 21:30:22

07/24 23:09, 2年前 , 2F
另推個11年前的解 https://gist.github.com/c9s/444528
07/24 23:09, 2F

07/24 23:09, 2年前 , 3F
我現在都還在用
07/24 23:09, 3F

07/28 09:25, 2年前 , 4F
謝謝分享 我估狗沒找到,原來有人做過了
07/28 09:25, 4F
文章代碼(AID): #1WzHWEGt (Editor)