Please use a meaningful subject to ease filtering and avoid polluting other humans mailboxes (was: Python)
[email protected] Wed, 31 Dec 2025 10:05:32 +0000
| Newsgroups | gmane.comp.python.general |
|---|---|
| Message-ID | <[email protected]> |
Thanks.
Am 31.12.2025 04:16 schrieb Lulika Vith via Python-list:
> Thank you for teaching me this practical Vim trick. In the past, I
> usually used macros to solve similar problems.
>
> However, since I like using the mouse, I just came up with an idea:
> I wrote a function and put it into my vimrc:
>
> function! s:ToggleBlockCommentVisual() range
> let l:start_line = line("'<")
> let l:end_line = line("'>")
>
> if l:start_line > l:end_line
> let l:tmp = l:start_line
> let l:start_line = l:end_line
> let l:end_line = l:tmp
> endif
>
> if &filetype ==# 'python'
> let l:begin = '"""'
> let l:end = '"""'
> elseif &filetype ==# 'go'
> let l:begin = '/*'
> let l:end = '*/'
> else
> echo "The current file type does not support block comments:" .
> &filetype
> return
> endif
>
> let l:prev_line = getline(l:start_line - 1)
> let l:next_line = getline(l:end_line + 1)
>
> let l:prev_trim = trim(l:prev_line)
> let l:next_trim = trim(l:next_line)
>
> if l:prev_trim ==# l:begin && l:next_trim ==# l:end
> call deletebufline(bufnr('%'), l:end_line + 1)
> call deletebufline(bufnr('%'), l:start_line - 1)
> else
> call append(l:end_line, l:end)
> call append(l:start_line - 1, l:begin)
> endif
> endfunction
>
> xnoremap <silent> # :<C-u>call <SID>ToggleBlockCommentVisual()<CR>
>
>
> Of course, abusing """ code """ is a bad habit of mine—you can change
> it to another approach if you like.
>
> After selecting a block of code with the mouse (of course, you need to
> enable the mouse with set mouse=a), press Shift + 3 (the # key) to
> comment that block. You can also use the same shortcut to uncomment a
> block that has already been commented.
--
https://mail.python.org/mailman3//lists/python-list.python.org