the*_*fog 7 vim ssh tmux x11 clipboard
我已经将 vim 设置为能够将文本从 vim 服务器实例拉到我客户端操作系统上的剪贴板(通过 SSH 连接)。
基本设置是
ssh -Y <user>@<server>
在服务器上运行的 vim 版本 -vim-gtk
需要复制到系统剪贴板的额外内容
$ vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan 2 2014 19:40:46)
Included patches: 1-52
Modified by pkg-vim-maintainers@lists.alioth.debian.org
Compiled by buildd@
Huge version with GTK2 GUI. Features included (+) or not (-):
Run Code Online (Sandbox Code Playgroud)
在 vim(在服务器上运行)内,我可以视觉选择文本 - 然后点击", +,y然后我将在我的客户端操作系统剪贴板上提供该视觉选择。
当我连接到服务器并启动新的 tmux 会话时,这是有效的,但是当我在 SSH 中断后重新连接到服务器并重新附加到 tmux 会话时,它会停止工作。任何想法为什么会这样?
这是我的解决方案(感谢 xpra 指针)。事情是这样的:
来自.bashrc
tmux-x-attach() {
ps -f -u $USER | grep -v grep | grep -q 'xpra start' || xpra start :9
xpra attach :9 --opengl=no > /tmp/xpra-attach.log 2>&1 &
DISPLAY=:9 tmux-attach "$@"
xpra detach :9
}
tmux-attach() {
case $(tmux list-sessions 2>/dev/null | wc -l) in
0) tmux ;;
1) tmux attach ;;
*)
tmux list-sessions
read -n 1 -p "Select command: " N < /dev/tty > /dev/tty;
tmux attach -t $N
;;
esac
}
tmux-ssh() { ssh "$@" -A -X -t 'PS1=tmux-ssh- ; . ~/.bashrc ; tmux-x-attach'; tput init; }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1573 次 |
最近记录: |