저는 지금 gvim으로 글을 써서 클립보드에 복사 후 붙여넣기를 하는 식으로 글을
올리고 있는데요, 제 평소 사용 습관이 그렇습니다.
DM 단축키 설정으로 gvim을 실행하는 단축키를 설정해 놓고 쓰고요.
원래는 다른 메모장 앱을 쓰는데, 맥OS에서는 Sublime Text를 쓰고,
리눅스에서는 Sublime Text에 한글 버그가 있어서 xed를 씁니다.
최근에 xed 대신에 gvim을 쓰기 시작했는데, 딱 한 가지 불편한 점이 있네요.
xed(또는 Sublime Text)에서는 창 전환으로 다른 작업을 하다가 DM 단축키를
실행시키면 이전에 편집하던 xed가 foreground로 올라오는데, gvim은 그렇게 하면
새로운 인스턴스가 실행되네요.
구글링을 해봤더니,
gvim --remote-tab-silent
이런 식으로 실행하면 gvim 인스턴스 하나만 실행되기는 합니다.
문제는 DM 단축키를 실행했을 때 gvim이 foreground로 안 올라온다는 겁니다.
이걸 해결하는 방법은 못 찾겠어서 질문 올립니다.
뭐 방법 없을까요?
DE는 xfce 씁니다.
이미 참고하신 문건일지도 모르지만 혹시 몰라 링크 남깁니다.
https://stackoverflow.com/questions/15108879/how-to-activate-an-existing-gvim-window
감사합니다. 알려주신 링크를 참고해서, 시행착오 끝에 이렇게 해결했습니다:
셸 스크립트:
gvim --remote-tab-silent (파일 이름)
gvim -c "call remote_foreground('$VIMSERVER')" -c quit
셸 스크립트에 DE 단축키 할당.
이렇게 하니까 뭔가 깔끔하지는 않지만 어쨌든 해결이 되네요.
Cool, this seems to work:
[ -z `gvim --serverlist` ] && gvim || gvim --remote-send ":sil call foreground()<CR>"
이런 대댓글이 달려있어서, 뭔가 잘 해결이 됐나보다.. 하면서도 구문은 이해가 안되서, 혹시 선생님께서 직접 읽어보시면 어떨까 해서 링크를 걸어본건데, 해결 하셨다니 다행입니다. :)
알려주신 링크에서 focus prevention 설정을 보고 찾아본 결과,
제 경우에는 Window Manager Tweaks > Focus 탭의 Activate focus stealing prevention이 uncheck이면
gvim --remote-tab-silent (파일 이름)으로 foreground 동작하는 듯 하였습니다.
이미 해결하셨기에 참조 정보 차원에서 대댓글 드립니다.