bash - tmux 配置中复杂命令/绑定的分隔符
问题描述
我正在寻找一种在我的 tmux 配置中正确创建以下行的方法:
bind -n S-F12 unbind -n S-Left \; unbind -n S-Right \; unbind -n S-Down \; unbind -n S-Up \; unbind -n M-Left \; unbind -n M-Right \; unbind -n M-Down \; unbind -n M-Up \; bind -n S-F12 source "$HOME/.tmux.conf" \; display-message "Tmux Vim Mode: DISABLED" \; display-message "Tmux Vim Mode: Enabled"
S-F12
关键是在执行和打印成功消息时切换一些绑定。问题是消息“Tmux Vim Mode: DISABLED”永远不会被打印出来,这可能是由于绑定的分隔符不明确。
有没有办法让它工作?
ps:我不想创建另一个 tmux 配置文件并使用source
.
解决方案
你可以尝试的是
bind -n S-F12 unbind -n S-Left \; \
unbind -n S-Right \; \
unbind -n S-Down \; \
unbind -n S-Up \; \
unbind -n M-Left \; \
unbind -n M-Right \; \
unbind -n M-Down \; \
unbind -n M-Up \; \
bind -n S-F12 run-shell 'tmux source "$HOME/.tmux.conf" \; \
display-message "Tmux Vim Mode: Enabled"' \; \
display-message "Tmux Vim Mode: DISABLED"
\
当您使用这种延续时,请确保是行中的最后一个字符。键入Shift-F12将执行解除绑定,并重新绑定到run-shell
可以处理source
anddisplay-message
作为内部单个字符串的处理''
。我已经将这些信息颠倒过来了,我认为你想要的,但我可能是错的。
推荐阅读
- google-bigquery - 如何将字段中的值转换为 Google Big Query 中的不同字段?
- java - 初始化 OkHttpClient 时出现 java.lang.StackOverflowError
- python - request.POST 没有在 Django 中读取表单数据
- r - GGanimate (R) :创建动画与一系列图像
- javascript - 未捕获的类型错误:b 未定义。如何解决此类错误?
- angular - Safari 上带有 Angular 组件的 Ionic V5 问题
- python - Python 找不到自己的目录,“ModuleNotFoundError: No module named ...”(Spyder IDE)
- javascript - jQuery 中的 getElementById(e.target.value) 等效项
- intellij-idea - 谷歌分析与 grails 4.x 应用程序的集成
- flutter - I need hashtag sign in url launcher TEL, but it gets removed automatically