VirtualBox 및 Vagrant에서 실행되는 가상 Linux 개발 환경이 있습니다. 저는 tmux와 vim을 사용하여 vim의 여러 공개 인스턴스를 설정합니다. 이 인스턴스 간에 복사하여 붙여넣을 수 있기를 원합니다.
클립보드 기능은 X11에만 제공된다는 것을 알고 있습니다. 명령줄 전용 Linux 환경에서 여러 vim 인스턴스 간에 클립보드 기능을 활성화하는 방법은 무엇입니까?
답변1
이미 사용하고 계시기 때문에 tmux
복사 및 붙여넣기를 완벽하게 지원하는 것을 권장합니다 - 참조매뉴얼 페이지더 많은 정보를 알고 싶습니다.
명령을 사용하여 현재 키 바인딩을 볼 수 있습니다. 목록에서 , 및 명령을 tmux
list-keys
찾으세요 .begin-selection
copy-selection
paste-buffer
기본적으로 바인딩은 다음과 같습니다.
- [- 복사/붙여넣기 모드 활성화
- h,,,- 커서를 이동하는 데 사용되는 탐색 j키kl
vi
- v- 텍스트 선택 시작(선택 후 Enter나중에 붙여넣기 위해 버퍼에 복사를 누르세요)
- ]- 복사한 텍스트 붙여넣기
저주 기반 애플리케이션과 함께 사용할 때 몇 가지 제한 사항이 있습니다 vim
( tmux
스크롤을 관리할 수 없기 때문에). 이전 출력으로 다시 스크롤할 수 없습니다.
대안으로( vim
세션 간 복사만 하는 경우) 임시 파일을 클립보드로 사용할 수 있습니다(X11을 사용하지 않는 경우 이 파일이 필요합니다). 바라보다이 게시물@muru는 더 많은 것을 배울 것을 제안했습니다.
답변2
예상되는 동작이 저장->검색과 관련된 경우 클립보드 사용을 고집할 필요가 없습니다. 이 지시어는 다음에서 파생됩니다.https://vim.fandom.com/wiki/Copy_and_paste_ Between_sessions_using_a_temporary_file
"custom copy'n'paste
vmap <C-c> :w! ~/.vbuf<CR> "copy the current visual selection to ~/.vbuf
nmap <C-c> :.w! ~/.vbuf<CR> "copy the current line to the buffer file if no visual selection
nmap <C-v> :r ~/.vbuf<CR> "paste the contents of the buffer file
~/.vbuf에 콘텐츠가 저장되면 우리는 원하는 방식으로 콘텐츠를 자유롭게 검색할 수 있습니다.