2013-07-31 2 views
10

나는 YankRing의 동작이 좋기 때문에 내가 가지고있는 마지막 몇 가지 것들을 액세스 할 수있다. y anked 또는 d eleted 또는 c은 생각도없이 교수형에 처해있다.Vim 반복 점 (".") 명령 버퍼?

그러나이 보완 기능은 . 반복 명령에 대해 완전히 빠져 있습니다. 반복 할 명령을 입력 할 때 종종 실수로 해당 명령을 덮어 쓰려면 x을 눌러 무언가를 정리하십시오.

방금 ​​입력 한 내용을 시각적 모드로 잡아낼 때가 종종 있습니다.하지만 이상적인 것은 아닙니다.

지난 몇 명령을 기억하기가 정말 쉽습니다.

질문은 Vim에서 어떤 가게에 들어있는 마지막 명령의 표현을 추출하는 것이 가능합니까? .은 날아 가기 전에 무엇을 할 것입니까?

내가 두려워하는 것처럼, 유일한 방법은 뭔가를 편집 할 수있는 모든 명령에 플러그인을 연결하고 자체 반복 버퍼를 저장하는 방식으로 플러그인을 설치하는 것입니다. 얼마나 많은 다른 플러그인이 상상되는지 이미 상상할 수 있기 때문에 실제로는 실용적이지 않습니다. 그러나, 나는 그것이 정말로 가능하다면 여전히 정말로이 기능을 원할 것입니다.

+0

관련 질문 [더 ​​강력한 버전의 도트 (반복)] (http://stackoverflow.com/q/16722566). – glts

+0

@glts 나는 그것을 쓴 ... 그것은 비슷하지만 녹음을 시작하여 준비가 필요합니다 –

+0

그냥 [등록] (http://stackoverflow.com/questions/1497958/how-to-use-vim-registers? rq = 1) 및 기타 내장 vim 기능 imo. 고칠 필요가없는 것들을 "수정"하는 많은 플러그인. 도트 연산자는 레지스터와 완벽하게 작동합니다. 예를 들어,''q' 레지스터를 붙여 넣고'.'로 반복 할 수 있지만'x'와 같은 편집은 기본값이 아닌 레지스터에 저장 한 것을 변경하지 않습니다. 읽기 [여기] (http://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim?rq=1) –

답변

1

삽입 모드의 키워드 완성 및/또는 ctrl-a는 사용자의 요구를 충족해야합니다.

더 많은 얀 클링 (yankring)과 같은 해결책이 가능해야하지만, 당신이 말했듯이, 아마도 약간의 개입이있을 것입니다. 다른 사람들에게 당신을 대신해달라고 요청하기 전에 vim.org을 직접 보셨습니까?

+0

그래, Vim이'.' 할 일을 알아낼 수있는 방법조차 없다는 뜻입니다. 나는 누군가가 명령으로 그것을 폭로하기위한 소스 패치를 가지고 있기를 정말로 바라고 있었다. –

+0

. 마지막 변경 사항을 반복합니다. 정말 간단합니다. dot 명령은 오래 전에 일련의 명령을 실행하도록 실제로 설계되지 않았으므로 실제적으로 어떤 일을 할 지 짐작할 필요가 없습니다. 보다 장기적인 솔루션을 원한다면 매크로와 매핑을 사용하십시오. – romainl

2

불행히도 . 명령 뒤에있는 명령을 가져 와서 재생할 수있는 방법이 없습니다. 유일한 해결 방법은 매크로 기록 모드에 영구적으로 넣고 . 명령 대신 매크로 레지스터를 사용하는 것입니다.

이 전략은 RepeatLast plugin에 의해 사용되며 원하는 것을 제공 할 수 있습니다.