{}
{ list; }
Размещение списка команд между фигурными скобками заставляет список выполняться в текущем контексте оболочки. Никакая подоболочка не создается. Точка с запятой (или новая строка) после списка требуется.
В дополнение к созданию подоболочки существует тонкое различие между этими двумя конструкциями из-за исторических причин. Фигурные скобки являются зарезервированными словами, таким образом, они должны быть разделены от списка пробелами или другими метасимволами оболочки. Круглые скобки являются операторами и распознаны как отдельные маркеры оболочкой, даже если они не разделяются от списка пробелом.
//источник
Я не думаю, что это возможно. Лучшим, который Вы сможете сделать, является блок, выбирают некоторый текст и делают поиск/замену на первом символе s/^/"/
в энергии для вставки a "
к началу каждой строки.
Комментатор КОМПЬЮТЕРНОГО ФАНАТА плагина энергии мог бы помочь сделать это легче также.
Один прием:
Все Ваши выбранные строки теперь предварительно ожидаются строкой, которую Вы ввели в режиме вставки.
Используйте tComment
плагин для Vim: http://www.vim.org/scripts/script.php?script_id=1173
Да, это действительно поддерживает Python (добавленный в 2011).
описание: TComment работает как переключатель, т.е. он прокомментирует текст, который содержит непрокомментированные строки, и он не прокомментирует, уже прокомментировал текст (т.е. текст, который не содержит непрокомментированных строк).
Если тип файла правильно определяется: TComment выяснит который строка комментария использовать на основе значений &commentstring или &comments. Для некоторых типов файлов явно определяется определение комментария. Вы можете |tcomment#DefineType () | для добавления собственных определений.
TComment знает, как иметь дело со встроенным кодом другого типа файла, чем основной тип файла, например, ruby/python/perl регионы в сценариях энергии, HTML или JavaScript в коде php и т.д.
Как оператор (префикс может быть настроен через g:tcommentMapLeaderOp1 и g:tcommentMapLeaderOp2):
gc{motion} :: Toggle comments (for small comments within one line the &filetype_inline style will be used, if defined) gcc :: Toggle comment for the current line gC{motion} :: Comment region gCc :: Comment the current line
Карты первичного ключа:
<c-_><c-_> :: :TComment <c-_><space> :: :TComment <QUERY COMMENT-BEGIN ?COMMENT-END> <c-_>b :: :TCommentBlock <c-_>a :: :TCommentAs <QUERY COMMENT TYPE> <c-_>n :: :TCommentAs &filetype <QUERY COUNT> <c-_>s :: :TCommentAs &filetype_<QUERY COMMENT SUBTYPE> <c-_>i :: :TCommentInline <c-_>r :: :TCommentRight <c-_>p :: Comment the current inner paragraph
Существует также вторичный набор контурных карт с _ как лидер (более предпочтителен на терминалах).
Мое решение - обернуть код внутри функции
.
Это хорошо работает в vimrc, например, для in-place heredoc тестов подсветки синтаксиса, которые также требуют настоящих блочных комментариев без ведущих символов. В моем vimrc я использую такой блок непосредственно после установки heredoc SyntaxRanges.
function! _blockcomment()
" free text comment
You can write free text here,
but vim will try to highlight it as vimscript!
" markdown heredoc
test <<MD
### Nevertheless ###
* for testing my fuzzy SyntaxRange heredocs
* having no leading chars is essential
* and the blockcomment function does the trick
MD
endfunction
Это решение похоже на трюк @Stéphane if 0
, который у меня не сработал. Просто убедитесь, что никогда не вызываете эту функцию!