个人常用的效率软件及说明
俗话说,工欲善其事,必先利其器。好的工具可以帮助我们提升工作和学习。废话不多说,今天就说一说我的一些常用的工具,以及一些相关配置和快捷键。
iTerm2 + oh-my-zsh
这一套组合,对于开发来说,有多么方便,那就不用多说了。下面说说一些可能会遇到的一些小问题,和一些很值得试一试的插件。
安装oh-my-zsh以后,bash_profile不生效
.zshrc
中加上 source ~/.bash_profile
,然后 source ~/.zshrc
即可。
- github相关issues: https://github.com/robbyrussell/oh-my-zsh/issues/3807
iterm2的常用快捷键
新建标签:command + t
关闭标签:command + w
切换标签:command + 数字 command + 左右方向键
切换全屏:command + enter
查找:command + f
垂直分屏:command + d
水平分屏:command + shift + d
查看剪贴板历史:command + shift + h
其实这个查看剪贴板历史的快捷键我并不常用,平常用的比较多的是Alfred的剪贴板。因为iTerm2里的只能展示iTerm2里面你有过 Ctrl + C
行为的历史。相比较而言,Alfred的适用场景更广。
常用插件
oh-my-zsh还提供了丰富的插件,可以到官方的github上查看支持的插件。官方wiki:https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins
我本地安装了git、extract、docker三个插件,其中git和docker,大家都比较熟悉,装这个,主要是为了自动补全功能。extract是一个解压缩的插件,支持 7z
、zip
、tar
、zip
、rar
等等压缩格式。而且使用特别简单,extract abc.tar.gz
解压, extract -r abc.zip
解压并删除压缩文件。
plugins=(
git
extract
docker
)
还有很多也很方便、有意思的插件,这个就看个人喜好了。你可以参考官方的wiki,添加一些自己喜欢的插件。
其他
emmmm,个人不太习惯oh-my-zsh的路径展示,还是比较习惯那种全路径展示的样子。下面是 git diff
的结果,其实就是对路径的展示做了一丢丢的调整,加上了当前的路径 [$PWD]
。
PROMPT="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ )"
-PROMPT+=' %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)'
+PROMPT+=' %{$fg[cyan]%}[$PWD]%{$reset_color%} $(git_prompt_info)'
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
分屏工具Spectacle
MacOS里面的全屏,系统自带的快捷键 cmd + control + f
,是完完全全的全屏化,个人还是十分习惯Windows下的那种最大化的。而且MacOS下,打开的文件,没有最大化的快捷方式。所以就找到了这样的一款工具:Spectacle。
其实除了最大化的全屏以后,他还有其他的分屏功能。这些就可以根据个人喜欢,针对性的设置了。
文档工具Dash
如果你经常有查阅文档的需求,那么Dash将会是你非常好用的帮手。你可以在Dash中下载你所需要用到的文档,然后通过搜索查看相关内容,这一点配合Alfred,能极大的提升你查找文档的速度。Dash->Preferences->Integration->Alfred
可以将Dash和Alfred集成到一起,然后唤醒Alfred,输入dash前缀(默认配置)即可在dash中实现快速查询。
Dash除了浏览查看文档以外,他还提供了代码片段功能(Snippets)。你可以把你经常用到的,一段很冗长的代码,设计成一个Snippet,然后只要输入Snippet的名称,就会自动将这段替换成对应的内容。
举个例子,作为一个Java程序员,Lombok是一个很方便的工具。其中对于一些DTO来说,我个人非常喜欢加上 @Data
、@Builder
、@NoArgsConstructor
、@AllArgsConstructor
这四个注解,而且我也并不太想写一个新的注解,去囊括这四个注解。这个时候,我可以定义一个Snippet,其名称叫 @lombok
,内容就是前面的这四个注解。只要我输入 @lombok
,就可以将内容替换成我定义好了的内容。
Alfred
MacOS下的又一款神器,Alfred能做的事情很多,他能像SpotLight一样,进行文件搜索、目录搜索、应用搜索、网页搜索等等搜索工作。除此之外,他还能快捷使用计算器,词典搜索,记录剪贴版历史,唤醒终端(当然也可以修改成iTerm2)等等功能。而且,Alfred Workflow,还能支持集成很多其他的功能。
下面我就简单介绍下我平常比较常用的一些功能,和我自己的一些配置。
计算器
Alfred会自动判断你输入的是否是一个可以计算的表达式,不过我更习惯前缀输入 =
来唤起计算。计算的结果会保存到剪切板,直接 Command + V
就可以快速将结果粘贴到你需要的位置。用来计算分库分表的取余结果,真的方便。
剪贴板历史
在 Features -> Clipboard History -> 勾选上 Keep Plain Text
,然后通过快捷键,唤起剪贴板历史,选择你需要的历史记录。
除了文本,Alfred还支持图片和文件的剪切历史保存。在Alfred中输入clear(默认配置)清除历史记录。
唤起终端(可以自定义修改成iTerm2)
Alfred还可以快速唤起Terminal,并执行你的shell命令。虽然我们使用的是iTerm2而不是Terminal,但是Alfred也是可以支持的。将 Application
选择为 Custom
,然后在下面的文本框中,填上这段 AppleScript 代码,就可以直接唤起 iTerm2 了。
on alfred_script(q)
if application "iTerm2" is running or application "iTerm" is running then
run script "
on run {q}
tell application \"iTerm\"
activate
try
select first window
set onlywindow to false
on error
create window with default profile
select first window
set onlywindow to true
end try
tell the first window
if onlywindow is false then
create tab with default profile
end if
tell current session to write text q
end tell
end tell
end run
" with parameters {q}
else
run script "
on run {q}
tell application \"iTerm\"
activate
try
select first window
on error
create window with default profile
select first window
end try
tell the first window
tell current session to write text q
end tell
end tell
end run
" with parameters {q}
end if
end alfred_script
1PassWord 和 系统快捷键
这是个保存密码的神器,同样Alfred也提供了1Password的支持,不过没钱,买不起,没用过。所以也就不展开说了。
Alfred还支持了一系列的系统快捷键,你要在唤起的Alfred输入框内,输入对应的命令,就可以执行相应的系统操作。
比如输入sleep,并回车,就可以快速将系统休眠。这一块的使用,可以说完全看个人喜好,你也可以使用系统自身的快捷键,也可以选择统一用Alfred的命令。
Alfred Workflow
如果说,Alfred自身的功能只能说是还不错的话,那么Alfred的Workflow确是给了Alfred无限的可能。Workflow支持自定义,这里主要介绍下我在用的几个别人开发好的workflow。你也可以在 http://www.packal.org/上浏览安装自己喜欢的workflow。
Dash
Dash官方提供了和Alfred的集成。打开Dash,Dash -> Preference-> Integration -> Alfred
,然后按照提示即可完成集成。完成后,输入前缀 dash
即可在Dash中实现搜索。
前文在讲Dash的时候,也有讲过,这里就不多讲了
有道词典
下载地址:http://www.packal.org/workflow/youdao-dict
很简单,也很方便吧。
Chrome 插件
Chrome的插件种类是真的很多很丰富,像adblock,tampermonkey一类的在此就不赘述了。介绍几个我很喜欢,也经常在用的插件。
Octotree
如果你经常浏览github的话,那么没什么好说的,这个肯定是必装的插件
Extension Manager
管理插件的工具,插件很多,且有一些并不是经常用到的话,可以用这个来管理。快速启用/停用插件,还是蛮方便的。
FeHelper
虽然号称是Web前端助手,但是很多功能都太实用了。例如JSON格式化,时间(戳)转换,字符串编解码等等。
有道划词
划词翻译,英文水平有限,看文档的时候遇到不认识的单词怎么办。有了这个插件以后,再也不用担心了。
OneTab
如果你经常会打开一大堆的网页,在关闭这些网页的时候,你发现其中有一些可能暂时没用,但是你并不想删掉,因为也许明天或者后天你就会用到它。但是你也并不想为他保存一个书签,那么怎么办呢,明明已经打开了那么多的标签页了,整个chrome都开了好多个窗口了。
OneTab就是解决这个困扰的,OneTab可以将这些标签页归档。比如工作空闲的时候,你找到了一些不错的学习博客,学到一半,突然工作来了,可能要忙很久,短期内没时间看这些文章了。这个时候就可以像这样归档了,当你再次空下来的时候,恢复这些标签,重新继续你的学习吧。
截屏gif工具 Kap
在写文档,或者某些demo时,我们会有这样的需求,录制一小段的操作视频,然后这个视频可以保存为gif格式的,方便保存和显示。Kap就是这样的一个工具。你可以定义你需要截屏的大小,甚至你可以将音频也录制进去。不过对我而言,基本上生成gif就够了。
在录制完毕的时候,导出录制的内容,你可以再去调整对应的size,fps,也可以选择导出的格式。导出的时候默认的分辨率比较高,建议把size调整的相对小一点,fps看情况做调整,否则你就可能得到一个几百MB的gif图。
demo的话,前面的那个Alfred的计算,就是用Kap录制的。怎么样,很棒吧。