vi / vim에서 붙여 넣기 후 커서 위치 편집자들이하는 것과는 다릅니다. 커서는 내가 붙여 넣은

vi / vim 에서 항상 나를 괴롭힌 한 가지 :

텍스트를 “잉크”(일명 “복사”) 한 다음 파일의 다른 위치로 이동하여 “붙여 넣기”를 수행하면 커서가 방금 붙여 넣은 텍스트 의 시작 부분 에 남아 있습니다 . 이것은 대부분의 현대 편집자들이하는 것과는 다릅니다. 커서는 내가 붙여 넣은 텍스트 의 끝에 커서를 놓습니다 .

예를 들어, “복사 버퍼”에 단어 “an”다음에 붙여 넣을 “awesome”이라는 단어가 포함되어 있다고 가정합니다.

This is an editor

붙여 넣기 후 예를 들어 gedit 에서 :

This is an awesome editor
                  ^ Cursor is here

에서 VI :

This is an awesome editor
           ^ Cursor is here

이와 관련하여 (예를 들어) gedit 처럼 vi 를 변경할 수 있습니까 ?



답변

정력, 사용 gpgP대신 p하고 P붙여 넣은 텍스트 뒤에 커서를 떠날. 바인딩을 바꾸려면 다음 줄을 넣으십시오 .vimrc.

noremap p gp
noremap P gP
noremap gp p
noremap gP P

이상하게도, 정력에, p그리고 P심지어는 호환 모드로, 문자 버퍼의 마지막 붙여 넣은 문자에 커서를 둡니다.

다른 vi 버전에서 이것을 변경하는 방법을 모르겠습니다.


답변

이것은 의도적으로 설계된 것입니다. “p”(소문자 P)를 사용하여 붙여 넣으면 현재 위치 나 행 뒤에 붙여 넣어야합니다 . 그러나 “P”(대문자 P)를 사용하여 붙여 넣으면 현재 위치 나 선 앞에 붙여 넣 습니다. 원하는 동작으로 커서를 새로 붙여 넣은 텍스트의 끝에 두는 것이 “p”대신 “P”를 사용하는 습관을들이십시오.

충분히 깊이 파고 들었다면, “p”를 사용하더라도 커서를 항상 페이스트의 끝으로 이동시키는 .vimrc에 넣을 vim 레시피를 찾을 수있을 것입니다.