다단계 복사 및 붙여 넣기를위한 Vim 리더 키 매핑


0

웹 페이지에서 큰 코드 블록을 복사하여 붙여 넣을 때 한 번에 다음 단계를 수행해야합니다.

  1. : 붙여 넣기
  2. Vim 삽입 모드로 들어가기
  3. 클립 보드 붙여 넣기
  4. 붙여 넣기를 설정
  5. 정상 모드로 들어가다

P의 리더 키 매핑으로 한 번 에이 작업을 수행하려고합니다.

도와 주셔서 감사합니다!


몇 가지 질문 : 'q'를 사용하여 매크로를 작성해 보셨습니까? 붙여 넣기하려면 삽입 모드에 있어야합니까? 기본적인 예를 제공 할 수 있습니까?
Shadoath 2016 년

나는 정직하게 매크로를 사용한 적이 없다. 현재 붙여 넣기하려면 삽입 모드에 있어야합니다. 기본적으로 스택 오버플로와 같은 웹 페이지에서 붙여 넣을 때마다 문제가 발생하므로 VIM 외부에서 "일반적인"복사 및 붙여 넣기를 에뮬레이트하는 방법을 찾고 있습니다. 아마도 나는 잘못된 길로 가고있을 것입니다.
Josh

답변:


0

Vim이 X 선택 / 시스템 클립 보드에 액세스 할 수 있다면 <C-r>*/ <C-r>+를 통해 삽입 모드로 또는 "*p/ 를 통해 직접 일반 모드로 붙여 넣기 만하면 "+p됩니다.

:set pasteVim 은이를 입력했는지 (매우 빨리) 붙여 넣었는지 여부를 알 수 없으므로 작동하지 않는 경우에만을 수행해야 합니다. 모든 키보드 동작은 입력에 의한 것일 수 있으므로이를 자동화하기는 어렵지만 Vim은 다행히도 'pastetoggle'전환 속도를 높이는 옵션을 제공합니다 .

'pastetoggle' 'pt'    string  (default "")
                        global
                        {not in Vi}
        When non-empty, specifies the key sequence that toggles the 'paste'
        option.  This is like specifying a mapping:
            :map {keys} :set invpaste<CR>
  Where {keys} is the value of 'pastetoggle'.
        The difference is that it will work even when 'paste' is set.
        'pastetoggle' works in Insert mode and Normal mode, but not in
        Command-line mode.

예를 들어와 함께 :set pastetoggle=<F11>하면됩니다 i<F11> (paste) <F11><Esc>.

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