ZEVORN.blog

November 27, 2024

使用 tmux 进行远程开发

article2.6 min to read

简单教程

本文记录一个极简的 tmux 配置教程,来满足基本的开发需求。

首先打开 tmux 配置文件:

vim ~/.tmux.conf

然后键入一下内容:

set-option -g automatic-rename onset-option -g aggressive-resize onset-option -g mouse onset-option -g base-index 1set-option -g pane-base-index 1

成品 tmux 配置

这里使用 https://github.com/gpakosz/.tmux 的配置,命令如下:

cdgit clone https://github.com/gpakosz/.tmux.gitln -s -f .tmux/.tmux.confcp .tmux/.tmux.conf.local .

编辑 ~/.tmux.conf.local ,将 tmux_conf_copy_to_os_clipboard 的值改成 true,代码如下:

# -- clipboard -----------------------------------------------------------------# in copy mode, copying selection also copies to the OS clipboard#   - true#   - false (default)# on macOS, this requires installing reattach-to-user-namespace, see README.md# on Linux, this requires xsel or xcliptmux_conf_copy_to_os_clipboard=true

开启鼠标模式,将 #set -g mouse on 的注释去掉,代码如下:

# start with mouse mode enabledset -g mouse on

在 Linux 中需要安装 xsel 或者是 xclip,命令如下:

# ubuntu:sudo apt install xsel# sudo apt install clip# archsudo pacman -S xclip

重新打开 tmux 或者重新加载配置 prefix + r

解决 nvim 在 WSL 下因为粘贴板速度变慢的问题

配置上面共享粘贴板以后,不知道为啥 nvim 打开速度变得很慢,最后发现 clipboard 报了一些错误,之后在 CSDN 上找的一个帖子:

原贴: neovim 添加 clipboard = “unnamedplus“ 出现打开速度变慢的解决办法

笔者最近在 wsl 下重新配 neovim 时,发现打开速度会变得很慢。耗费巨大时间,终于找到原因。注释掉配置文件(init.lua or optioons.lua)下的,vim.opt.clipboard = "unnamedplus" 打开速度就会正常。

当然!我们知道 vim.opt.clipboard = "unnamedplus" 是为了, Vim 在进行复制(yank)和粘贴(paste)操作时使用系统剪贴板的特定寄存器。只是注释掉会大大的降低nvim的使用。

你可以试着注释掉 vim.opt.clipboard = "unnamedplus",看看速度会不会恢复,解决问题步骤如下:

  1. 下载 win32yank.exe, 命令如下:
curl -sLo/tmp/win32yank.zip https://github.com/equalsraf/win32yank/releases/download/v0.1.1/win32yank-x64.zipunzip -p /tmp/win32yank.zip win32yank.exe > /tmp/win32yank.exesudo chmod +x /tmp/win32yank.exesudo mv /tmp/win32yank.exe /usr/local/bin/sudo rm -rf /tmp/win32yank.zip

验证是否能正常的工作:

# Set the clipboard    echo "hello brave new world!" | win32yank.exe -i    # Get the clipboard.    win32yank -o

如果没有输出,那么请通过上面的链接手动下载 win32yank.exe 到 windows,然后再拷贝,命令如下:

# 假设现在到 download 目录下并解压了sudo mv /mnt/c/User/your-user-name/Downloads/win32yank/win32yank.exe /usr/local/bin/

2 把下面的内容放到 init.lua ,代码如下:

vim.g.clipboard = {    name = 'win32yank-wsl',    copy = {        ['+'] =  'win32yank.exe -i --crlf',        ['*'] =  'win32yank.exe -i --crlf',    },    paste = {        ['+'] = 'win32yank.exe -o --lf',        ['*'] = 'win32yank.exe -o --lf',    },    cache_enabled = true,}

但是在部分机器上,win32yank 的性能表现比较差,可以根据情况决定是否要启用这个功能。

常用技巧

prefix 是 ctrl + b 按键。