1
我發現,改性一些的vimrc代碼我發現註釋出電流線/塊VIM:如何使用變量簡化此vim快捷方式?
"
" Commenting blocks
"
autocmd FileType c,cpp,java noremap <buffer> <Leader>c :s,^\(\s*\)[^// \t]\@=,\1// ,e<CR>:nohls<CR>zvj
autocmd FileType sh,python noremap <buffer> <Leader>c :s,^\(\s*\)[^# \t]\@=,\1# ,e<CR>:nohls<CR>zvj
autocmd FileType vim noremap <buffer> <Leader>c :s,^\(\s*\)[^\" \t]\@=,\1\" ,e<CR>:nohls<CR>zvj
autocmd Filetype c,cpp,java noremap <buffer> <Leader>u :s,^\(\s*\)// \s\@!,\1,e<CR>:nohls<CR>zvj
autocmd Filetype sh,python noremap <buffer> <Leader>u :s,^\(\s*\)# \s\@!,\1,e<CR>:nohls<CR>zvj
autocmd Filetype vim noremap <buffer> <Leader>u :s,^\(\s*\)\" \s\@!,\1,e<CR>:nohls<CR>zvj
原始代碼中使用的autocmd FileType
線設置一個變量來定義註釋的行。它看起來類似於這樣:
autocmd FileType c,cpp,java let b:cmtldr=//
autocmd FileType sh,python let b:cmtldr=#
autocmd FileType vim let b:cmtldr=\"
noremap <buffer> <Leader>c :s,^\(\s*\)[^&b:cmtldr \t]\@=,\1&b:cmtldr ,e<CR>:nohls<CR>zvj
但這並沒有工作對我來說,它只是在粘貼的文本字符串「& B:cmtldr」(我也嘗試過沒有&),所以我改變它到第一個代碼塊。但是,我的強迫症不會讓我失望。我已經完成了一些在這種情況下如何在vim中使用變量的方法,但是我沒有嘗試過。有什麼建議麼?
我自定義和學習vim在同一時間。所以搜索/複製/編寫這些東西,幫助我學習vim語言。尤其是這一點,大多數搜索結果都指向我的插件,但我希望腳本能夠學習。所以我一直在黑客攻擊並試圖強制它工作(如你所見:D)。我相信我最終會換用一個插件,但現在這是一個練習。 – Joel