[unix] 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 및 인터넷 검색은별로 도움이되지 않았습니다.



답변

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

vim 플러그인 NERD Commenter 는이 작업을보다 쉽게 ​​해줄 수 있습니다.


답변

내 해결책은 코드를 안에 넣는 것 function입니다.

이것은 vimrc에서 잘 작동합니다. 예를 들어, 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트릭 과 비슷하지만 저에게는 효과가 없습니다. 이 함수를 절대 호출하지 마십시오!


답변

하나의 트릭 :

  • 주석을 달기 위해 첫 번째 줄의 첫 번째 문자에 커서를 놓습니다.
  • 비주얼 블록 모드로 들어가려면 Ctrl-V를 누르십시오
  • 주석을 달 마지막 줄까지 커서를 내립니다.
  • 조건부 삽입 모드로 들어가려면 I (shift + i)를 누릅니다.
  • ” ”를 눌러 주석 (따옴표와 공백)
  • 삽입 모드를 종료하려면 Esc 키를 누르십시오

선택한 모든 줄 앞에 삽입 모드에서 입력 한 문자열이 붙습니다.


답변

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

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

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

파일 유형이 올바르게 정의되면 : TComment는 & commentstring 또는 & comments 값을 기반으로 사용할 주석 문자열을 알아냅니다. 일부 파일 유형의 경우 주석 정의가 명시 적으로 정의됩니다. | tcomment # DefineType () | 자신 만의 정의를 추가하십시오.

TComment는 기본 파일 형식과 다른 파일 형식의 임베드 된 코드 (예 : vim 스크립트의 루비 / 파이썬 / 펄 영역, 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

_를 리더로 사용하는 2 차 키 맵 세트도 있습니다 (터미널에서 더 바람직 함).


답변

에 의해 플러그인이 생활 변화가있다 tpope라고는vim-commentary

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

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

  • 제정신
  • 제대로 들여 쓰기 된 주석
  • 비어 있거나 불필요한 행을 주석 처리하지 않습니다

사용법 :

  • Vundle을 통해 설치하십시오 (또는 병원체라고 생각합니다).
  • 텍스트를 눌러 강조 표시 :로 표시됩니다:<,'>
  • 여기에 Commentary :<,'>Commentary를 입력하고 Enter를 누르십시오.
  • 봄. 너의 새싹.

답변