vim에서 커서 동작을 변경할 수 있습니까?


11

몇 년 동안 보조 편집기로 vim을 사용해 왔지만 여러 가지 이유로 기본 편집기를 사용할 수있는 경우에도 더 많이 사용하고 있습니다. 항상 나를 괴롭 히고 vim더 많이 사용하지 못하게 하는 한 가지 문제 는 커서 배치를 처리하는 방식입니다. 커서는 할 수 있습니다 보다는 문자 사이에 1984 년부터 만든 편집기의 경우 것 같은 캐릭터.

이것이 왜 문제인지 한 가지 예를 들어, 줄의 마지막 단어를 삭제하려면 줄 $끝으로 이동 한 다음 db뒤로 삭제하려고합니다. 때문에 캐릭터가 삭제할이 잎 $하지 않았다 정말 줄의 끝으로 이동, 그것은 갔다 라인의 마지막 문자로 하고 db있었다 것만을 삭제 하기 전에 현재의 문자. 문제는 내가 추가 캐릭터를 입력해야한다는 것이 아니라, 단순해야 할 일을하는 데 관련된 여분의 생각입니다. 실제로 달성하려는 것에서주의를 산만하게합니다.

더 현대적인 아이디어 커서 배치가 모든면에서 우수하다고 생각되며, vim그 접근법을 사용 하도록 전환하고 싶습니다 . 나는 일부 하드 코어 vim팬들이 그것에 대한 나의 견해에 동의하지 않을 것이라고 확신 하지만, vim'우수성' 에 대한 표준 주장 중 하나 는 무한한 구성 가능성입니다.

  • 이 경우에 제공 할 수 있습니까?
  • 문자 사이vim 에 커서를 놓을 수 있습니까 ?

2
Insert모드를 찾고 있거나 normal모드 포인트가 누락 된 것 같습니다 . 일반 모드에서 줄의 마지막 단어를 수행 $daw하거나 $bdw삭제합니다. 에서 Insert모드 나 할 것입니다 A<Ctrl-w>.
jw013

3
기록상, "문자들 사이의"세계라는 생각에 의해 두려워하는 사람으로서, 현재 행의 마지막 단어를 삭제하는 올바른 키 순서는 다음과 같습니다.$bD
Alan Curry

1
마우스를 사용하는 것이 이상적이지는 않지만 중지하고 원하는 작업을 수행하는 방법에 대해 생각해야 할 때 비효율적 인 문제가 발생합니다. 소중한 것은 실재로 여기저기서 초점 이 아닙니다 . 초점을 잃으면 몇 초 이상 잃게됩니다.
iconoclast

2
지금까지의 의견에서이 질문에 대한 답은 "아니오,이 커서 이동 모델은 절대적으로 vim의 디자인에 포함되어 있으며 변경할 수 없습니다"라고 들립니다. 그 맞습니까?
iconoclast

2
@iconoclast 저의 결론이기도합니다. 내가 알 수있는 한, vi 또는 vim에서 줄의 모든 문자를 균일하게 처리하는 것은 불가능하지만 항상 첫 번째 또는 마지막 문자에는 예외가 있습니다.
Gilles 'SO- 악마 그만해'

답변:


5

당신은 할 수 :set virtualedit+=onemore방금 마지막 문자 뒤로 이동 할 수있는. 불행히도, 당신은 $여전히 마지막 캐릭터로갑니다. 지나가려면 커서를 가리켜 야합니다. 반면에 g$일반적으로 줄 바꿈 화면 의 마지막 문자로 이동하는을 사용할 수 있습니다 . 에서 onemore모드 또한 단지 비 포장 라인 (또는 포장 라인의 마지막 화면 라인)의 마지막 문자지나갑니다.

:h 'virtualedit' 이 옵션은 스크립트를 망칠 수 있지만 실제로 얼마나 큰 위험이 있는지 모르겠습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.