mac工作软件推荐-iterm + zsh + tmux
原文链接: http://ju.outofmemory.cn/entry/57244
tmux安装https://blog.csdn.net/nmgzywd/article/details/50915772
mac上的Terminal + bash + screen组合现在已经非常好用了,但是还是经不起iterm+zsh+tmux的冲击。在同事的强烈推荐下,趁着升级mac系统的机会,顺便也切换到iterm+zsh+tmux的环境下了。
我为什么要要iterm2
切换过来也是脑袋一热的冲动,我也调查过一些资料,看了下iterm的一些优点:
* 兼容性好,远程服务器 vi 什么的低版本能很好兼容,Terminal 则会出问题 (我是长时间在服务器上混的人,但其实并没有这种感觉~~)
* 支持 xterm-256 色,方便在终端中配置 vim/emacs 代码配色 (其实Terminal现在已经支持256色了)
* 快捷键丰富,自带/自己定义都很方便 (这个是关键,快捷键都我非常重要)
* 分屏简单方便,可以根据自己需要同时搭配上 tmux,大屏用起来爽到爆 (分屏只需要 command +(shift)+ d)
个人常用的快捷键和功能:
1. ⌘ + 数字 : 各 tab 标签切换
2. ⌘ + f : 查找 ,所查找的内容会被自动复制 ,输入查找的部分字符,找到匹配的值按tab,即可复制
3. ⌘ + d : 横着分屏
4. ⌘ + shift + d : 竖着分屏
5. ⌘ + r = clear : 换到新一屏,而不是 类似clear ,会创建一个空屏
6. ctrl + u :清空当前行,无论光标在什么位置
7. (**) + ⌘ + ; : [(**) 输入的命令开头字符],会自动列出输入过的命令
8. ⌘ + shift + h : 会列出剪切板历史
9. ⌘← / ⌘→ : 到一行命令最左边/最右边
10. ⌘ + enter : 全屏
为什么要选择zsh?
至少在我看来,zsh是兼容bash,对现有的操作是没有任何的影响。而且还带来来不少新的特性来减少我们的输入:
1. 连续tab,给出所有的补全列表并直接进入到选择列表 cd <tab><tab>
2. 不记得命令的参数?没关系,输入命令直接tab给出就能给出参数说明,zsh后还用得着man函数吗??? tar – <tab>
3. kill进程,还需要先查进程吗?用zsh,只需tab就能把所有进程展示给你,很强大的一个功能。 kill <tab>
4. 智能查找历史命令,在用<ctrl-p>或者方向上键查找历史命令时,zsh支持限制查找。比如,输入ls 然后再按方向上键,则只会查找用过的ls命令。
5. 多个终端会话共享历史记录。多个窗口,tab,tmux。所有的命令历史都可以共享。
6. zsh还支持后缀alias,即以什么命令打开特定的后缀名文件。例如alias -s js=mvim,输入hello.js,会以vim打开该文件,而不在需要vim hello.js。
7. 递归搜索,ll **/*.log,find命令大部分场景被取代了。
至于安装和配置zsh,得感谢robbyrussell开发得oh-my-zsh,这玩意就是一个开源的zsh配置管理框架,提供了大量实用的功能,主题等。
使用brew来安装zsh
brew install zsh
设置zsh为默认,在/etc/shells文件末尾添加
/usr/local/bin/zsh
执行:
chsh -s /usr/local/bin/zsh
最后记得将~/.bash_prorile或者~/.profile等配置拷贝到~/.zshrc中。
安装oh-my-zsh
自动安装:
curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh
可以选择自己喜欢的主题。只需要修改~/.zshrc文件中的ZSH_THEME即可。
为什么要选择tmux
1. 掉线仍然能保证工作现场
2. tmux完全使用键盘控制窗口,实现窗口的切换
当然还有其它很多得优点,暂时我没还用上,对我而已,跟风了解下而已。安装也非常得简单:
brew install tmux
搜集到得一些快捷键:
Ctrl+b // 激活控制台;此时以下按键生效
系统操作
? // 列出所有快捷键;按q返回
d // 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话
D // 选择要脱离的会话;在同时开启了多个会话时使用
Ctrl+z // 挂起当前会话
r // 强制重绘未脱离的会话
s // 选择并切换会话;在同时开启了多个会话时使用
: // 进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器
[ // 进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出
~ // 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息
窗口操作
c // 创建新窗口
& // 关闭当前窗口
数字键 // 切换至指定窗口
p // 切换至上一窗口
n // 切换至下一窗口
l // 在前后两个窗口间互相切换
w // 通过窗口列表切换窗口
, // 重命名当前窗口;这样便于识别
. // 修改当前窗口编号;相当于窗口重新排序
f // 在所有窗口中查找指定文本
面板操作
” // 将当前面板平分为上下两块
% // 将当前面板平分为左右两块
x // 关闭当前面板
! // 将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板
Ctrl+方向键 // 以1个单元格为单位移动边缘以调整当前面板大小
Alt+方向键 // 以5个单元格为单位移动边缘以调整当前面板大小
Space // 在预置的面板布局中循环切换;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled
q // 显示面板编号
o // 在当前窗口中选择下一面板
方向键 // 移动光标以选择面板
{ // 向前置换当前面板
} // 向后置换当前面板
Alt+o // 逆时针旋转当前窗口的面板
Ctrl+o // 顺时针旋转当前窗口的面板
mac工作软件推荐-iterm + zsh + tmux的更多相关文章
- Mac必备软件推荐
阅读原文http://littlewhite.us/archives/245 随着IOS的流行.Mac电脑也越来越多的进入人们的视野,和iPhone系列一样,苹果的Mac产品线也是软硬件完美结合.有着 ...
- MAC常用软件推荐
SQL建模 http://dbwrench.com/download/install/mac_install.shtml 参考https://github.com/helantao/macOS/blo ...
- Mac 常用软件推荐
1.常用软件推荐 这里推荐的 apps 在开发者圈子内普遍评价不错,能便利的处理日常的开发和使用的任务.以下推荐分为四类: 开发者工具 生产力工具 办公工具 其他 2.Developer Tools ...
- [转]Mac常用软件推荐
https://github.com/hzlzh/Best-App
- Mac 软件专题:高效率工作和学习工具软件推荐
今天和大家分享软件专题:「高效率工作和学习工具」,简而言之就是提高你工作和学习效率的软件,这对于要天天使用Mac工作或学习的人来说太有帮助了,这里主要分享大家平时经常用的一些,欢迎留言补充. 本文图片 ...
- Mac 装机必备软件推荐
所谓Mac 装机必备软件,就是用 Mac OS X 几乎都要安装的软件,无论你是开发者.设计师还是摄影师,如果你是刚开始用 Mac,那么推荐看看以下内容,对你非常有帮助. 一.输入法 Mac 自带的中 ...
- Mac影音多媒体工具软件推荐
今天和大家分享软件专题:「影音多媒体工具」,今天的「影音多媒体工具」主要包含音乐播放.音频编辑.视频播放.视频编辑.截图录像等类别的软件. 有需要其他类型的软件,可在评论区留言或私信于我[磨人的小妖精 ...
- 强大的 10款 Mac 思维导图和流程图软件推荐
本文首发于[风云社区 SCOEE],想了解更多mac软件相关内容,可到[风云社区 SCOEE] 今天和大家分享思维导图和流程图工具,思维导图软件可以说应用非常的广,无论是设计工作.开发工作.管理工作都 ...
- 10款 Mac 经典原型设计开发软件推荐
在Mac上有大量强大的开发和设计工具,今天和大家推荐10款Mac上的经典原型设计开发工具,原型设计工具是开发者必备的一款工具,无论是网站开发还是移动APP开发,都需要在前期进行严格细致的原型设计,才能 ...
随机推荐
- 详解zabbix安装部署(Server端篇) (转)
Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员. 今天开始研究下Zabbix,使 ...
- java消息中间件之ActiveMQ初识
目录 消息中间件简介 解耦合和异步 可靠性和高效性 JMS P2P Pub/Sub AMQP JMS和AMQP对比 常见消息中间件 ActiveMQ RabbitMQ Kafka 综合比较 标签(空格 ...
- 《大话操作系统——做坚实的project实践派》(4)
操作系统内核必需要关注一个详细硬件平台的设备 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbG1ub3M=/font/5a6L5L2T/fontsi ...
- ApplicationContextRunner如何简化自动配置测试
1. 概览 众所周知,自动配置是Spring Boot的关键功能之一, 但测试自动配置可能会很棘手. 在以下部分中,我们将展示ApplicationContextRunner如何简化自动配置测试. 2 ...
- mybatis介绍安装
MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简单 ...
- spring+struts1
概括及介绍: 集成原理:在Action 中获得BeanFactory,通过BeanFactory取得业务逻辑对象 本例采用:JDK1.8,tomcat7.0.9 技术点:spring与strut1集 ...
- MySQL 下 ROW_NUMBER / DENSE_RANK / RANK 的实现
原文链接:http://hi.baidu.com/wangzhiqing999/item/7ca215d8ec9823ee785daa2b MySQL 下 ROW_NUMBER / DENSE_RAN ...
- 软件测试人员需要精通的开发语言(1)--- VBScript
软件测试不局限于点点点的纯黑盒测试,提升自身的代码能力也是事关重要的.软件测试的发展,越来越多的公司对于测试人员的要求也日益提高,测试人员必备开发能力的优势也凸显出来.简单的介绍下部分开发语言的学习及 ...
- 【BZOJ3926】[Zjoi2015]诸神眷顾的幻想乡 广义后缀自动机
[BZOJ3926][Zjoi2015]诸神眷顾的幻想乡 Description 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝 ...
- linux下jdk多版本管理
linux下jdk多版本管理 项目开发中,不管是哪种语言都避免不了多个版本环境管理问题(本文虽然以jdk为例来写的,但不仅限于jdk),如何能做到快速的环境升级与切换确实是一件深思的事! 安装jdk ...