댓글을 지지합니다. 뒤에 빈칸이 없습니다...
4492 단어 vim-commentary
묘사
헤이, 방금 reddit.com에 나왔어.어쨌든 댓글은 댓글로 바뀌지 않고 댓글 사이에 빈칸이 없다.예를 들면 다음과 같습니다.
<!--This is a comment-->
html 파일에서 정확하게 전환할 수 없습니다.응용 프로그램에서 주석을 주입하거나 Vim을 사용하지 않은 다른 사용자가 주석을 추가했기 때문일 수 있습니다.
나는 패치here
토론 #1
를 만들었다. 이 문제는 이미 여러 차례 제기되었다.간단하게 옳고 그름.달라지다
2015년 2월 12일 목요일 12:11 크리스마스[email protected]쓰기:
Hi, this just came up at reddit.com http://www.reddit.com/r/vim/comments/2vj4l9/vimcommentary_on_existing_external_comments/ In summary, commentary doesn't toggle comments, that don't have a space in between. E.g. this:
won't be properly toggled in a html file.
This could happen because of an application injecting comments or some other user adding comments (who is not using Vim). I made a patch here https://gist.github.com/chrisbra/1832a5eece434ee1616c#file-gistfile1-txt
— Reply to this email directly or view it on GitHub https://github.com/tpope/vim-commentary/issues/40.
토론 #2
보아라, 나는 심지어 패치까지 했기 때문에, 나는 그것이 적어도 긴 답안을 얻어야 한다고 생각한다...토론 #셋
질문 #3, #32, #33토론 #4
감사합니다.그런데 이런 상황을 어떻게 처리해야 하나요?나는 아직 이 문제들에서 이 문제를 해결하는 방법토론 #5
33 확실히 해결 방법이 있다.토론 #6
이 혼합 스타일에 적용되지 않는다는 평론을 보지 못했다. 이것이 바로 이 문제의 전체 내용이다.토론 #7
하지만 나는 이 문제를 끝냈다.아무도 흥미를 느끼지 않는 문제를 토론하는 것은 무의미하다.토론 #8
포크로 찍어서 고쳤어요.토론 #9
당신의 태도에 대해 같은 일을 할 수 있었으면 좋겠어요. 눈살을 찌푸리고토론 #10
귀에 거슬리기 싫으니까 혹시 모르니까 사과할게요.나는 단지 잘못을 고치고 싶었을 뿐이다.토론 #11
@chrisbra토론 #12
@chrisbra는 일정 시간마다 발생하는 문제에 동의합니다. 다른 것은 #3, #32를 보십시오.패치로 여러 가지 지점을 유지 관리할 수 있습니다.https://github.com/jceb/vim-commentary/tree/support_for_legacy_comments토론 #13
그래서 나는 다른 곳에서 이것이 오류를 줄일 수 있는 문제를 토론했다.내가 만족할 수 있는 해결 방안 중 하나는 전체적인 선택을 대하는 것이다.즉, 다음 항목에 대한 주석을 취소하려고 시도할 경우를 가정합니다.#one
# two
나는 이전에 두 개의 빈칸two
을 보존하고 모든 줄에 빈칸이 있는 상황에서 기존의 행위를 파괴하지 않는 해결 방안을 받아들일 것이다.토론 #14
따라서 주석 범위 내에 한 줄을 포함하고 뒤에 빈칸이 없으면 모든 줄의commentchar(빈칸 없음)만 삭제합니다.
나는 본래 그렇지 않다고 생각했는데, 항상 공간을 옮겼다. 한 공간이 없어지지 않는 한...
나는 어떤 방식으로든 헝을 깁을 수 있다.토론 #15
네, 항상 빈칸을 삭제하면 일치하지 않는 축진을 초래할 수 있습니다. 이것은 항상 제 저항원입니다.토론 #16
여기서 우리go토론 #17
는 이에 대해 회전할 것이다.만약 내가 아직 완성하지 못했다면 다음 주에 자유롭게 핑을 하세요.토론 #18
나는 방금 이 선을 만났는데 낡은 딱지를 파는 위험을 무릅쓰고 십여 년 동안 사용한 해결 방안을 공유하고 싶다.내가 해야 할 일은 이 플러그인으로 주석한 줄과 일반적인 주석을 구분하는 것이다.예를 들어, C++에서, 내 아래의 조정은 //?
의 선도적인 주석 코드가 아닌 //
를 사용합니다.따라서, 나는 이 기능의 주요 용도이기 때문에, 일반적인 주석에 영향을 주지 않고, 그 중의 모든 디버깅 인쇄를 취소하고 주석을 취소할 수 있다.그래서 저는 공백 채우기 처리에 더욱 적극적일 수 있습니다.다음은 내가 사용하는 함수입니다.function! Comment() range
for l:l in range(a:firstline, a:lastline)
call setline(l:l, b:cmt_head.getline(l:l))
endfor
endfunction
command! -range Cmt <line1>,<line2>call Comment()
function! Uncomment() range
let l:cmt_len = len(b:cmt_head)
for l:l in range(a:firstline, a:lastline)
let l:line = getline(l:l)
if (l:line[0 : l:cmt_len-1] == b:cmt_head)
call setline(l:l, l:line[l:cmt_len :])
endif
endfor
endfunction
command! -range UnCmt <line1>,<line2>call Uncomment()
C/C++에서 이러한 작업을 수행하려면 다음 코드 행after/ftplugin/c.vim
을 추가해야 합니다.let b:cmt_head = "//? "
(후행 공백은 선택할 수 있지만 마음에 들어요.)다른 언어도 마찬가지다.토론 #19
ping토론 #20
ping토론 #21
저는 사실 주석 코드와 문서를 구분하기 위해 선행 빈칸을 생략하는 것을 좋아하기 시작했습니다.그렇게 지도 모른다, 아마, 아마...토론 #22
잘 됐어요, 고마워요!토론 #23
너무 좋아요. 감사합니다.스마일리:
Reference
이 문제에 관하여(댓글을 지지합니다. 뒤에 빈칸이 없습니다...), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://github.com/tpope/vim-commentary/issues/40
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#one
# two
토론 #15
네, 항상 빈칸을 삭제하면 일치하지 않는 축진을 초래할 수 있습니다. 이것은 항상 제 저항원입니다.토론 #16
여기서 우리go토론 #17
는 이에 대해 회전할 것이다.만약 내가 아직 완성하지 못했다면 다음 주에 자유롭게 핑을 하세요.토론 #18
나는 방금 이 선을 만났는데 낡은 딱지를 파는 위험을 무릅쓰고 십여 년 동안 사용한 해결 방안을 공유하고 싶다.내가 해야 할 일은 이 플러그인으로 주석한 줄과 일반적인 주석을 구분하는 것이다.예를 들어, C++에서, 내 아래의 조정은//?
의 선도적인 주석 코드가 아닌 //
를 사용합니다.따라서, 나는 이 기능의 주요 용도이기 때문에, 일반적인 주석에 영향을 주지 않고, 그 중의 모든 디버깅 인쇄를 취소하고 주석을 취소할 수 있다.그래서 저는 공백 채우기 처리에 더욱 적극적일 수 있습니다.다음은 내가 사용하는 함수입니다.function! Comment() range
for l:l in range(a:firstline, a:lastline)
call setline(l:l, b:cmt_head.getline(l:l))
endfor
endfunction
command! -range Cmt <line1>,<line2>call Comment()
function! Uncomment() range
let l:cmt_len = len(b:cmt_head)
for l:l in range(a:firstline, a:lastline)
let l:line = getline(l:l)
if (l:line[0 : l:cmt_len-1] == b:cmt_head)
call setline(l:l, l:line[l:cmt_len :])
endif
endfor
endfunction
command! -range UnCmt <line1>,<line2>call Uncomment()
C/C++에서 이러한 작업을 수행하려면 다음 코드 행after/ftplugin/c.vim
을 추가해야 합니다.let b:cmt_head = "//? "
(후행 공백은 선택할 수 있지만 마음에 들어요.)다른 언어도 마찬가지다.토론 #19
ping토론 #20
ping토론 #21
저는 사실 주석 코드와 문서를 구분하기 위해 선행 빈칸을 생략하는 것을 좋아하기 시작했습니다.그렇게 지도 모른다, 아마, 아마...토론 #22
잘 됐어요, 고마워요!토론 #23
너무 좋아요. 감사합니다.스마일리:Reference
이 문제에 관하여(댓글을 지지합니다. 뒤에 빈칸이 없습니다...), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/tpope/vim-commentary/issues/40텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)