이름이 지정되지 않은 레지스터에서 Vim + Tmux yank / paste 수정
tmux 세션 내에서 vim을 사용하는 동안 이름이 지정되지 않은 레지스터에 붙여 넣거나 붙여 넣을 수 없습니다. 명명 된 레지스터로 이동하는 것은 잘 작동하지만 명명되지 않은 것은 작동하지 않습니다.
오류 :
E353: Nothing in register *
tmux가 없으면 vim이 현재 설정을 사용하여 제대로 작동합니다. 내가 사용할 수 있도록 어떻게 그것을 해결합니까 y다음 p오류없이 레지스터를 지정하지 않고?
오류 메시지 ( Nothing in register *
)에서 일반 ? p
, Vim 인스턴스가 이름없는 레지스터 * 대신 *
레지스터 를 사용하고 있습니다. 옵션 에 값이 포함되어 있기 때문일 수 있습니다 . 이러한 방식으로 구성되면 Vim은 기본적으로 yank, delete, change 및 put 작업에 대해 이름없는 레지스터 대신 레지스터를 사용합니다 (즉, 접두사 가있는 다른 레지스터를 지정하지 않는 한 , 예 를 들어 레지스터 에서 넣음 ).clipboard
unnamed
*
"
"ap
a
* 이름없는 레지스터는 실제로 이름이 지정됩니다 "
(큰 따옴표). 사용하기 위해 이름을 지정할 필요가 없다는 의미에서 "이름 없음"일뿐입니다 (기본값). 즉 ""p
, 이름이 지정되지 않은 레지스터에서 넣기 위해 말할 필요가 없습니다 p
.
의 기본값은를 clipboard
포함하지 않으므로 unnamed
구성 (또는 플러그인)의 일부에서 비롯된 것일 수 있습니다. 이 명령 :verbose set clipboard?
은 현재 값을 설정하는 스크립트를 보여줍니다. 이것이 구성 파일에서 수행되는 경우 tmux에서 실행할 때 수행하지 않는 것이 좋습니다 . 예 :
if $TMUX == ''
set clipboard+=unnamed
endif
또는 Vim-inside- tmux의 인스턴스가 GUI 선택 / 클립 보드에 액세스 하도록하는 방법이있을 수 있습니다 (따라서 *
레지스터 및 / 또는 unnamed
에서 작동 clipboard
). Mac OS X를 실행하는 경우 tmux 세션 내에서 실행되는 프로세스에 대해 클립 보드 액세스를 다시 활성화하는 해결 방법 래퍼 를 살펴볼 수 있습니다 . 다른 OS 또는 GUI를 사용하는 경우 Vim이 일반적으로 GUI와 통신하는 방법과 작동하지 않는 이유 (예 : X11에서 잘못된 DISPLAY 값, 실행중인 이전 세션에 연결되어있을 수 있음)를 찾아야합니다. 오래된 값이있는 셸).
vim / tmux / osx에서 저에게 적합한 것은 다음과 같습니다.
- Homebrew 설치
- 사용자 네임 스페이스에 다시 연결 설치 :
brew install reattach-to-user-namespace
- .vimrc에서 :
set clipboard=unnamed
- tmux에게 시스템 클립 보드를 사용하도록 지시하십시오. .tmux.conf에서 :
set-option -g default-command "reattach-to-user-namespace -l bash"
출처 : https://coderwall.com/p/j9wnfw
fakeclip 많은 단말기에서 예상 TMUX / 화면에 대한 지원을하고 같은 플러그인은 클립 보드 레지스터 동작합니다한다. 그것을 사용하고 있습니까? 문제를 해결할 수 있습니다.
또한이 팁에 관심이있을 수 있습니다. 질문에는 해당되지 않지만 관련이 있습니다. tmux를 실행중인 시스템 / 터미널의 유형에 따라 .tmux.conf
. 예를 들어 다음 .tmux.conf
은 OS X에서 발췌 한 것입니다 (주석에 몇 가지 지침 포함).
# To use pbcopy and pbpaste on OS X, get this wrapper and install
# git clone https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard.git
# cd tmux-MacOSX-pasteboard/
# make reattach-to-user-namespace
# mv reattach-to-user-namespace /usr/local/bin
# After installing, the default command can be reset to use the 'reattach-to-user-namespace'
# wrapper that was compiled/installed as descripted above.
set -g default-command "reattach-to-user-namespace -l /bin/bash"
# #Next, create Ctrl-c and Ctrl-v mappings
bind C-c run "tmux save-buffer - | reattach-to-user-namespace pbcopy"
bind C-v run "tmux set-buffer $(reattach-to-user-namespace pbpaste); tmux paste-buffer"
늦은 답변이지만 .tmux.conf
다음 줄이 포함되어 있을 수도 있습니다 .
set -g set-clipboard off
결합 .vimrc
함유
set clipboard=unnamed
이것은 vim이 거기에없는 클립 보드를 사용하려고 할 것입니다.
OSX에서 경험 한 몇 가지 메모를 수락 된 답변에 추가하려면 다음을 수행하십시오.
- 당신이
set clipboard=unnamed
하고 있는지 확인하십시오set clipboard=unnamedplus
- 내 tmux 서버 (
$ killall tmux
또는$ tmux kill-session -a
)를 종료해야했습니다. tmux 구성 파일을 다시로드하면 default-command가 설정되었지만 시스템 클립 보드에 대한 vim 액세스 권한이 부여되지 않은 것으로 나타났습니다.
참고 URL : https://stackoverflow.com/questions/11404800/fix-vim-tmux-yank-paste-on-unnamed-register
'Programing' 카테고리의 다른 글
didSelectRowAtIndexPath에서 현재 선택한 셀에 도달하는 방법은 무엇입니까? (0) | 2020.11.17 |
---|---|
Tomcat 7 : 초기 힙 크기를 올바르게 설정하는 방법은 무엇입니까? (0) | 2020.11.17 |
Git : 치명적 : 현재 분기 마스터에 여러 업스트림 분기가있어 푸시를 거부합니다. (0) | 2020.11.17 |
Gradle buildConfigField BuildConfig가 기호를 확인할 수 없습니다. (0) | 2020.11.17 |
IIS 구성 오류-이 구성 섹션은이 경로에서 사용할 수 없습니다. (0) | 2020.11.16 |