Vim:双输入后删除注释字符

Ent*_*Zha 8 vim

在Vim中,我喜欢这个功能,允许您在启动注释块后自动插入注释.你怎么做才能在换行符之后得到一个评论字符,但是在获得第二个换行符时,评论被删除,你开始一个没有评论字符的换行符.如果您正在处理注释块并且之后不想再发表评论(在我的情况下我也想将相同的内容应用于markdown列表,将*/ - 视为注释字符),这将非常有用.

例如

// typing a comment
// (cursor here after hitting enter once)
Run Code Online (Sandbox Code Playgroud)

// typing a comment

(cursor here after hitting enter twice)
Run Code Online (Sandbox Code Playgroud)

rom*_*inl 4

此映射会检查当前行是否仅包含注释前导符,然后再决定是否包含<C-u><CR>

inoremap <expr> <CR> getline(".") =~ '^\s*\(\*\|//\|#\|"\)\s*$' ? "\<C-u>" : "\<CR>"
Run Code Online (Sandbox Code Playgroud)