惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Spread Privacy
Spread Privacy
H
Hacker News: Front Page
PCI Perspectives
PCI Perspectives
Webroot Blog
Webroot Blog
罗磊的独立博客
H
Heimdal Security Blog
TaoSecurity Blog
TaoSecurity Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
Last Week in AI
Last Week in AI
美团技术团队
Help Net Security
Help Net Security
The Hacker News
The Hacker News
C
Cisco Blogs
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
The Register - Security
The Register - Security
IT之家
IT之家
WordPress大学
WordPress大学
Jina AI
Jina AI
Recent Commits to openclaw:main
Recent Commits to openclaw:main
H
Help Net Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Threat Research - Cisco Blogs
P
Proofpoint News Feed
NISL@THU
NISL@THU
爱范儿
爱范儿
The GitHub Blog
The GitHub Blog
Scott Helme
Scott Helme
V
Vulnerabilities – Threatpost
B
Blog
T
Tenable Blog
博客园 - 三生石上(FineUI控件)
T
The Exploit Database - CXSecurity.com
S
Security Affairs
小众软件
小众软件
Hacker News: Ask HN
Hacker News: Ask HN
Security Latest
Security Latest
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
W
WeLiveSecurity
A
Arctic Wolf
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
M
MIT News - Artificial intelligence

Posts on WKLKEN THINKING

apisix 中的 lrucache apisix 中的服务发现机制 apisix 中的负载均衡 apisix etcd机制 聊聊框架 关于 k8s 的 zero downtime deployment 一些建议 apisix 遇到的一些问题 关于在除夕前一天换了一个洗衣机的故事 Django DRF 性能优化 DRF 的一些实践 Part1: Serializer DRF继承关系图 Better Code: 关于接口的灵活性 新的仓库: wklken/naming 缓存使用的一些经验 Better Code: 抽象: 可扩展性与可维护性的抉择 Better Code: 异常时, 该提示用户哪些信息? Better Code: 更好的异常日志打印 Go: some libs Go: go-redis/cache升级的坑 Go: logrus性能提升 Go: gin validation 远程办公的一点总结 Go: 开发过程中的一些bug 项目管理实践: 风险驱动开发 Go: 一种error wrap调用链处理方式 漫谈技术选型 Go: 基于 apitest 做handler层单元测试 Go: go-sql-driver interpolateparams参数优化 [分享]深度工作 你需要更多的思考时间 Django项目重构小结 工作七年小结: 学习,生活及其他 [分享]bash日常: bash-utils 极客时间推广海报 2017总结: 予时光以意义 k8s APIServer源码: api注册详细细节 k8s APIServer源码: api注册主体流程 k8s APIServer源码: 服务启动 k8s APIServer源码: go-restful框架 重构 - 读书笔记(Python示例) 写给新人的沟通建议 vim 杂谈 - 关于快速编辑 vim 杂谈 - 关于移动 读书笔记-重构: 章11 处理概括关系 读书笔记-重构: 章10 简化函数调用 读书笔记-重构: 章9 简化表达式 读书笔记-重构: 章8 重新组织数据 读书笔记-重构: 章7 在对象之间搬移特性 读书笔记-重构: 章6 重新组织函数 Python 代码规范小结 [分享]关于vim ElasticSearch集群部署文档 Logstash+ElasticSearch处理mysql慢查询日志 [分享]关于代码调试DE那些事 Logstash+ElasticSearch+Kibana- 实现相对通用的数据收集分析 ELK维护的一些点(二) [分享]Python源码剖析-数据结构 一些Centos Python生产环境的部署命令 摘录<<6个月学会任何一种外语>> ELK 维护的一些点 也许是一个新的开始 一些vim的个性化配置 读书笔记-调试九法 这段时间的一些想法 Python 源码阅读 - 垃圾回收机制 我为什么要写博客 APUE笔记-第一章 UNIX基础知识 Python源码阅读-闭包的实现 Python源码阅读-内存管理机制(二) Python源码阅读-内存管理机制(一) Python-基础-数据结构小结 '活动'设计的一些trick 一些简单的Python测试题 Review and Restart 工作四周年小结 vim插件: surround & repeat[成对符号编辑] vim插件: gundo[时光机] vim插件: expand-region[区域选中] vim插件: quickrun[快速执行] vim插件: trailing-whitespace[行尾空格处理] vim插件: closetag[成对标签补全] vim插件: ctrlp[文件搜索] vim插件: airline[状态栏增强] vim插件: theme[主题] vim插件: tagbar[大纲式导航] vim插件: nerdcommenter[快速注释] vim插件: rainbow_parentheses[括号高亮] vim插件: syntastic[语法检查] vim插件: delimitmate[符号自动补全] vim插件: matchit[成对标签跳转] vim插件: easy-align[快速对齐] vim插件: multiple-cursors[多光标操作] vim插件: vim-signature[快速标记跳转] vim插件: easymotion[快速跳转] vim插件: vundle[管理插件] Elasticsearch几个问题的解决 分享一份 Vim 简介PPT k-vim 更新9.0版本 关于知识管理工具的思考 Logstash+ElasticSearch+Kibana处理nginx访问日志
我的tmux配置及说明【k-tmux】
2015-08-06 · via Posts on WKLKEN THINKING

配置了一份 k-tmux

以下快捷键是对这份配置的说明, 大部分为tmux通用, 部分为修改自定义

安装

mac
$ brew install tmux
$ brew install reattach-to-user-namespace

ubuntu
$ sudo apt-get install tmux

简要说明

tmux -> session -> window -> pane

  • Tmux可以管理多组会话
  • 一个会话(Session)可以包含多个窗口,一个窗口(Window)可以包含多个窗格(Pane)

操作前缀 PREFIX = Ctrl-a

1. session

# 创建, tmux new -s <name-of-my-session> 创建一个新的会话
$ tmux new -s basic

# 在tmux中创建一个会话
[PREFIX-:] new -s <name-of-my-session>

# 分离会话 detach
[PREFIX-d]
[detached (from session basic)]
or
$ tmux detach
or
[PREFIX-Ctrl-z]

# 查看已有会话列表(list-session)
$ tmux ls
basic: 1 windows (created Wed Aug  5 14:54:04 2015) [200x49]

# 在tmux中查看会话列表并切换
[PREFIX-s]

# 连接会话(只有一个)
$ tmux attach
$ tmux attach -t basic
$ tmux a -t basic

# 杀掉会话
$ tmux kill-session -t

# 重命名会话
[PREFIX-$]

2. window

# 创建一个新的窗口
[PREFIX-c]

# 重命名一个窗口
[PREFIX-,] 之后输入名字回车

# 切换到下一个窗口, k-tmux另外配置了PREFIX-t/T
[PREFIX-n]

# 切换到对应窗口
[PREFIX-1/2/3]

# 可视化选择切换到的窗口
[PREFIX-w]

# 查找窗口
[PREFIX-f]

# 退出窗口
exit or
[PREFIX-&] 会有确认

3. pane

分割 原先未修改键位的分割方式是[PREFIX-%][PREFIX-"] 重新映射为

# 垂直/水平分割窗口
[PREFIX-\] / [PREFIX--]

关闭pane

# 关闭一个面板, 要确认
[PREFIX-x]

或者
exit [面板里执行]

切换

[PREFIX-hjkl] pane之间移动

[Ctrl-hjkl]   pane之间移动
[Ctrl-\]      最近使用两个窗口之间切换
[PREFIX-q]    展示窗口数字并选择跳转
[PREFIX-o]    循环切换

大小调整

[Ctrl-HJKL] pane大小调整
[PREFIX-z]  trigger暂时把窗口变大

关闭及移动

[PREFIX-x] 关闭当前pane, 需确认
[PREFIX-}] 当前pane移到左边
[PREFIX-{] 当前pane移到右边

其他

[PREFIX-!]     当前pane在新的window中打开
[PREFIX-space] 会自动切换依次使用这些布局(几种窗口布局轮流切换)

4. 复制粘贴

[PREFIX-[] 进入复制模式

=> 可以进行的操作
space/v    开始选择
Ctrl-v     整块选择
hjkl       方向键移动
w/b        向前向后移动一个单词
fx/Fx      行内移动到下一个字符位置
ctrl-b/f   在缓冲区里面翻页
g/G        到缓冲区最顶/底端
/ ?        向下, 向上查找
n/N        查找后下一个, 上一个
Enter/y    复制
[PREFIX-]] 粘贴

其他增强:

# 复制整个pane可见区域
[PREFIX-:] capture-pane

# 查看缓冲区内容
[PREFIX-:] show-buffer

# 列出缓冲区列表
[PREFIX-:] list-buffers

# 从缓冲区列表选择并插入到当期面板
[PREFIX-:] choose-buffer => 回车

5. 其他

获得快捷键列表

[PREFIX-?]

进入命令模式

[PREFIX-:]

一些命令模式下的命令
# 新建窗口
new-window -n console

# 新建并执行命令
new-window -n processes "top"

6. 增强

1. Tmuxinator

Tmuxinator 是一个 Ruby 的 gem 包,可用于创建 Tmux 的会话。它的工作方式是先在配置文件中定义会话中的细节,然后用 1 条命令创建出这些会话

gem install tmuxinator
tmuxinator new project_a => ~/.tmuxinator/project_a.yml => 配置

启动: tmuxinator start project_a
可以别名: mux start project_a

2. vim插件

christoomey/vim-tmux-navigator, 安装更便捷的导航跳转

7. 资源及参考