[英]Function to Comment Multiple Lines Vimrc
所以我目前喜歡這種在vim中注釋多行的解決方案:
CTRL-v
(進入可視塊模式) Shift-i
(進入插入模式) ESC ESC
(兩次按ESC ESC
鍵可使結果顯示更快) 但是,我需要一些幫助將這些步驟映射到我的vimrc文件中。 我目前使用以下注釋行:
vnoremap ;/ <C-v>0I// <ESC>
對於那些想要解釋命令功能的人:
您基本上是在視覺模式下鍵入;/
來使用它(視覺,視覺線條和視覺塊模式都可以使用,因為<Cv>
部分會迫使您進入視覺塊模式,這是正確的)。
0I
部分將使您在行的開頭進入插入模式。
// <ESC>
部分將插入注釋字符//
並使您回到“普通”模式。
我需要幫助的部分是取消注釋。 如何在vimrc中編寫一個函數,基本上可以讓我切換//
字符?
理想情況下,解決方案將涉及以下內容:
;/
//
字符,則將其插入 //
字符,它將刪除它們 將其放在您的.vimrc
文件中:
vnoremap <silent> ;/ :call ToggleComment()<cr>
function! ToggleComment()
if matchstr(getline(line(".")),'^\s*\/\/.*$') == ''
:execute "s:^://:"
else
:execute "s:^\s*//::"
endif
endfunction
檢查評論插件。 它允許所有語言具有一種綁定。
使用python腳本非常容易
function! Comment()
python3 << EOF
import vim
r = vim.current.range
line = vim.current.buffer[r.start]
if line.startswith('// '):
vim.current.buffer[r.start] = vim.current.buffer[r.start].replace('// ', '')
else:
vim.current.buffer[r.start] = '// ' + vim.current.buffer[r.start]
EOF
endfunction
" ctrl slash
noremap <C-_> :call Comment()<CR>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.