python - 如何在 Vim 中为 Python 代码切换注释和取消注释

标签 python vim edit comments

我希望有一个命令来切换在 python 代码的一行/ block 中进行评论。

我在我的 .vimrc 文件中使用以下代码:

" (un-)commenting
" comment line, selection with Ctrl-N,Ctrl-N
au BufEnter *.py nnoremap ,c mn:s/^\(\s*\)#*\(.*\)/\1#\2/ge<CR>:noh<CR>`n
au BufEnter *.py inoremap ,c <C-O>mn<C-O>:s/^\(\s*\)#*\(.*\)/\1#\2/ge<CR><C-O>:noh<CR><C-O>`n
au BufEnter *.py vnoremap ,c mn:s/^\(\s*\)#*\(.*\)/\1#\2/ge<CR>:noh<CR>gv`n
"
" " uncomment line, selection with Ctrl-N,N
au BufEnter *.py nnoremap ,u mn:s/^\(\s*\)#\([^ ]\)/\1\2/ge<CR>:s/^#$//ge<CR>:noh<CR>`n
au BufEnter *.py inoremap ,u <C-O>mn<C-O>:s/^\(\s*\)#\([^ ]\)/\1\2/ge<CR><C-O>:s/^#$//ge<CR><C-O>:noh<CR><C-O>`n
au BufEnter *.py vnoremap ,u mn:s/^\(\s*\)#\([^ ]\)/\1\2/ge<CR>gv:s/#\n/\r/ge<CR>:noh<CR>gv`n

(改编自this StackOverflow entry)

但是,您是否有一种切换方式,也就是说,如果未评论则使用相同的快捷方式进行评论,如果已评论则使用相同的快捷方式?

最佳答案

还有 NERD Commenter来自 Scrooloose ,制造商 NERD Tree .好像more extensivevim-commentary .

我唯一使用的 map 是 <leader>c<space> (我的配置为 ,c),切换评论。

关于python - 如何在 Vim 中为 Python 代码切换注释和取消注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16749713/

相关文章:

python - Pandas read_excel 返回 PendingDeprecationWarning

Python 正则表达式和 CMD

vim - vim 分屏滚动速度非常慢

search - 使用 sighup 或 sigterm 将文件直接传递给 nano 失败

python - 在Python中定义列表的两种方式有什么区别?

python - 在单个循环中绘制带有子图的多个图形

vim - 重新映射 Ctrl-箭头键以在分割缓冲区之间切换

vim - Vim在Visual行中正常编辑无法正常工作?

ios - UILabel 渲染到 UIImage

java - 如何在java中修改xml标签的特定值?