시각적 선택의 다른 쪽 끝 조정


14

나는 이것이 선택의 현재 터미널을 "전환"하는 능력을 제공함으로써 vim의 시각적 선택 기능이 마우스의 효율성을 능가 할 수 있다고 생각합니다.

일러스트합니다 ( |빔은 그것이에있는 문자의 왼쪽 측면에서 작동이)와 (커서를 대표합니다 [text]선택한 텍스트를 나타냅니다, 단지 그들이 제로 폭을 차지 척. 사이의 공간의 배경 [ ]회색 외모와 성격을 즉시 다음 |은 녹색입니다) :

로 시작

Some |text here
Some second line of text
Some more text in the third line 

v2j;를 누르십시오 . 노트 m문자 선택 (이 이제 커서에 의해 강조되는)에 포함되어 있습니다 :

Some [text here
Some second line of text
Some |m]ore text in the third line 

보도 자료 10l:

Some [text here
Some second line of text
Some more text |i]n the third line 

이 시점 에서 다른 위치에서 선택 을 시작 하기로 결정할 수 있습니다. 예를 들어, "Some"첫 줄에 포함.

일반적인 편집기 / IDE에서 선택의 여지가 없습니다. 아마도 손을 마우스로 움직여야 할 것입니다. 일반적인 방법을 사용하여 텍스트를 선택하는 것은 너무 고통 스럽습니다. 단어를 통한 단어 사용 Ctrl및 페이지 업 / 다운은 다소 도움이되지만 어떤 일이 있더라도 커밋해야합니다. 선택 을 시작하기 전에 선택의 종료 지점 중 하나에 .

그래서 Vim에서 나는 현재 상태를 가져 와서 미스터리 바인딩을 쳐서 이것을 가져 오는 능력에 대해 싶습니다.

Some [|text here
Some second line of text
Some more text i]n the third line 

그런 다음 그냥 누르 ^거나 <Home>(이 경우 공백이없는 경우 모두 동일하게 할 수 있음)

[|Some text here
Some second line of text
Some more text i]n the third line 

마음을 다시 바꾸고 다른 쪽 끝을 조정하고 싶다고 말하십시오!

[Some text here
Some second line of text
Some more text |i]n the third line 

조회수 e:

[Some text here
Some second line of text
Some more text i|n] the third line 

아름다운! 이 선택을 통해 다음에 원하는 것을 할 수 있습니다.

이 미스터리 바인딩은 무엇입니까?

또한 가장 잠재적으로 효율적인 일부 이동 명령이 다른 행의 키에 대한 대체 바인딩 세트 일 수 있으며, 시각적 모드 인 경우 항상 선택의 다른 쪽 끝을 이동합니다. 따라서 시각적 모드 선택 작업에서 선택의 다른 쪽 끝의 이동 키가 "yuio"로 설정되어 있으면 (필요하기 때문에 좋은 선택은 y아니지만 나와 함께 견딜 수 있음)

v2j10l5ye

오히려

v2j10lX^Xe

이봐 요, 그게 그다지 개선 된 것은 아닙니다. 그 X 기능을 gimme. :)

내가 찾고있는 완벽한 답변 :

  • 이봐, 찾아 봐 :help some_awesome_vim_feature_that_just_does_this
  • 이봐, 봐 https://github.com/awesome_user/vim_plugin_that_does_this
  • 이봐, 봐 :help vimscript_functions_that_allow_mutation_of_visual_selections

나는 Vim에 대한이 매혹에 익숙하지 않아서 Vimscript와 관련하여 매우 녹색이며, 솔직히 다른 언어 를 배우려고 노력 하지 않기를 바랍니다. 플러그인.


괜찮아. 이제 나는 여기에서 무슨 일이 일어나고 있는지 알지 못합니다 (질문이 SO에서 SU로 신비스럽게 닌자 이동했습니다). 프로그래머가 아닌 사람과 관련하여 프로그래머 만 텍스트 편집에 대해 많은 관심을 가질 수 있습니다. 물론, vim의 모든 사용자는 이것이 어떻게 작동하는지 배우는 것이 도움이 될 수 있습니다. 나는 플러그인 개발자가있는 곳에서 더 많은 시선을 얻고 더 나은 답변을 얻을 수 있다고 생각합니다.
Steven Lu

당신은 때때로 읽 :help습니까? :help visual-mode를 포함하여 비주얼 모드에 필요한 모든 정보가 있습니다 o.
romainl

나는 때때로 그것을 읽지 만 아마도 내 생각을 쓰는 데 거의 같은 시간이 걸렸을 것입니다. 도움말 문자열이 무엇인지 추측하는 것보다 더 확실한 작업입니다.
Steven Lu

학습은 추측보다 낫습니다. Heptite의 대답은 가지를 가르쳐 주었습니다.
romainl

그래, 나는 배울 것이 많지만 O자본 O가 무엇을했는지 이미 잊어 버렸지 만 기억할 것이다 o. 두 번째로 언급하는 것은 아마도 :help더 많이 사용하는 것입니다. 그리고 시작했을 때보 다 더 많이 사용하고 있습니다.
Steven Lu

답변:


49

실제로 원하는 것을 이해하고 있는지 확실하지 않지만 아마도 다음과 같습니다.

:help v_o

기본적으로 텍스트가 시각적으로 강조 표시되어있는 동안을 누르면 텍스트 o를 수정하지 않고 시각적 영역의 다른 "끝"으로 이동합니다.


2
이런 쓰레기! 그것은 내가 기대했던 것보다 훨씬 낫습니다. 이미 단일 키에 바인딩되어 있으므로 X위의 내용은 실제로o
Steven Lu

1
마우스 오른쪽 클릭 마우스 (터미널을 Vim으로 전달하도록 구성한 경우) 를 사용하면 현재 시각적 선택의 가장 가까운 끝을 커서가있는 위치에 지능적으로 조정할 수 있습니다 . 이것은 선택 영역의 반대쪽 끝의 위치를 ​​버리지 않기 때문에 선택 영역을 조정하는 데 훨씬 덜 고통스러운 방법입니다.
Steven Lu

@StevenLu : 어쨌든 버리지 않습니다. o다시 누르고 다시 돌아갈 수 있습니다 .
Heptite

@StevenLu이 아마 ... 또한, upvotes의 톤을 가지고, 문제를 해결 내가 처음 구글 결과에 필요한 정확히 무슨 일이, 누군가에 의해 실제로 제출 된 해답뿐만 아니라 주어진, 허용 대답해야한다
Kingdon

그렇다. 너무 빨리 게시되어 아직 그 당시에는 할 수 없었기 때문에 나는 그것을 받아들이지 않았다고 생각한다. 그리고 나는 그 Vim 기능을 거의 5 년 동안 행복하게 사용하고있다. 열쇠는 기억하기 매우 쉽습니다.
Steven Lu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.