Programming

삽입 모드로 붙여 넣기

procodes 2020. 2. 28. 19:34
반응형

삽입 모드로 붙여 넣기


Vim에서 삽입 모드로 붙여 넣을 수 있습니까?


인서트 모드에서 CTRL-R {register}

예 :

  • CTRL-R * 클립 보드의 내용에 삽입합니다
  • CTRL-R " (이름이없는 레지스터)는 마지막 삭제 또는 yank를 삽입합니다.

이것을 vim의 도움말 유형에서 찾으려면 :h i_ctrl-r


Vim이 붙여 넣은 텍스트에서 서식을 엉망으로 만들지 않으려면 다음을 사용하는 것이 좋습니다 :set paste. 이렇게하면 Vim이 코드를 다시 탭하지 못하게됩니다. 붙여 넣기를 마치면 :set nopaste정상적인 동작으로 돌아갑니다.

set pastetoggle=<F2>.vimrc에 비슷한 것을 추가하여 단일 키로 모드를 전환 할 수도 있습니다 . 자동 들여 쓰기 토글에 대한 자세한 내용은 여기를 참조하십시오 .


직접하지 않습니다. 당신이 할 수있는 일은 단일 일반 모드 작업을 위해 삽입 모드를 신속하게 종료 Ctrl-O한 다음 거기에서 붙여 넣기를하면 삽입 모드로 돌아갑니다.

키 콤보 : Ctrl-O p

편집 : 흥미로운. 다른 사람들이 열거 한 방법이있는 것 같습니다.


삽입 모드 Ctrl-R {register}에서 레지스터를 사용할 수있는을 사용할 수 있습니다.

  • + 클립 보드를 위해
  • * X 클립 보드 (X에서 마지막으로 선택한 텍스트)의 경우
  • " 이름이없는 레지스터 (Vim에서 마지막 삭제 또는 yank)의 경우
  • 또는 다른 여러 사람 (참조 :h registers).

Ctrl-R {register} 입력 한 것처럼 텍스트를 삽입합니다.

Ctrl-R Ctrl-O {register} 원래 들여 쓰기로 텍스트를 삽입합니다.

Ctrl-R Ctrl-P {register} 텍스트를 삽입하고 자동 들여 쓰기합니다.

Ctrl-O삽입 모드로 돌아 가기 전에 일반 모드 명령을 실행하는 데 사용할 수 있으므로
Ctrl-O "+p예를 들어 사용할 수도 있습니다.

자세한 내용은 다음 설명서를 참조하십시오. :h i_ctrl-r


이것을 사용하여 다음을 사용하여 클립 보드에서 붙여 넣을 수 있습니다 Ctrlv.

set pastetoggle=<F10>
inoremap <C-v> <F10><C-r>+<F10>

그리고 이것은 다음을 사용하여 시각적 선택을 클립 보드로 가져옵니다 Ctrlc.

vnoremap <C-c> "+y

일반 모드에서 클래식 vim yanking / pasting ( y/ p)에 대해 기본적으로 클립 보드를 사용하려면 다음을 수행하는 구성 옵션이 있습니다.

set clipboard=unnamedplus

이 설정을 사용하면 예를 들어 일반 모드에서 먼저 yank 한 다음 Ctrlv삽입 모드 로 붙여 넣을 수 있습니다. 또한 다른 vim 인스턴스와 다른 응용 프로그램에서 텍스트를 붙여 넣을 수 있습니다.

다른 옵션은 다음과 같습니다.

set clipboard=unnamed

그런 다음 X 환경에서 마우스를 끌어서 무언가를 선택하고 나중에 vim에 붙여 넣을 수 있습니다. 그러나 (어떤 이유로 든) yVim에서 무언가 ( ) 를 잡아 당기지 못하고 shiftinsert나중에 다른 곳 에서 볼 수는 없습니다 . 아마도 상당히 제한적입니다.

이에 대한 Vim 문서 : http://vim.wikia.com/wiki/Accessing_the_system_clipboard

사용자 정의 레지스터에서 붙여 넣으려면 다른 답변을 따를 수 있습니다 :). 이 답변은 주로 Vim을 시스템 클립 보드에 통합하는 것에 관한 것입니다.


참고 것을 set clipboard=unnamedplusset clipboard=unnamed사업에, 당신이 사용 gvim을 또는 vimx (필요 vim-X11) : 사람들은 컴파일된다 +xterm_clipboard. 당신은 선택적으로이 점을 넣을 수 있습니다 .bashrc별명 vim을 가진 vimx:

if [ -e /usr/bin/vimx ]; then
    alias vim='/usr/bin/vimx'; # vim with +xterm_clipboard
fi

vim이 +xterm_clipboard제공 한 정보에서 vim의 유무를 확인할 수 있습니다 vim --version.


Vim이 시스템 클립 보드 ( :set clipboard=unnamed) 를 사용하도록 설정하면 Vim에서 복사 한 모든 텍스트는 Shift+를 사용하여 붙여 넣을 수 있습니다 Insert. Shift+ Insert는 단순히 OS 전체의 붙여 넣기 키 조합입니다 ( Ctrl+ Insert는 해당 '복사'입니다).


마우스 가운데 버튼을 사용하여 삽입 모드로 붙여 넣을 수도 있습니다 (Linux 만 해당).


다음을 -- INSERT (past) --통해 모드를 시작할 수 있습니다 .

  • 키보드 콤보 : y p

또는

  • :set paste삽입 모드로 들어가기 ( :set nopaste비활성화)

-- INSERT (past) --모드 에서 한 번만 시스템 붙여 넣기 기능 (예 : CtrlShiftvLinux, CmdvMac OS)을 사용하십시오.

이 전략은 ssh를 통해 vim을 사용할 때 매우 유용합니다.


예. Windows Ctrl + V 및 Linux에서는 두 마우스 버튼을 거의 동시에 누릅니다.

Windows에서는 _vimrc 의이 줄이 아마도 그렇게한다고 생각합니다.

source $VIMRUNTIME/mswin.vim

리눅스에서는 어떻게했는지 기억이 나지 않습니다. 기본 .vimrc 파일에서 일부 행을 삭제 한 것 같습니다.


삽입 모드에서 붙여 넣기

이 경우 맞춤지도가 적절 해 보입니다. 다음은 삽입 모드에서 눌린 항목을 붙여 넣는 데 사용하는 것입니다.

inoremap <Leader>p <ESC>pa

Leader여기 열쇠는 \; \p, 삽입 모드에서 타격 을하면 이전에 취소 된 항목 / 라인을 붙여 넣을 수 있습니다.

참고 URL : https://stackoverflow.com/questions/2861627/paste-in-insert-mode



반응형