다단계 복사 및 붙여 넣기를위한 Vim 리더 키 매핑 삽입 모드로 들어가기 클립

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

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

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

도와 주셔서 감사합니다!



답변

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>.