Pat*_*ity 9 vim comments newlines text-formatting
当我从注释掉的行开始新行时,Vim 会自动插入注释,因为我已经设置了formatoptions=tcroql
. 例如(光标为*
):
// this is a comment*
Run Code Online (Sandbox Code Playgroud)
在点击<Enter>
(插入模式)或o
(正常模式)后,我剩下:
// this is a comment
// *
Run Code Online (Sandbox Code Playgroud)
这个功能在写长的多行注释时非常方便,但通常我只想要单行注释。现在,如果我想结束评论系列,我有几个选择:
<Esc>S
<BS>
三下这两者都提供了三个按键,再加上<Enter>
这意味着一个新行需要四个按键,我认为这太多了。理想情况下,我想再打<Enter>
一次:
// this is a comment
*
Run Code Online (Sandbox Code Playgroud)
重要的是该解决方案也适用于不同的缩进级别,即
int main(void) {
// this is a comment*
}
Run Code Online (Sandbox Code Playgroud)
打 <Enter>
int main(void) {
// this is a comment
// *
}
Run Code Online (Sandbox Code Playgroud)
打 <Enter>
int main(void) {
// this is a comment
*
}
Run Code Online (Sandbox Code Playgroud)
我想我几年前在一些文本编辑器中看到过这个功能,但我不记得是哪一个了。有没有人知道可以在 Vim 中为我执行此操作的解决方案?关于如何推出我自己的解决方案的正确方向的指针也非常受欢迎。
尝试这个:
function! EnterEnter()
if getline(".") =~ '^\s*\(//\|#\|"\)\s*$'
return "\<C-u>"
else
return "\<CR>"
endif
endfunction
imap <expr> <CR> EnterEnter()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2453 次 |
最近记录: |