如何在Vim中編寫一個動作腳本,它將選取所需的行,縮進一次,跳轉到開頭並插入一些代碼,然後跳到末尾插入一些代碼?Vim腳本縮進選擇的代碼,在選擇前後插入代碼
需要在開始和結束時插入的代碼是靜態的,並且不需要改變(至少在這一點上不是)。
如何在Vim中編寫一個動作腳本,它將選取所需的行,縮進一次,跳轉到開頭並插入一些代碼,然後跳到末尾插入一些代碼?Vim腳本縮進選擇的代碼,在選擇前後插入代碼
需要在開始和結束時插入的代碼是靜態的,並且不需要改變(至少在這一點上不是)。
比方說,開始的文本---
和結束文本是***
:execute "normal gv>i---\<Esc>`>a***"
如果你想將它記錄到一個宏,說緩衝區「是」,然後用視覺選擇開始,用途:
q一個開始錄製成a
>縮進
我插入模式
---開始文本
Esc鍵正常模式最後可視選擇的
`>端
一個在01之後插入 ***最終文本
Esc鍵正常模式
q結束錄音
以下關鍵序列步驟應該起作用。
a
宏x
是線(S)的數所需或者類似的東西。
HTH
這是一個老問題,但我想我反正貢獻。這就是你可以如何創建一段文字並將文字換行。不完全是你所要求的,但如果你編寫了一小段漂亮的小代碼,這個代碼就更簡潔了。從款型的任何地方:
> IP(縮進的段落)
KI(第一行前跳,並打開一個新的)
你想在一開始是什麼類型該段在這裏
< Esc鍵>}(跳轉到段落的最後一行之後)
類型你想的段落
<CR> < Esc鍵>
注意事項這裏到底有什麼,因爲暗示,這必須是一個「段落」(沒有空行)和如果段落後沒有新行,這將無法正常工作。爲了適應這種情況,請使用i而不是或,但在插入代碼的最低位之前,您將成爲空行。如果你想解釋這個,你需要在vimscript中寫一些東西。
這裏是所有我使用用於建立宏t
做一個開始/救援/結束(例如)塊的筆劃:
QT> ipkibegin < Esc鍵>} orescue <CR>端<CR> <Esc> q
確實有更好的方法,但這是保持在marco級別。
喜歡,阻止評論? – Rook 2011-12-13 21:47:24