IT 오류해결/윈도우·부팅 오류

알라크리티 tmux vim 복사 붙여넣기 안될 때 해결 방법 정리

잡가이버 2026. 7. 5. 05:59
728x90
반응형

로컬에서는 alacritty + tmux + fish 조합을 쓰고, 서버에 접속하면 bash 환경만 있는 경우가 많습니다. 이때 텍스트를 드래그해서 분명히 선택했는데도 복사가 안 되거나, 붙여넣기까지 이어지지 않아 답답할 때가 있습니다.

알라크리티 tmux vim 복사 붙여넣기 안될 때 해결 방법 정리

처음에는 ssh 설정이나 X11 포워딩 문제처럼 보이지만, 실제로는 vim 안에서만 복사 동작이 달라지는 경우가 꽤 많습니다. 특히 alacritty, tmux, vim이 한 번에 겹치면 어느 쪽이 마우스 입력과 선택을 가져가고 있는지부터 구분해야 해결이 빨라집니다.

저도 이런 증상은 처음엔 터미널 자체 문제로 보기 쉬운데, 막상 따져보면 터미널 선택, tmux 복사 모드, vim 마우스 설정이 서로 얽혀서 생기는 경우가 대부분입니다.

alacritty tmux vim 조합에서 복사가 안 되는 이유

가장 먼저 알아둘 부분은 텍스트를 누가 선택하고 있는가입니다.

평소 터미널 창에서는 마우스로 드래그하면 터미널이 텍스트 선택을 가져가고, 그 상태에서 복사 단축키나 우클릭으로 복사가 가능합니다.

그런데 vim 안으로 들어가면 이야기가 달라집니다. vim이 마우스 입력이나 화면 제어를 직접 가져가면, 내가 드래그한 동작이 터미널의 일반 텍스트 선택이 아니라 vim 내부 동작으로 처리될 수 있습니다. 이 경우에는 화면에 선택된 것처럼 보여도 운영체제 클립보드로 복사되지 않습니다.

즉, alacritty가 문제라기보다 vim이 선택 동작을 가로채는 상황인지 먼저 보는 게 맞습니다. 질문 사례처럼 “평소엔 괜찮은데 vim 사용할 때만 안 된다”면 거의 이 방향으로 보면 됩니다.

ForwardX11 yes를 넣어도 해결되지 않는 이유

온라인에서 ssh 설정 파일에 ForwardX11 yes를 넣으라는 글을 보고 시도하는 분이 많은데, 이건 이번 문제와는 결이 다릅니다.

X11 포워딩은 원격 GUI 애플리케이션 화면을 가져오는 데 가까운 설정이지, vim 안에서 마우스로 선택한 텍스트가 내 로컬 클립보드로 복사되지 않는 문제를 바로 해결해 주는 옵션은 아닙니다.

그래서 이 값을 추가해도 별 변화가 없었다면 이상한 게 아닙니다. 이 경우는 ssh 자체보다 vim의 마우스 처리 방식, tmux의 복사 모드, 터미널의 복사 단축키를 먼저 확인하는 쪽이 더 정확합니다.

vim에서만 복사가 안 된다면 먼저 볼 설정

vim에서만 증상이 나타난다면 우선 마우스 옵션을 확인해보는 게 좋습니다.

vim 설정에 따라 마우스를 완전히 vim이 가져가면 일반 드래그 선택이 막히는 것처럼 느껴질 수 있습니다.

vim 안에서 아래 명령으로 현재 마우스 옵션을 확인할 수 있습니다.

:set mouse?

만약 값이 mouse=a처럼 잡혀 있다면, 마우스 입력이 vim 쪽으로 들어가고 있을 가능성이 큽니다. 이때는 임시로 아래처럼 꺼보고 다시 드래그 선택을 해보면 차이가 바로 느껴집니다.

:set mouse=

이렇게 하면 마우스 선택을 터미널이 가져가기 쉬워져서, 로컬 터미널 클립보드 복사가 다시 되는 경우가 많습니다.

저는 vim에서 복사가 막힐 때 이 부분부터 먼저 확인하는 편입니다.

vim에서 붙여넣기가 꼬일 때 입력 모드 확인

복사는 됐는데 붙여넣을 때 줄바꿈이 이상하거나 들여쓰기가 엉키는 경우도 많습니다.

이럴 때는 보통 일반 모드에서 바로 붙여넣어서 vim이 입력을 명령처럼 해석한 경우가 많습니다.

이럴 때는 먼저 i 키를 눌러 입력 모드로 들어간 뒤 붙여넣는 쪽이 훨씬 안정적입니다. 댓글에서 언급된 것처럼 vim은 일반적인 메모장처럼 단순 입력창이 아니기 때문에, 붙여넣는 위치와 모드에 따라 결과가 달라집니다.

붙여넣기 시 자동 들여쓰기 때문에 내용이 틀어지면 아래처럼 paste 모드를 잠깐 켜는 방법도 많이 씁니다.

:set paste

붙여넣기를 마친 뒤에는 다시 원래대로 돌립니다.

:set nopaste

tmux 안에서는 복사 방식이 따로 있습니다

tmux를 쓰는 상태라면 일반 터미널 복사와는 다르게 움직입니다.

특히 마우스 선택이나 스크롤이 tmux에 잡혀 있으면, 그냥 드래그해서 복사하는 방식이 기대대로 안 되는 일이 많습니다.

이럴 때는 tmux의 복사 모드를 쓰는 편이 더 확실합니다. 가장 기본적인 방법은 아래 순서입니다.

Ctrl+b 누른 뒤 [
방향키 또는 마우스로 선택
Alt+w 로 복사
Ctrl+b 누른 뒤 ] 로 붙여넣기

환경에 따라 키 바인딩은 조금 다를 수 있지만, 핵심은 tmux 안에서는 tmux 방식으로 복사해야 한다는 점입니다. 특히 서버에 들어가서 세션 유지까지 같이 생각하면 이 방식이 더 안정적입니다.

터미널 자체 복사를 쓰고 싶다면 이렇게 확인

tmux나 vim이 아니라 터미널이 직접 선택하도록 만들고 싶다면, 먼저 vim 마우스를 끄고, tmux에서 마우스 모드가 켜져 있는지도 확인해보는 게 좋습니다.

tmux 설정을 확인하려면 아래처럼 볼 수 있습니다.

tmux show -g mouse

켜져 있다면 아래처럼 끌 수 있습니다.

tmux set -g mouse off

영구 적용은 ~/.tmux.conf에 넣으면 됩니다.

set -g mouse off

이렇게 해두면 드래그 선택을 tmux가 덜 가로채기 때문에, 로컬 터미널에서 마우스로 선택 후 복사하는 방식이 한결 편해집니다.

alacritty에서 복사 붙여넣기 기본 동작도 같이 확인

alacritty 자체는 비교적 단순한 편이지만, 복사 단축키를 내가 따로 바꿨거나 운영체제 기본 키맵과 충돌하면 생각보다 헷갈릴 수 있습니다.

일반적으로는 드래그 선택 후 복사 또는 단축키를 쓰는데, 그 전에 정말 터미널 창 바깥 메모장에서도 붙여넣기가 되는지 먼저 보는 게 좋습니다.

터미널 바깥에서는 잘 되는데 vim 안에서만 안 된다면, alacritty보다는 vim 또는 tmux 처리 방식을 먼저 의심하는 게 맞습니다.

서버에도 tmux를 쓰는 게 좋은지

결론부터 말하면 서버에서는 tmux를 쓰는 편이 훨씬 낫습니다.

과한 설정이라기보다, 오히려 오래 돌리는 작업이 있거나 SSH가 끊길 수 있는 환경이라면 거의 기본에 가깝습니다.

예를 들어 로그 확인, 배포 작업, 패키지 설치, 장시간 스크립트 실행, 원격 편집을 자주 한다면 tmux가 있으면 세션이 끊겨도 다시 붙어서 이어갈 수 있습니다. 특히 서버에는 fish가 없고 bash만 있어도 tmux 자체 활용도는 그대로 높습니다.

다만 단순히 파일 하나 잠깐 수정하고 끝나는 정도라면 굳이 every single session마다 반드시 켜야 하는 건 아닙니다. 저는 오래 보는 서버, 작업이 끊기면 곤란한 서버, 여러 창을 나눠볼 서버에서는 tmux를 켜고, 아주 짧은 확인 작업만 할 때는 그냥 bash로 들어가기도 합니다.

서버에 tmux를 설치하는 기본 명령

서버에 tmux가 없다면 배포판에 맞게 아래처럼 설치할 수 있습니다.

# Ubuntu / Debian
sudo apt update
sudo apt install tmux

# Rocky / AlmaLinux / CentOS
sudo dnf install tmux

# 구형 CentOS
sudo yum install tmux

설치 후 가장 기본 사용은 아래 정도만 알아도 충분합니다.

tmux
Ctrl+b d   # 세션 분리
tmux ls    # 세션 목록 확인
tmux attach -t 0   # 세션 재접속 예시

복사가 안 될 때 가장 빨리 점검하는 순서

이 문제는 이것저것 한꺼번에 건드리기보다 순서대로 보는 게 가장 빠릅니다.

첫째, vim 밖에서도 복사가 안 되는지 확인합니다.

둘째, vim 안에서만 안 되면 :set mouse?로 마우스 설정을 봅니다.

셋째, tmux 안이라면 tmux 복사 모드로 시도해봅니다.

넷째, tmux 마우스 모드를 끄고 로컬 터미널 선택이 가능한지 확인합니다.

다섯째, 붙여넣기 꼬임은 vim 입력 모드와 :set paste로 점검합니다.

실제로는 이 순서만 따라가도 어디에서 입력을 잡고 있는지 금방 드러납니다.

alacritty, tmux, fish, bash 조합이라고 해서 무조건 복사가 안 되는 건 아닙니다. 대부분은 vim 안에서만 마우스 선택이 달라지거나, tmux가 복사 동작을 따로 처리해서 생기는 문제입니다.

그래서 ForwardX11 같은 ssh 옵션보다 먼저 vim mouse 설정, tmux 복사 모드, tmux mouse on/off를 보는 쪽이 훨씬 정확합니다. 서버에 tmux를 쓰는 것도 과한 선택이 아니라, 오히려 원격 작업이 잦다면 꼭 익혀둘 만한 쪽에 가깝습니다.

Q. vim에서만 복사가 안 되면 제일 먼저 뭘 봐야 하나요?

vim 안에서 :set mouse?를 입력해 마우스 옵션을 확인해보면 됩니다. 필요하면 :set mouse=로 잠깐 끄고 다시 드래그 선택을 해보는 것이 가장 빠릅니다.

Q. tmux 안에서 일반 복사처럼 안 되는 이유는 뭔가요?

tmux가 자체적으로 화면과 입력을 관리하기 때문입니다. 그래서 일반 터미널 복사보다 Ctrl+b 기반 복사 모드를 쓰는 쪽이 더 안정적입니다.

Q. 서버에도 tmux를 꼭 설치해야 하나요?

짧은 확인 작업만 할 때는 없어도 되지만, 장시간 작업이나 세션 유지가 필요한 서버라면 tmux를 쓰는 편이 훨씬 편합니다.

Q. ForwardX11 yes 설정은 왜 효과가 없었나요?

이 문제는 GUI 화면 전달보다 vim, tmux, 터미널의 입력 처리 방식과 더 가깝기 때문입니다. 그래서 ssh X11 포워딩만으로는 해결되지 않는 경우가 많습니다.

반응형
그리드형