vimrc - 댓글을 차단하는 방법은 무엇입니까?

vimrc - 댓글을 차단하는 방법은 무엇입니까?

텍스트 파일이나 코드의 텍스트 줄에 주석을 달고 싶지 않습니다. 블록 댓글을 삽입하려고 합니다..vimrc문서. 예를 들어 다음과 같이 를 사용하여 한 줄 주석을 삽입합니다 ".

" remove spaces and tabs as well  at the end of line automatically while saving
autocmd BufWritePre * :%s/\s\+$//e

이제 나는 멋진 기능을 추가하기 위해 인터넷을 검색한 후 수년에 걸쳐 수집한 상대적으로 큰 설정/구성/플러그인 컬렉션을 갖게 되었습니다. 내 .vimrc 파일에 큰 주석 블록을 추가하고 싶습니다. 각 줄에 추가하는 "것은 옵션이지만 블록 주석 구문을 찾고 있습니다. /**/C 와 유사합니다.

//같은 같은 "
/* */같은_____?

Unix.SE, SO 및 인터넷 검색은 별로 도움이 되지 않았습니다.

답변1

내 솔루션은 코드를 function.

예를 들어 vimrc에서는 in-place에서 잘 작동합니다.트레독구문 강조 테스트에는 선행 문자가 없는 실제 블록 주석도 필요합니다. 내 vimrc에서는 heredoc을 설정한 후 바로 이와 같은 블록을 사용합니다.구문 범위.

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하지만 나에게는 효과가 없었습니다. 이 함수를 절대 호출하지 마세요!

답변2

나는 이것이 불가능하다고 생각한다. 당신이 할 수 있는 최선의 방법은 일부 텍스트를 선택한 다음 s/^/"/vim의 첫 번째 문자에 대해 검색/바꾸기를 수행하여 "각 줄의 시작 부분에 a를 삽입하는 것입니다.

vim 플러그인괴짜 해설자이 작업을 더 쉽게 만드는 데 도움이 될 수도 있습니다.

답변3

인생을 바꾸는 플러그인 tpope이라는 것이 있습니다.vim-commentary

https://github.com/tpope/vim-commentary

이 플러그인은 다음을 제공합니다.:

  • 이유
  • 올바르게 들여쓰기된 주석
  • 비어 있거나 불필요한 줄에 주석을 달지 마십시오.

용법:

  • Vundle(또는 내 생각에 Pathogen)을 통해 설치됩니다.
  • 텍스트를 강조 표시하고 누르면 다음 :과 같이 나타납니다.:<,'>
  • 여기에 설명을 입력 :<,'>Commentary하고 Enter를 누르세요.
  • 상태. 이제 새싹 작업이 끝났습니다.

답변4

tCommentVim 플러그인 사용 :http://www.vim.org/scripts/script.php?script_id=1173

예, Python을 지원합니다(2011년에 추가됨).

설명: TComment는 토글 스위치처럼 작동합니다. 즉, 주석 처리되지 않은 행이 포함된 텍스트를 주석 처리하고 이미 주석 처리된 텍스트(즉, 주석 처리되지 않은 행을 포함하지 않는 텍스트)의 주석 처리를 제거합니다.

파일 유형이 올바르게 정의된 경우 :TComment는 &commentstring 또는 &comments 값을 기반으로 사용할 주석 문자열을 결정합니다. 일부 파일 형식의 경우 주석 정의가 잘 정의되어 있습니다. |tcomment#DefineType()| 자신만의 정의를 추가할 수 있습니다.

TComment는 vim 스크립트의 ruby/python/perl 영역, php 코드의 HTML 또는 JavaScript 등과 같이 기본 파일 형식과 다른 파일 형식의 임베디드 코드를 처리하는 방법을 알고 있습니다.

연산자로서(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 

_를 가이드로 사용하는 보조 키 매핑 세트도 있습니다(터미널에서 선호).

관련 정보