답변:
먼저 편집 모드에 있는지 확인하십시오 (을 누르십시오 i). 그런 다음 과 같은 터미널 에뮬레이터에 있다면 Ctrl+ Shift+로 붙여 넣을 수 있습니다 (또는 오른쪽 클릭 메뉴에서 "붙여 넣기"를 선택하십시오).Vgnome-terminal
:set paste
붙여 넣기 전에 vim 을 입력 하여 자동 들여 쓰기 등을 비활성화 할 수도 있습니다 . 그런 다음 :set nopaste
내용을 붙여 넣은 후.
자세한 내용은 stackoverflow.com 에서이 질문 을 확인 하십시오.
vim
클립 보드 내용을 붙여 넣는 대신 선을 복사 / 붙여 넣기하려면 yank 명령 을 확인하십시오 . 여기 도움이 될만한 치트 시트 가 있습니다.
I
대소 문자를 구분합니다. 소문자 i
는 삽입 모드로 들어가는 일반적인 방법입니다. 대문자 I
는 커서를 줄의 시작 부분으로 가져온 다음 삽입 모드로 들어갑니다.
Vi (및 Vim)는 Gedit와 같은 일반 텍스트 편집기와 매우 다르게 작동합니다. 또한 꽤 가파른 학습 곡선이 있습니다. 몇 가지 기본 명령을 배우려면 이 대화식 자습서로 시작 하십시오 .
그러나 질문에 대답합니다. 시스템 클립 보드의 내용은 플러스 레지스터를 통해 액세스 할 수 있습니다. 따라서 시스템 클립 보드에서 무언가를 붙여 넣으려면 일반 모드에서 다음을 누릅니다 "+p(동시가 아니라 차례로).
vi
하지 않습니다vim
set :paste
).
같은 파일 내에서 붙여 넣기 내용을 복사 하려면 yank
및을 사용하십시오 paste
.
터미널 전체에 붙여 넣기 내용을 복사 하려면 첫 번째 파일을 열고 원하는 텍스트를 가져간 다음 vim (예 :) 내에서 두 번째 파일을 열고을 :tabnew /path/to/second/file
눌러 p
붙여 넣습니다.
붙여 넣기 내용 을 vim에서 외부 프로그램으로 복사하려면 시스템 클립 보드에 액세스해야합니다. 우분투를 사용한다고 가정합니다. vim의 GUI 버전은 항상 클립 보드를 지원하지만 터미널에서 Vim을 사용하려면 X11 클립 보드 지원을 확인해야합니다.
콘솔에서 다음을 입력하십시오.
$ vim --version | grep xterm
-xterm_clipboard 를 찾으면 두 가지 옵션이 있습니다.
1) xterm_clipboard 플래그를 켜고 vim을 컴파일하십시오.
2) vim을 제거하고 대신 gvim (vim-gtk 또는 vim-gnome)을 설치하십시오. 이전과 같은 방법으로 터미널에서 vim을 호출하여 GUI가 아닌 vim을 고수 할 수 있습니다. 이번에는 + xterm_clipborad 를 확인해야합니다 .
이제 vim 편집기 내부의 + 레지스터에서 일부 텍스트를 잡아 당기면 (예 : "+ yy) 시스템 클립 보드에 복사되어 Ctrl+ 를 사용하여 gedit 편집기와 같은 외부 프로그램에서 검색 할 수 있습니다 V.
외부 프로그램에서 vim으로 붙여 넣기 내용을 복사하려면 먼저 Ctrl+ 를 통해 텍스트를 시스템 클립 보드에 복사 C한 다음 vim 편집기 삽입 모드 에서 마우스 가운데 버튼 (일반적으로 휠)을 클릭하거나 Ctrl+ Shift+ V를 눌러 붙여 넣으십시오.
vim과 관련된 4 가지 기본 복사 및 붙여 넣기 조건입니다. 이게 도움이 되길 바란다.
vim-gtk
에서 xterm_clipboard
지원하고 Fedora에서 지원 xvim
합니다.
터미널에 텍스트를 붙여 넣으려면 항상 Shift+를 사용 Insert하고 모든 터미널 프로그램에서 작동합니다.
(또한 Insert보조 키를 누르지 않고는 누를 수없는 랩톱을 얻지 못하는 이유도 있습니다 )
Vi
/ Vim
! = 터미널;)
Ctrl+A
, Ctrl+C
도?
vi에 들어가면을 눌러 i
삽입 모드로 들어가 터미널을 마우스 오른쪽 버튼으로 클릭하고 붙여 넣기를 클릭하십시오.
i
. 대문자 I
는 무엇을합니까?
i
. 대문자 I
는 삽입 모드로 들어가기 전에 커서를 줄의 시작 부분으로 이동합니다 (여기서는 필요하지 않음).
자세한 설명은 사용 VI에서 / 텍스트 붙여 넣기 라인을 복사 yank
하고put
( vi 의 명령 모드 에서 다음을 사용하십시오 )
복사 (YANK)
vi에서 한 줄을 복사하려면 :
yy
또는 유형Y
vi에서 두 줄을 복사하려면 :
2yy
또는 유형2Y
(마찬가지로 여러 줄을 복사 할 수 있음)
현재 위치에서 파일 끝까지 모든 줄을 복사하려면
yG
현재 위치에서 현재 단어의 끝까지 모든 텍스트를 복사하려면 :
yw
현재 위치에서 줄 끝까지 모든 텍스트를 복사하려면 :
y$
붙여 넣기 (PUT)
클립 보드에 텍스트를 붙여 넣으려면 - 후 커서의 위치 :
p
커서 위치 전에 클립 보드에 텍스트를 붙여 넣으려면
P
Vim 설치가 클립 보드를 지원하지 않기 때문에 문제가있었습니다 .
vim --version | grep clip
-clipboard +insert_expand +path_extra +user_commands
+emacs_tags -mouseshape +startuptime -xterm_clipboard
vim-gnome (클립 보드를 지원하는)을 설치 한 후 다시 확인했습니다.
vim --version | grep clipboard
+clipboard +insert_expand +path_extra +user_commands
+emacs_tags +mouseshape +startuptime +xterm_clipboard
이제 "+ y 및"+ p를 각각 사용하여 복사하고 붙여 넣을 수 있습니다.
Linux 또는 Mac에서 Vim 8+를 사용하면 OS의 기본 붙여 넣기 ( ctrl+shift+V
Linux, cmd+V
Mac)를 간단히 사용할 수 있습니다 . i
삽입 모드를 누르지 마십시오 .
자동 들여 쓰기를 추가하지 않고 공백과 탭을 유지하면서 OS 클립 보드의 내용을 붙여 넣습니다. 그것은 이전에 해당의 :set paste
, i
, ctrl+shift+V
, esc
, :set nopaste
방법.
더 이상 설치 +clipboard
또는 +xterm_clipboard
vim 기능이 필요하지 않습니다 . 이 기능을 "브래킷 붙여 넣기"라고합니다. 자세한 내용은 https://stackoverflow.com/questions/2514445/turning-off-auto-indent-when-pasting-text-into-vim/56781763#56781763을 참조 하십시오.
Windows에서 Git Bash를 통해 Vim을 사용하면 p
삽입 모드를 사용하지 않고 마우스를 사용 하거나 가운데 클릭 할 수 있습니다. PuTTY를 통해 Vim을 사용하면 마우스 오른쪽 버튼을 클릭하면됩니다. 그리고 강조 표시는 복사를 수행합니다.
나는 이것이 우분투의 SE라는 것을 보지 못했기 때문에 이것을 언급했습니다.
다른 유용한 명령들 :
당신은 사용할 수 있습니다 Ctrl+ Shift+ V터미널 버전 정력에 붙여, 그러나 GUI 버전 정력을 위해 같은 Neovim-Qt
시스템 클립 보드에서 붙여 넣기 텍스트로 Ctrl+ Shift+는 V단순히 작동하지 않습니다. 클립 보드 "+
또는 "*
vim 편집기에서 액세스해야합니다 .
새로운 키 바인딩을 추가 .vimrc
하면 단순히 복사 / 붙여 넣기 명령이됩니다 :
" paste from system clipboard, align indentation with surroundings
noremap <Leader>p "*]p:set nopaste<CR>
" copy a sentence into system clipboard
noremap <Leader>y "+y)
vimtutor
하는 것입니다. 약 45 분 안에 사용할 수있는 곳으로 빠르게 이동할 수 있습니다.