爱客仕-前端团队博客园

Mac使用小技巧

懒人的懒用法

之前有小伙伴分享了很多Mac下的小工具用于提高工作效率,不得不说,即使告诉了软件名以及用软件的各种好处,也不是一定安利成功的!!!

当然每个人对工具的理解不同,以及一些奇葩的使用习惯,本文仅对自身的一些奇葩需求做了优化技巧

一起从需求说起

首先我只有1个屏幕

问题来了,开发的时候需要编辑器+终端+浏览器(还得开着开发者工具)

如何高效分配屏幕使用率就势在必行,三指拖拽什么的太慢了

工具来了

小伙伴推荐了moon,简单看了介绍,我觉得这可能不是我想要的,我要个傻瓜版,也就是懒人版,我要biu一下就让这个窗口跑到右上角去,而且不要设置,就是那么傻瓜,然后我找到了Magnet

下载安装不啰嗦(正版是肯定要收费的,我下载了xx版体验,请支持正版),打开软件先遇到当头棒喝——‘这个软件已损坏’,我呵呵呵,第一个坑来了,来填坑

1
sudo spctl --master-disable

简单解释下:spctl是啥,就是不让你装xx版本的,我们先把它关掉。如果电脑设置了密码会提示输入密码,这个就必需输入了

好了,现在软件可以打开了,记得把spctl给开启,安全第一啊

1
sudo spctl --master-enable

安装完毕,系统偏好设置-安全性与隐私-辅助功能,会多一个选项,这个要打开左下角的锁然后勾选,才能生效,具体实现看官网图

官方介绍

再来说说我和终端的故事,哦不,没有故事,就是默默的用而已。。。

首先要说大石头是个安利专员,已经被多次安利WebStorm后,终于用上了,然后他去玩vs code了(这又是另一个故事了)

忽然有一天他发来一段东东让我马上装起来,嗯,略显粗暴的安利

1
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

当然我不会你说装我就装,我也是有脑子的,对,这个没有笑点!!!嗯,提取关键字’oh-my-zsh’,这个是可以装,其实是一直想装然后想着终端用用也够了就没有装

然后这个世界就变了。。。具体怎么变的我已经不太记得了,因为我已经换肤过了,哦不,我的终端换肤过了

既然装了,折腾的心就起来了,为什么你在终端输入ns就执行了npm start?

定制化zsh配置

1
nano ~/.zshrc

进入配置文件后,在最后输入

1
2
alias pz="nano ~/.zshrc"
alias ns="npm start"

alias就是别名啦,表示你输入’pz’就会执行等号后面的命令,可以方便的修改配置

ctrl + o 是保存,ctrl + x 是退出,现在试试输入’pz’ 好像没反应嘛,这正常的,改了配置得重启哈,可以通过’source ~/.zshrc’或者’. ~/.zshrc’立刻加载修改后的设置,使之生效,或者新开tab终端也行(原理是,每次新开终端,都会读取.zshrc文件)

默认的终端也可以定制哟

1
nano ~/.bashrc

配置方式一致,就不再重复

再说个尴尬的事儿,关于IP

笔记本正常来说,都是用Wi-Fi的嘛,然后公司网络又是没有mac地址绑定的,那就造成用笔记本的孩子IP天天变啊,联调的时候就经常被问起,今天你IP多少啊?

Mac如何快速查看IP,其实和windows下走个命令行差不多,终端又出场了,闲着也闲着,new一个终端窗口来

1
alias ip="ipconfig getifaddr en1"

保存关闭重启,来个’ip’,出来个’192.168.1.105’,简单明了

ps: 如果本身用alfred的workflow,那速度还能更快,当然获取ip的原理是不变的

最后再说个常见问题叫端口被占用

也别管这是什么时候被什么东西占的坑了,反正我不要换坑,那就要把占坑的找出来砍了,比如说我的坑号是’9001’

万事靠终端

1
lsof -i:9001

终端会把坏人给列出来

1
2
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 92239 tutu 30u IPv4 0xb8e1ecea1bd5ab81 0t0 TCP *:terabase (LISTEN)

找人坏人在哪里了,这就去砍了它

1
kill 92239

简单明了,莫名的有爽点。。。然后就可以入坑了

附上文中提到的几个alias

1
2
3
4
5
alias pz="nano ~/.zshrc"
alias cq=". ~/.zshrc"
alias ip="ipconfig getifaddr en1"
alias ns="npm start"
alias ni="npm i"