Tmux会话管理(自动补全)
来源:互联网 发布:啥叫大数据 编辑:程序博客网 时间:2024/06/05 06:11
之前在使用 Tmux 时,自己写一个脚步用于快速切换会话,但是苦于没有会话名补全功能,每次都需要先查看会话名,然后才能进行切换,用起来十分麻烦,于是想实现 Shell 的自动补全功能,这样就可以不用去记会话名了。
Programmable Completion
在网上查找一番,发现 Linux 下有个 Programmable Completion 这个功能可以实现,于是尝试了一下果然可以,实现起来也很简单。假设我有一个程序 auto_comp ,我想为它添加自动补全,他包含的选项为: -a -b -c --appen --backup --compare
。其自动补全的实现如下:
新建
auto_comp.sh
,内容如下:# file: auto_comp.sh# 为 auto_comp 程序实现自动补全功能_auto_comp(){ local cur COMPREPLY=() # 用于存放可能的补全结果 cur=${COMP_WORDS[COMP_CWORD]} COMPREPLY=( $(compgen -W '-a -b -c --appen --backup --compare' -- $cur) ) return 0}complete -F _auto_comp ./auto_comp
在当前路径下新建 auto_comp 的可执行文件;
- 执行
source auto_comp.sh
命令;
完成上述步骤之后,auto_comp 程序便能在输入 Tab 后给出选项提示。
Tmux 会话补全
之前为了便于管理Tmux的会话,我写了个简单的脚本 stmux 用于创建或者连接到已有的会话,使用比较简单。
usage:stmux [session_name]1. 当 stmux 后没有指定会话名且当前没有 Tmux 会话时,stmux 将创建一个新的会话。2. 当 stmux 后没有指定会话名但当前有 Tmux 会话时,stmux 将连接到第一 Tmux 会话。3. 当 stmux 后指定会话名时,stmux 将连接到指定的会话。
由于 Tmux 会话名是不确定的且可以随时发生变化,因此我们需要动态获取 Tmux 的会话信息,好在 Tmux 提供了该功能。补全的脚本如下所示。
_stmux_autocomplete (){ local cur COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} opts=$(tmux ls -F "#{session_name}" 2>/dev/null) COMPREPLY=( $(compgen -W "$opts" -- $cur) ) return 0}complete -F _stmux_autocomplete stmux
更多的配置可以参考我的 Tmux 配置
0 0
- Tmux会话管理(自动补全)
- 自动补全(邮箱)
- screen和tmux管理shell会话
- screen和tmux管理shell会话
- Eclipse自动补全(取消“=”,空格,“.”和“;”的自动补全,加入TAB的自动补全)
- Eclipse自动补全(取消“=”,空格,“.”和“;”的自动补全,加入TAB的自动补全)
- shell 自动补全(compgen complete)
- Eclipse(MyEclipse) 自动补全
- 简单自动补全(js+css)
- Android自动补全(一)
- Android自动补全(二)
- 自动补全
- jquery自动补全
- 自动补全
- vim自动补全
- vim 自动补全
- vim自动补全
- Combobox 自动补全
- ★ZOJ 3380 Patchouli's Spell Cards 详细题解 (递推+组合数求方案数)
- 麦克网-龙灵修-Cocos2d-x开发深入进阶三阶段+5节课做一个天...
- nginx error_page详解
- Animator动画系统
- html中使用Ajax与后台接口api交互(以登录功能为例)
- Tmux会话管理(自动补全)
- 分享FlappyBird制作详解【价值139元】
- linux fopen打开大于2G文件出错的解决方法 (踩了一个大坑)
- 关于在activity中使用popuwindow关闭后引起崩溃的解决方法。
- sort
- 时间工具(jodaTime)
- cocos2d-x 3.0 跨平台游戏开发(官方售价550元)
- sum
- 知道csdn 的存在,开通博客,记录自己学习python经历的小发现及历程