在前面一篇文章 (文章取名装 X 失败, 悲伤) 中, 我已经介绍了一些大众化的软件, 当然作为程序猿的你也应该参考参考. 本篇文章将介绍一些可以提高程序猿工作效率的一些软件和工具及相关配置.
首先介绍的就是我觉得应该熟悉 Mac 内置的一些软件及配置.
中启用, 用 tap 替换 click 的操作, 明明轻轻 tap 就可以完成的, 为何还要用力点击才 OK. 现在偶尔用其他人电脑非得用力 click 就太纠结了. 同时, 还有 "右键" 功能, Secondary click , 用两个手指 tap 弹出右键菜单.
- System Preferences -> Trackpad
可以显示桌面, 相应的功能在 Mac 下如何做.
- win+d
作为程序猿, 肯定离不开各种快捷键. 对于 Mac 内置的一些快捷键, 我们还是很有必要知道的. 基本的复制 / 粘贴就不说了, 常用的还有
- 空格键: 预览cmd + ,
- :设置cmd + -/=: 缩小/放大ctrl + u: 删除到行首 (与zsh冲突, zsh中是删除整行) ctrl + k: 删除到行尾ctrl + p / n: 上 / 下移动一行或者前 / 后一个命令ctrl + b / f: 光标前 / 后移char esc + b / f: 光标前 / 后移word(蛋疼不能连续work) ctrl + a / e: 到行首 / 行尾ctrl + h / d: 删前 / 后字符ctrl + y: 粘贴ctrl + w: 删除前一个单词esc + d: 删后一个单词ctrl + _: undo ctrl + r: bck - i - search / reverse - i - search,
- 输入关键字搜索历史命令
上面的这些快捷键特别是在敲命令时还是很有用的 (可能有的确实是在命令行中才生效), 特别是结合 zsh 自动补全等功能. 比较 DT 的是就是
一起用的时候, 不能连续使用. 举个例子, terminal 中输入了
- esc
, 光标在末尾, 这时按住
- git push origin source
不放, 按一下
- ctrl
即向前删除一个单词, 第一次按
- w
删除 , 再按
- w
删除 . 而
- w
不能这样结合使用 (如下 gif 连续按就不 work),
- esc + d
必须中途释放再按才能 work.
- esc
啥? 你说上面快捷键
等不太好按? 按键特别别扭? 你需要做的就是将
- ctrl + w
映射为
- caps lock
,
- ctrl
修改, 目前我笔记本上的
- Keyboard -> Modifier Keys
键无效. 不过, 一般情况下我用我的 HHKB, 这种映射方式正好符合 HHKB 的布局. (其实我是在买 HHKB 之前就修改的这个映射)
- ctrl
另外, 借助之前介绍的 Karabiner , 可以将一些常用的方向键 (上下左右) 重新映射一下, 比如我目前是
来表示方向, 手不用太移动就能直接按方向 (HHKB 本身按方向太麻烦, Mac 内置键盘有方向键还需要大幅度移动手), 用起来方便多了.
- s + h/j/k/l
Mac 内置的更多的快捷键列表可以参考
其他还有一些常用的软件的快捷键, 可以用之前介绍的软件 cheetsheet, 长按 cmd , 可弹出当前 active 的软件的快捷键.
这个从快捷键中单独列出来了, 就强调下这个功能.
截取整个屏幕.
- cmd + shift + 3
部分窗口, 出现十字供选取, 若此时按 空格键 (这个技能得点赞), 会选取当前应用的窗口, 再 tap 即可完成截图.
- cmd + shift + 4
上面快捷键是截图后以文件形式保存在桌面 (默认是桌面, 当然你也可以自己修改保存位置), 再上面快捷键基础上再同时按
就会把图片保存在内存 / 剪贴板中, 直接去相应窗口粘贴即可.
- ctrl
类似 centos 的 yum , ubuntu 的 apt-get , 能够方便管理安装软件包. Mac 上类似的应用还有 port , 我刚开始试用过 port, 貌似 brew 上的源会多一些. brew-cask 是 brew 的一个加强版, 可以安装一些桌面应用, 例如 chrome 等等之类的.
这里就不多介绍了, 详情可以到官网查看.
有介绍功能. 以下是觉得可能常用的功能.
竖着分屏,
- cmd + d
横着分屏
- cmd + shift + d
新建一个 tab,
- cmd + t
切换到第 num 个 tab
- cmd + num
和
- cmd + [
来进行切换小的分屏
- cmd + ]
, 弹出 iTerm2, 且以半透明的方式显示在当前 active 的窗口上面.
- alt + 空格
搜索输入关键字后, 匹配的会黄色高亮, 此时按
- cmd + f
或者
- tab
会自动向后 / 前以 word 的方式选中高亮的, 并自动 copy 到剪切板.
- shift + tab
, 在所有的 tab 中全局搜索, 搜索出候选项后, 再选着你想要进入的 tab.
- cmd + alt + e
加点击的方式直接打开链接或者文件 (如下图上半部分). 这个功能很重要呢, 比如在编译过程中, 出现了 warning 或者 error, 一般会打印出具体文件路径, 此时直接从控制台就能打开文件进行 fix 了.
- cmd
), 不过建议直接结合后面的 zsh 使用.
- cmd + ;
剪贴板历史 (下图最后一行).
- cmd + shift + h
这个墙裂推荐啊. 结合 , 丰富的 .
语法高亮, 自动补全等特别好, 在此推荐的几个插件或功能.
- alias gs = 'git status'alias gb = 'git branch -va'alias gco = 'git checkout'alias ga = 'git add'alias gc = 'git commit -m'alias gp = 'git push'alias gfom = 'git fetch origin master'alias gfod = 'git fetch origin develop'alias grod = 'git rebase origin/develop'alias grom = 'git rebase origin/master'
过的目录, 下次你直接
- cd
就会自动
- j keyword
到以 匹配的目录. 输入
- cd
会展示当前会话访问过的目录, 然后对应目录有标号, 接下来按标号即可跳转.
- d
(cd finder) 就自动
- cdf
到 finder 打开的目录下.
- cd
, 此时光标还在
- git
前面, zsh 就已经自动给我补全了
- p
, 此时我只要按
- git push origin source
跳转到行尾 (所以熟悉上文中的快捷键很有必要啊), 回车即可执行命令了.
- ctrl + e
更多的, 还是请到官网查看.
文本编辑器, 也有丰富的插件支持, 直接 看吧. 这个 App, 我用得也不是很多.
这里分享一个小的功能, 怎么在命令行用 sublime 打开特定的文件. 其实就是添加一个软链即可. (直接
会以文件默认关键的软件打开)
- open filename
- ➜app - in-mac git: (source)✗subl dungeon - game.cpp➜app - in-mac git: (source)✗which subl / usr / local / bin / subl➜app - in-mac git: (source)✗ls - la / usr / local / bin / subl lrwxr - xr - x 1 tanglei admin 62 1 24 2016 / usr / local / bin / subl - >/Applications/Sublime Text.app / Contents / SharedSupport / bin / subl
介绍 Vim 的文章也很多了. 这里就不详细展开了. 分享下我用的部分插件. (最近被 IntelliJ IDEA 搞得恶心了, 准备尝试抛弃), 为了让多台电脑同步我的 vim 配置 / 插件等, 我直接放 github 了 ( ), 不同电脑只需要再建一个软链到 github 中的 vimrc 即可.
目录下即可
- ~/.vim/bundle/
等配对信息, ,
- (), "", []
具体效果等配置方法可以参考下面的两篇文章, 插件具体用法可阅读具体插件的 doc.
Reference
其实介绍前文 介绍 Alfred 已经提到过, 这里再介绍一下. 程序猿应该必备啊. 内置各种语言, 各种环境的各种文档. 该 App 还提供各种 API 供其他工具交互使用. 例如 Vim(不是想象当中自动补全功能, 只是能够快捷地搜索 API), Sublime 等. (p.s 要是有人写了一个 Vim 插件, 能够支持调用 dash 的 API(如果有的话) 自动补全代码, 那应该会很受欢迎的)
插件
;
- curl
类 Windows 下 Fiddler 抓包应用.
相关命令
- tcpdump
一些好用的命令 (基本的什么
之类的这里就直接忽略了), 我觉得作为程序猿还是应该了解, 至少只当某个场景下直接用相应的命令就能解决. 具体参数可以再
- ls/cd/cp/rm
或者
- --help
再看.
- man commond
等
- traceroute, dig
也可以
- awk
一块用, 只能去重相邻的行
- sort
(输出 3 列, 分别是: 只在文件 1, 只在文件 2 和两个文件都在的行)
- comm
结合这些命令可能就能完成某些复杂的功能, 举个例子, 如线上的 web 访问日志会记录 等等. 现在需要统计 当天请求路径为 A, 排名前 10 的参数, 就可以 ` grep 路径 A | cut 取出想要的数据列 | sort | uniq ` 之类的, 或者比如统计 http 404 请求最多的 10 个路径. 再比如, 随机生成 3 个长度为 8 包含字母数字的字符串 (偶尔会用到, 比如各种生产 secret key 的时候), 直接用如下命令即可 |
- ➜_includes git: (source)✗cat / dev / urandom | sed 's/[^a-zA-Z0-9]//g' | head - n 3 | cut - c 1 - 8 MaL6nEmZ 00m2Ub19 rsc4AOQm
其他的可能较少用, 但一旦用, 能省不少时间. 网上也有一些 online 的工具, 但哪有这个快准狠.
比如批量处理图片大小, 压缩等等
- scriptable image processing system
全文完, 关于 Mac 使用技巧和工具软件推荐, 一共如下 3 篇文章:
来源: http://www.tuicool.com/articles/Aj2aUrI