1
婉婷創建一個函數,它會增加我的Python記錄器在每個函數定義我來了個宏:使用方法:s的正則表達式和文件名在vim
nnoremap <leader>L :%s/\(\s*\)def \(\w\S*\)\(self.*\):/\0\r\1\tlogging.info(\'\2)\')/g<cr>
它的工作原理,但我需要eddited文件名所以我加入宏:in \=expand("%p")
。現在,宏看起來像這樣:
nnoremap <leader>L :%s/\(\s*\)def \(\w\S*\)\(self.*\):/\0\r\1\tlogging.info(\' \=expand("%p") \2)\')/g<cr>
不工作,因爲它打印整個=expand("%p")
爲文本,而不是一個文件名。
在我看來,通常在文本替換中,如果我不使用正則表達式,我可以使用擴展。
我會非常感謝正確的宏和解釋爲什麼它沒有工作。
它幾乎完美!它只對*有問題,帶有*和**參數的函數的錯誤: E871:(NFA正則表達式)不能有多重跟隨多! E61:嵌套* – pholat
您能否提供您想要更改的行的示例和結果? –
當然,它會是:'def __init __(self,* args,** kwargs):' – pholat