MAC工作机提升工作效率的tips
前言:
MAC和Windows环境不一样。Window靠着资源管理器explorer.exe,并且提供桌面环境和shell工具比如xshell。工作环境切换到MAC,MAC属于类Unix操作系统(*NIX)。由于不同的系统框架设定,Windows好用的工具软件在MAC不一定有一样好用的用户体育。MAC OSX采用的是另一种设计,Linux的桌面环境(Linux KDE, GNOME等)和文件设备管理器 (Nautilus, Dolphin等).
一、mac高效shell软件
MAC上类似与Xshell的软件,目前流行度第一的还是OS X系统自带的iterm2。
iterm2开启多个会话。支持搜索拦,命令自动补齐和多配置设定。iterms还有比xshell更好用的一线使用技巧。
比如:
- 通过打开iTerm > Preferences (或
⌘ + ,
),在keys->Hotkey选项中勾选“Show/hide all windows with a system-wide hotkey”。此后就可以方面通过组合键(options+空格 隐藏/显示iterms2窗口)
- 开启新的Tab页(
⌘ + t
.),在当前页面下水平开启多个页(⌘ + d,垂直是⌘ + d +shift)。
- 左右移动tab页面的命令键是(⌘ + Shift + ]或者⌘ + Shift + [)
- 支持在shell终端(包括历史执行的结果,整个会话的执行历史相当于一个文本)搜索字符串(⌘ + f),查找下一个(⌘ +g)
- 支持将shell命令下发到多个tab会话中(⌘ + Option + I,再次敲击快捷键关闭此功能)
- 清理终端屏幕(⌘ + k,或者ctrl+l),ctrl+l会保留当前输入的命令行缓冲。
- 最大化窗口(⌘ + Shift + = 或者⌘ + Enter),⌘ + Shift + = 会保留菜单栏。
- 改变字体大小(⌘ + + 或者⌘ + -),找到光标位置(⌘ + /)
二、iterms2可用自由的拖拽上传下载
curl -L https://iterm2.com/misc/install_shell_integration.sh | bash |
---|
再本地mac shell和远程的shell(要执行上传下载的机器)都装上。然后会出现一个蓝色的右三角图标。
- 下载文件,选择文件,右击选择download with scp from,
- 因为说通过scp上传,在执行scp上传之前,记得把host_name的变量改成IP地址
export iterm2_hostname="你的ip"
upload: 把文件拖拽至shell,不要放开鼠标,接着按下option键。出现将执行scp上传的确认对话框。
三、从bash到Zsh到fish
shell上一个程序把键盘输入的命令发送给操作系统执行,常用的比如Bash(Bourne Again Shell)。Zsh作为高阶版的Bourne shell扩展。Zsh做了命令行的补充(数百个命令的扩展),继承了bash的glob特性(不需用find,直接在执行命令支持正则的找到文件。比如说ls go+(.bak) 找到一个文件名为go并且出现一次bak的文件,并把它list出来。Zsh还支持命令历史继承,改善的变量和array支持,一个输入缓冲中支持多行命令编辑,命令拼写校正。Zsh兼容在bash,执行/bin/sh相当于执行zsh。甚至可选模块(tcp,uds网络支持,数学运算),where命令支持在所有的PATH环境变量定义路径找到命令,路径文件夹缩写等等。
3.1. fish特性
Fish(Friendly Interactive SHell),Fish致力于作出用户交互性更好的shell产品。它的特点包括
- 自动完成填充和自动建议
比如说敲了ls -he, 他会用暗灰色字体建议输入ls -help. 当从敲命令的第一个字母开始,这个 建议实时刷新。一开始会标红,因为命令不是正确完整的,一旦敲入所有的命令,红色的字体会变蓝色。
按方向键右自动填充建议,tab键打开补齐选项, 选项说根据man页面的选项提示。tab键按完再按空格进行搜索。
- 命令输入错误的更正信息更易读懂,比如fish支持and和or替换&&和||。 mkdir ~/something; and echo "Done"; or echo "error"
- 支持命令嵌套,统计一个工程每个文件的代码量,wc -l (ls -a myproject).
- 总之fish脚本语言更易用,语法清晰简洁,有点像python,比较下列两种不同shell的写法
#bash
export PATH=~/bin:¥(PATH)
.#fish
set -gx PATH ~/bin
3.2. 安装fish
linux,yum install fish(或者apt)。chsh -l找到fish的二进制路径,chsh -s /usr/bin/fish
- 另外打开web配置页面,fish_config, 浏览器访问http://localhost:8000.因为服务器的监听说根据网卡的配置的ip,如果说云虚拟机,此项可能会失败
- 自动补齐的配置放在~/.config/fish/completions。然后再执行fish_update_completions
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C++ | 对象的初始化和清理
- 比PS还好用!Python 20行代码批量抠图
- 将有序数组转化为二叉搜索树
- 至少有K个重复字符的最长子串
- django这些查询技巧你会了吗?
- 手把手教你配置vim,小白也可以
- 【NPM库】- 0x02
- 最长有效括号
- 统计全为1的子矩形
- Android Camera1中的人脸检测
- Executors功能如此强大,ThreadPoolExecutor功不可没(一)
- dotNET:怎样处理程序中的异常(实战篇)?
- 二维背包问题
- 小程序系列之禁用视频快进
- springBoot整合Mq报错:JmsMessagingTemplate that could not be found