我有一個簡單的目標:映射Ctrl-C,一個命令,我不認爲我曾用它來殺死vim,在一行的開頭自動插入正確的字符(s)根據文件的文件類型將該行註釋掉。將vim變量插入到文本中用於評論快捷鍵
我想我可以使用自動命令識別文件類型,並在打開文件時將vim變量設置爲正確的註釋字符。所以,我想是這樣的:
" Control C, which is NEVER used. Now comments out lines!
autocmd BufNewFile,BufRead *.c let CommentChar = "//"
autocmd BufNewFile,BufRead *.py let CommentChar = "#"
map <C-C> mwI:echo &CommentChar<Esc>`wll
那地圖標誌着我目前的位置,去插入模式行的開頭,相呼應,在這一點上註釋字符(S),進入命令行模式,可以追溯到到設置的標記,並右移兩個字符以彌補插入的註釋字符(假設C風格註釋)。
斜體部分是我遇到麻煩的部分;它只是作爲一個場所持有人來代表我想要做的事情。你能幫我弄清楚如何做到這一點?如果您使用strlen(CommentChar)將正確的空格數量向右移動,則可獲得獎勵積分! vim-master的額外獎勵點數,包括如何在視覺模式下進行塊式評論!
我對vim腳本還是比較新的;我的.vimrc只有98行,所以如果你能幫我解釋你提供的任何答案!謝謝。
'='寄存器真棒:) – Benoit 2010-10-06 06:21:04
感謝您解釋這一切。我曾閱讀過關於i_CTRL-R但並未理解的內容。感謝你,我已經得到了我的小腳本來工作(但將wll更改爲'w:exe「normal」.strlen(CommentChar)。「l」以使光標回到正確的位置)。同樣感謝你,我放棄了我的腳本,現在正在使用NERDCommenter!但至少我在這個過程中瞭解了更多關於vim的知識。 –
physicsmichael
2010-10-06 15:52:14