설명 상태 전환

5324 단어 vim-commentary

묘사

여보세요,
여러 줄의 상태를 바꾸려고 할 때, 이것은 더 큰 문제입니다. 그 중 일부 줄은 이미 주석이 떨어졌습니다.
현재 동작은 모든 줄을 주석하는 것입니다. (선택한 줄에commentstring을 추가합니다.)
그러나 보통 선택 사항에서 평론 상태를 반전시켜야 한다.즉, 선택은 두 그룹의 조합으로 간주되며, 한 그룹은 주석을 삭제해야 하고, 다른 그룹(이미 주석)은 주석을 취소해야 한다.
이것은 다른 기능이 있을 수도 있고, 나는 현재의 행위와 이 행위를 결정하는 표지가 있는 것을 더욱 좋아한다.
감사합니다!

토론 #1

헤이,
좋은 생각 @junkmechanic, 나도 이런 기능이 아주 좋을 것 같아!사실 나는 오늘 프로젝트 저장소로 돌아가서 이러한 기능이 이미 존재하는지 확인한 후에 이 요청을 찾았다.(플러그인 함수를 다시 사용해서 이런 맵을 실현하려고 했지만 불행하게도 실패했다.)
간단한 C 예제(디버깅에 유용함):
//int x=0;
int x=42;
현재 단축키를 사용하여 이 두 줄을 전환하려면 'gccjgcc' 와 같은 동작을 실행할 것입니다.그러나 예를 들어 gC(또는 그 어떠한 접두사)가 운동의 모든 줄을 단독으로 전환한다면 간단하게'gCj'만 하면 같은 전환을 실현할 수 있다.두 개의 전체 코드 세그먼트를 전환해야 하는 경우 더 많은 keystroke를 저장할 수 있습니다.
나는vimscript 등에 대해 아무런 단서가 없지만 @tpope는 이 점을 빨리 실현할 수 있을 것 같다. 그리고 평론 플러그인은 더욱 좋을 것이다.
안녕하세요, 댓글은 제가 가장 유용한 VIM 플러그인 중의 하나입니다!

토론 #2

네, 이거 대박이에요!

토론 #셋

플러그인 질문 페이지에서 비슷한 토론을 발견했습니다.https://github.com/tomtom/tcomment_vim/issues/139#issuecomment-88592516
나는 스스로 그것을 이식해 보지 않았는데, 아마도 그것이 너에게 도움이 될 것이다.tcomment_vim 이런 기능은 정말 유용하다!

토론 #4

저는 지금nerdcommenter를 사용하고 있습니다. 여기command

토론 #5

는 확실히'전환'은 선의의 거짓말입니다.그것은 일방통행로만 전환할 수 있을 것 같다.시각 선택 또는 여러 줄을 전환하지 않습니다(python 예제).
d=(
    # "test1",
    "test2",
)
이제 다음과 같이 댓글을 바꾸고 싶습니다.
d=(
    "test1",
    # "test2",
)
그래서 저는 시각 라인 모드에 들어가서 두 개의 라인을 선택하고

토론 #6

를 눌렀습니다.결과:
d=(
    # # "test1",
    # "test2",
)
gc

I use nerdcommenter now, here's the command


한숨을 쉬다.nerdcommenter에는 또 하나의 toggle(

토론 #7

이 있는데'toggle'도 없다. (공평하게 보기 위해 수첩은 이 점을 설명한다.'선택한 줄의 주석 상태를 전환한다. 맨 위에 있는 선택한 줄에 주석을 달면 모든 줄이 주석을 달지 않고 반대로도 마찬가지이다.)그래서 실제로는'맨 위 줄에 기반한 전환'이다.반전 명령<leader>c<space>도 올바르게 전환할 수 있습니다.네, 효과가 있어요.변경 사항의 경우 공백이 무시됩니다: <leader>ci->'# text'.' text'

indeed "toggle" is a white lie. it seems it can toggle really only single lines.


잘못했어요.그것은 그것들이 먼저 주석을 달기만 하면 백만 줄을 바꿀 수 있다.

sigh. nerdcommenter also has toggle (c), that also doesnt "toggle"


흥미로운 것은 모든 평론 플러그인에'전환'의 정의가 있는데 당신의 정의와 일치하지 않는다는 것이다. 거의 이 단어가 당신이 견지하는 뜻이 아닌 것처럼!

토론 #8

sigh. nerdcommenter also has toggle (c), that also doesnt "toggle"


흥미로운 것은 모든 평론 플러그인에'전환'의 정의가 있는데 당신의 정의와 일치하지 않는다는 것이다. 거의 이 단어가 당신이 견지하는 뜻이 아닌 것처럼!
이제 문서를 읽지 않은 상태에서 '주석 전환' 과 '주석 반전' 사이의 차이점을 빨리 알려주십시오: D
그래, 나는 이것이 약간 철학적이라는 것을 인정한다...전환은 확실히 상태 사이를 전환한다는 것을 의미하지만 나머지 해석은 실현자에게 달려 있다.나에게 있어서 바이너리 전환은

토론 #9

선택한 모든 요소에 적용되는 것을 의미한다.지적한 바와 같이,commenter 플러그인 선택은 '맨 위 줄에 기반한 전환' 이라고 설명합니다.좋아.
하지만 블록 전체를 주석하고 싶다면comment 명령을 사용할 수 있습니다.
블록 전체에 대한 설명을 취소하려면 uncomment 명령을 사용할 수 있습니다.
그러나 나는 선택한 줄마다 '전환' 할 수 없다. 이것이 바로 내가 '맨 위 줄에 기반한 전환' 이 두 명령의 중복이라고 생각하는 이유이다. '반전' (nerdcommenter 용어 사용) 은 현재 다른 플러그인에서 완성할 수 없다.
이것은 나에게 있어서는 사람을 낙담하게 하지만, 아마도 전 세계의 천국일 것이다.나는 결코 내가 엘리트주의자라고 말하고 싶지 않다. 단지 낙담할 뿐이다. D not 만약 내가 이 코드를 가지고 있다면
# Public API for creating a widget
def create_widget
    # for now, this is just a direct call to .new, but this will change in the future
    Widget.new
end
나는

토론 #10

로 그것을 주석한 후에 두 번째 gcap로 다시 주석을 취소할 수 있다.이것이 바로 내가 말한 전환의 뜻이다.나는 이것이 모든 사리에 밝은 사람이 말하는 '전환' 이라고 생각한다. 예를 들어 '줄마다 전환' 이라는 한정어를 붙이지 않으면.만약 내가'불을 켜라'고 말한다면, 너는 어떤 불이 켜질 때 그것을 끄든지, 아니면 모든 불이 꺼질 때 그것들을 모두 켜라.머리가 정상인 사람은 스위치를 켤 줄 모른다.
비헤이비어를 반전하려면 맵을 작성합니다.
xnoremap <Leader>c :g/./Commentary<CR>
gcap 모든 비공식 회선에서 한 명씩 호출하도록 명령한다:g/./.
나는 지금 다른 표준 지도를 추가하고 싶지 않다.:Commentary 보충해 드릴게요. 이런 방식으로 기존의 시각 모드 스티커를 바꿀 수 있을 거예요. 다른 스티커를 만들 수만 있다면

토론 #11

.이런 반전 행위는 주로 시각 모델에서 의미가 있기 때문에 나는 이것이 좋은 절충 방안인 것 같다고 생각한다.<Plug>Commentary 이 물건은 아주 쓰기 좋아요. 감사합니다.현재의 시각적 행위를 바꾸는 것은 너의 결정이다.나는 문서에서 이 빠르고 더러운 '반전' 맵에 흔히 볼 수 있는 문제를 추가하고, 일부 사람들에게github에서 이미 해결된 문제를 보는 여정을 절약하는 것이 좋은 일이라고 생각한다.동의합니다.나는 반드시 이 점을 해야만 (이미 끝난 모든 문제를 읽어야만) 이것을 찾을 수 있다.
나는 이런 시각 다선 전환의 결점을 찾아낼 수 없다.이것은 내가 자연히 생각할 수 있는 것이다.

토론 #12

때때로 나는 코드를 주석하고 싶은데 그 안에 주석이 있다.

좋은 웹페이지 즐겨찾기