简单教程
本文记录一个极简的 tmux 配置教程,来满足基本的开发需求。
首先打开 tmux 配置文件:
vim ~/.tmux.conf
然后键入一下内容:
set-option -g automatic-rename on
set-option -g aggressive-resize on
set-option -g mouse on
set-option -g base-index 1
set-option -g pane-base-index 1
成品 tmux 配置
这里使用 https://github.com/gpakosz/.tmux 的配置,命令如下:
cd
git clone https://github.com/gpakosz/.tmux.git
ln -s -f .tmux/.tmux.conf
cp .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 xclip
tmux_conf_copy_to_os_clipboard=true
开启鼠标模式,将 #set -g mouse on 的注释去掉,代码如下:
# start with mouse mode enabled
set -g mouse on
在 Linux 中需要安装 xsel 或者是 xclip,命令如下:
# ubuntu:
sudo apt install xsel
# sudo apt install clip
# arch
sudo 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",看看速度会不会恢复,解决问题步骤如下:
- 下载 win32yank.exe, 命令如下:
curl -sLo/tmp/win32yank.zip https://github.com/equalsraf/win32yank/releases/download/v0.1.1/win32yank-x64.zip
unzip -p /tmp/win32yank.zip win32yank.exe > /tmp/win32yank.exe
sudo chmod +x /tmp/win32yank.exe
sudo 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 按键。
- 从 tmux 窗口复制内容到剪贴板: 安装 shift 按键,使用鼠标左键选择, 如果没有开启窗口滚动,可以键入 prefix + [;
- 创建新的 tmux 会话:prefix + : + new -s name;