삽입 모드로 붙여 넣기
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=unnamedplus
및 set 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
'Programming' 카테고리의 다른 글
Python을 사용하여 문자열을 JSON으로 변환 (0) | 2020.02.28 |
---|---|
Swift에서 앱 델리게이트에 대한 참조를 얻으려면 어떻게해야합니까? (0) | 2020.02.28 |
Firebase에서 백그라운드에서 앱을 사용할 때 알림을 처리하는 방법 (0) | 2020.02.27 |
Jackson JSON 및 Hibernate JPA 문제로 무한 재귀 (0) | 2020.02.27 |
Java에서 재귀 적으로 디렉토리 삭제 (0) | 2020.02.27 |