proxy switchysharp(程序员怎么提高)

proxy switchysharp(程序员怎么提高)

图 by:石头

– 全文共 8514 字,17 图 –

背景

本篇文章将重点介绍一些可以提高程序猿工作效率的一些软件和工具及相关配置(主要还是针对 Mac)。

Mac built-in

首先介绍的就是我觉得应该熟悉 Mac 内置的一些软件及配置。

trackpad 配置

启用 Tap to click: 在 System Preferences -> Trackpad 中启用, 用 tap 替换 click 的操作,明明轻轻 tap 就可以完成的, 为何还要用力点击才 OK。现在偶尔用其他人电脑非得用力 click 就太纠结了。同时,还有 “右键”功能, Secondary click, 用两个手指 tap 弹出右键菜单。开启单词选词查询: 选中某个中英文单词后,三指 tab 会弹出词典释义。这个在石头哥之前的这篇文章中也有介绍。
proxy switchysharp(程序员怎么提高)

开启单词选词查询

Scroll 方向: 这个自己用习惯了就好。由于我刚开始从 Win 转向 Mac 的时候习惯用 Win 的那种方式,于是就没有开启 Scroll direction: natural, 然后也一直沿用至今。其他手势: 有必要熟悉一下,比如知道在 Win 环境下用 win+d 可以显示桌面,相应的功能在 Mac 下如何做。

快捷键

作为程序猿,肯定离不开各种快捷键。对于 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 的是就是 esc 一起用的时候,不能连续使用。举个例子,Terminal 中输入了 git push origin source,光标在末尾,这时按住ctrl 不放, 按一下 w 即向前删除一个单词,第一次按 w 删除 source,再按 w 删除 origin。而 esc + d 不能这样结合使用(如下 gif 连续按就不 work),esc 必须中途释放再按才能 work。不知道是不是石头使用的姿势不对,有知道的朋友,还帮忙指出一下啊。

proxy switchysharp(程序员怎么提高)

bash自动补全

啥?你说上面快捷键 ctrl + w 等不太好按?按键特别别扭?

你需要做的就是将 caps lock 映射为 ctrl, Keyboard -> Modifier Keys修改,目前我笔记本上的 ctrl 键无效。不过,一般情况下我用我的 HHKB,这种映射方式正好符合 HHKB 的布局。其实石头是在买 HHKB 之前就修改的这个映射,所以切换自如。

另外,借助之前介绍的Karabiner,可以将一些常用的方向键(上下左右)重新映射一下, 比如我目前是 s + h/j/k/l 来表示方向,手不用太移动就能直接按方向(HHKB 本身按方向太麻烦, Mac 内置键盘有方向键还需要大幅度移动手),用起来方便多了。

Mac 内置的更多的快捷键列表可以参考 Mac 官网[1]

其他还有一些常用的软件的快捷键,可以用之前介绍的软件 cheetsheet,长按 cmd, 可弹出当前 active 的软件的快捷键。

截图

这个从快捷键中单独列出来了,就强调下这个功能。

cmd + shift + 3 截取整个屏幕。cmd + shift + 4 部分窗口,出现十字供选取,若此时按空格键(这个技能得点赞),会选取当前应用的窗口,再 tap 即可完成截图。

上面快捷键是截图后以文件形式保存在桌面(默认是桌面,当然你也可以自己修改保存位置), 在上面快捷键基础上再同时按 ctrl 就会把图片保存在内存/剪贴板中,直接去相应窗口粘贴即可。

home brew

类似 Centos 的 yum, Ubuntu 的 apt-get,能够方便管理安装软件包。Mac 上类似的应用还有port, 我刚开始试用过 port,貌似 brew 上的源会多一些。

brew-cask 是 brew 的一个加强版,可以安装一些桌面应用,例如 Chrome 等等之类。

这里就不多介绍了,详情可以到官网查看:

brew[2]brew-cask[3]

iTerm2

iTerm2官网[4]有介绍功能。以下是觉得可能常用的功能。

分屏功能cmd + d 竖着分屏, cmd + shift + d 横着分屏cmd + t 新建一个 tab,cmd + num 切换到第 num 个 tab当前窗口含有分屏时, 通过 cmd + [ 和 cmd + ] 来进行切换小的分屏热键 设置一个热键,比如我的是 alt + 空格, 弹出 iTerm2, 且以半透明的方式显示在当前 active 的窗口上面。
proxy switchysharp(程序员怎么提高)

iTerm2 hotkey

搜索cmd + f搜索输入关键字后,匹配的会黄色高亮,此时按 tab 或者 shift + tab会自动向后/前以 word 的方式选中高亮的,并自动 copy 到剪切板。cmd + alt + e,在所有的 tab 中全局搜索,搜索出候选项后,再选择你想要进入的 tab。
proxy switchysharp(程序员怎么提高)

iTerm2 search

密码

这个功能可能会常用,程序猿得经常登录到远程服务器吧,密码又记不住。可以把常用密码保存起来,需要输入密码的时候,用快捷键 Option + cmd + f 弹出密码管理器,选择一个自动输入即可。

proxy switchysharp(程序员怎么提高)

密码管理

其他新版本的 iTerm2 还支持直接在控制台里 ls 图片文件(图片显示在控制台里)。(如上图下半部分,连 gif 都支持)自动识别控制台里的内容,如含有链接或者本地文件路径可以用 cmd 加点击的方式直接打开链接或者文件(如下图上半部分)。这个功能很重要呢,比如在编译过程中,出现了 warning 或者 error,一般会打印出具体文件路径,此时直接从控制台就能打开文件进行 fix 了。自动补全,iTerm2 本身是支持自动补全的(cmd + ;),不过建议直接结合后面的zsh 使用。cmd + shift + h 剪贴板历史(下图最后一行)。一些高级的功能目前可能处于测试版本,你若用的稳定版是不支持的,需要到官网下测试版。还有更多的功能请到 iTerm2 官网探索吧。
proxy switchysharp(程序员怎么提高)

iTerm2 imgcat

zsh

这个墙裂推荐啊。结合 oh my zsh[5]

,丰富的[插件资源(zsh)](

https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins-Overview “插件资源(zsh “插件资源(zsh)”)”)。

语法高亮,自动补全等特别好,在此推荐的几个插件或功能。

git: 当前目录若是在一个 git repo 下面的话,会自动显示当前的分支信息等等。然后可以自己搞一些 alias,简写命令,比如石头常用的一些: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/masterautojump: 这个也炒鸡赞。会自动记录你 cd 过的目录,下次你直接 j keyword 就会自动 cd 到以 keyword 匹配的目录。输入 d 会展示当前会话访问过的目录,然后对应目录有标号,接下来按标号即可跳转。osx: 举个最简单的例子,比如你现在正在 finder 中浏览一个很深的目录,现在突然想 cd 到这个目录去做一些命令操作。如果你用 Xtrafinder 这样的软件的话道有这样的功能,如果配上这个插件,你直接输入 cdf (cd finder)就自动 cd 到 finder 打开的目录下。zsh-autosuggestions,如下图所示,我在 app-in-mac 这个目录下,刚输入了 git, 此时光标还在 p 前面, zsh 就已经自动给我补全了 git push origin source, 此时我只要按 ctrl + e 跳转到行尾(所以熟悉上文中的快捷键很有必要啊),回车即可执行命令了。
proxy switchysharp(程序员怎么提高)

iTerm2 zsh plugins

更多的还是请到官网查看。

sublime text

文本编辑器,也有丰富的插件支持,直接到sublime官网[6]看吧。这个 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

介绍 Vim 的文章也很多了,这里就不详细展开了。分享下石头用的部分插件。为了让多台电脑同步我的 vim 配置/插件等,我直接放 github 了(ref vimconfigs[7]),不同电脑只需要再建一个软链到github 中的 vimrc 即可。

proxy switchysharp(程序员怎么提高)

vim 自动补全

Vundle/Pathogen: 插件管理,我用的Pathogen,直接将下面 github repo clone 到 ~/.vim/bundle/ 目录下即可。NERDTree: 文件目录树 NERDTree[8]YouCompleteMe: YouCompleteMe[9] 自动补全,对C系列,结合其他的可支持 Java/Python/Js 等, 跪求 Scala 支持ctrlp.vim: 快速搜索文件 ctrlp[10]minibufexpl.vim: 会把最近打开的文件列出来方便跳转,minibufexpl.vim github src[11]conque-term: shell 跑在 vim 里面, conque-term github src[12]ag: 代码搜索, 可结合 ctrlp.vim,如果后者搜索太慢的话, ag github src[13]tagbar/taglist: 标签,能显示类结构信息等,tagbar github src[14]vim-surround: 处理诸如 (), “”, [] 等配对信息,[vim-surround github src](https://github.com/tpope/vim-surround.git] 等配对信息,[vim-surroundgithub src” “]` 等配对信息,[vim-surround github src”), vim-surround ref[15]vim-easymotion: 快速跳转,关键字后会给匹配到的标记,再选标记并跳转(类似后文介绍 Chrome 插件的Vimium中的链接标记并跳转功能,按键 f 会将本文所有链接突出显示并用字母标记,然后按相应的字母则会新开标签页打开)。vim-easymotion github src[16]vim-easymotion ref[17]vim-powerline: 增强状态栏 vim-powerline github src[18]vim-indent-guides: 缩进可视化,vim-indent-guides github src[19]

具体效果等配置方法可以参考下面的两篇文章,插件具体用法可阅读具体插件的 doc。

Reference

将你的 Vim 打造成轻巧强大的IDE[20]所需即所获:像 IDE 一样使用 vim[21]

Dash

其实介绍前文 介绍 Alfred 已经提到过,这里再介绍一下,程序猿必备神器。

内置各种语言,各种环境的各种文档。该 App 还提供各种 API 供其他工具交互使用。例如 Vim(不是想象当中自动补全功能,只是能够快捷地搜索 API), Sublime 等。 (p.s 要是有人写了一个 Vim 插件,能够支持调用 dash 的 API(如果有的话) 自动补全代码, 那应该会很受欢迎的)

proxy switchysharp(程序员怎么提高)

dash 搜索 API

proxy switchysharp(程序员怎么提高)

dash

其他App

chrome

插件

AdBlock: 广告屏蔽;EditThisCookie: 修改 cookie;Evernote Web Clipper: 印象笔记;JSONView and JSONLint for Google Chrome™: 请求返回的json进行beautify方便查看;Markdown Here: 在富文本输入markdown, 渲染成 html;Markdown Preview Plus: 渲染 .md 文件,相当于 preview markdown;Open Screenshot: 网页截图,能够自动下拉截长图;Postman: 请求伪造/抓包等,也可以用curl;Proxy SwitchySharp: proxy 切换;RescueTime: 前文有介绍的RescueTime;undirect: google/baidu 搜索结果,点击直达网站,这个貌似不太好用了。征求替代品;Vimium: 操作 vim 一样操作浏览器,移动查找等功能,还有前文提到的快速标记链接并跳转;

Charles

类 Windows 下 Fiddler 抓包应用。

相关命令 tcpdump

其他有用的命令行

一些好用的命令(基本的什么ls/cd/cp/rm之类的这里就直接忽略了),我觉得作为程序猿还是应该了解,至少只当某个场景下直接用相应的命令就能解决。具体参数可以再 –help 或者 man commond 再看。

screen: 特别是 ssh 到登录远程时用以管理会话curl: 网络请求, 相关的还有 traceroute, dig 等find: 文件查找grep/zgrep/zcat: 查看日志的时候用awk: 这个本身就很强大了,具体编程语法不用太掌握但可以了解一些基本的用法,帮助你拼接一些语句。比如石头常用来批量拼接一些 SQL 语句。sed: 文本替换,还有 tr,注意 sed 的语法 Mac 和 一般 Linux 还有些不一样( 比如原文替换的时候 mac 里需要用参数 -i “”), 比如之前石头迁移 wordpress 到 jekyll[22] 上的时候需要将一些链接整体替换成新的路径。cut: 按列取数据,awk 也可以sort: 这个就不多说了uniq: 一般和 sort 一块用,只能去重相邻的行diff: 比较文件,类似的还有 comm (输出3列,分别是: 只在文件1, 只在文件2 和两个文件都在的行)paste: 两个文件按列拼接od: 以16/8/2进制查看文件wc: 统计文件字节数/字数/行数

结合这些命令可能就能完成某些复杂的功能,举个例子:

如线上的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

石头之前写过一篇综合应用,就是用 shell 脚本来完成一些统计功能。文章在这里“大数据”分析首批北京积分落户同学,文中介绍了如何根据一个 json 文件如何快速统计取得户口名额最多的top10公司,获取取得户口名额的人中姓氏最多的等等。

其他的可能较少用,但一旦用,能省不少时间。网上也有一些 online 的工具,但哪有这个快准狠。

openssl sha1/aes-256-ecb/des/base64 等等: 比如经常要和其他服务联调,有验证签名等,就可以临时用 shell 写个脚本,验证一下看看 API 的返回值和效果。md5/base64: 常见的 md5,base64 编码。sips: scriptable image processing system 比如批量处理图片大小,压缩等等。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 16699894@qq.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年12月23日 20:59:08
下一篇 2022年12月23日 21:02:08

相关推荐

  • 快递站2023春节放假吗(2023年春节期间快递停运多久)

    网购作为当下大家最爱购物的方式之一,收快递已经成了很多人的日常,但是因为十一过后眼见着没多久就要春节了,所以快递站2023春节放假吗成了大家茶余饭后讨论的焦点,下面小编就和大家一起…

    2022年10月22日
  • 抖音号怎么更改

         抖音号怎么更改是大家常聊的,毕竟抖音变现可以说是时下最快实现财富自由的途径之一,而且为了引流固粉更是不停的上线活动,因而大波的人群开始参与进来,下面小编就和大家一起看看抖…

    2022年10月24日
  • 关于马的寓言故事成语(千金买马)

    本寓言选自《战国策·燕策一》,它告诫我们:宣传工作是重要的,而最有效的宣传则是实际行动。 传说有一个非常喜爱骏马的国君,为了得到一匹胯下良骑,曾许诺以一千金的代价买一匹千里马。普天…

    投稿 2022年10月21日
  • steam账号名称格式,怎么注册steam账号

    Steam平台是Valve公司聘请BitTorrent(BT下载)发明者布拉姆·科恩亲自开发设计的游戏平台。Steam平台是目前全球最大的综合性数字发行平台之一。玩家可以在该平台购…

    2022年5月18日 投稿
  • 菜鸟驿站怎么加盟开店联系方式(菜鸟驿站怎么加盟开店)

    现在由于电商业的发展,快递业务也得到了爆发式的发展。为了缓解快递员的负担,还有方便不在家的用户。菜鸟驿站逐渐走进了大家的视野。但大家往往下班后到驿站取快递前面排了好多人,特别是双十…

    2022年10月21日
  • 幼儿园保育工作总结(中班下学期保育员工作计划)

      这学期我有的是中班,我除了努力完成自己负责的保育工作外,还要把保教结合起来。 谈谈这半年的工作情况吧。   一、不断学习,总结经验,做好自保工作。   随着社会的发展,家长高度…

    投稿 2022年10月19日
  • 小菠萝是转基因的水果吗 小菠萝怎么吃法

         小菠萝是比较特别的一种菠萝品种,它的个头是比较小的,通常只有正常菠萝的一小半,但是它吃起来味道比较甜,不会有酸涩的口感,很多人都喜欢吃。小菠萝不是转基因水果,也不是嫁接的…

    2022年10月24日
  • 假装无所谓个性签名女生 表面装作无所谓其实心里无比难受

         为感情所困的女人都是废物。   我眼泪崩塌你却笑我矫情。   如果你不能来,就别让我等了。   仍然感激你赠我这一个故事。   超级喜欢你,但也超委屈。   等我成熟过后…

    2022年10月24日
  • 微信号改什么好听好记 好听又好记住的微信号名

         1、清风抚白发   2、归客入故里   3、执笔、画卿颜   4、余年寄山水   5、山河不入梦   6、可缓缓归矣   7、执笔画倾颜   8、眸中尽是你   9、听风…

    2022年10月25日
  • 公众号怎么推广(微信公众号推广的十六个技巧)

    做新媒体运营的,每天头疼的事情就是如何增加微信公众号的粉丝量、怎样去提升文章的阅读量……要解决这个问题,那么有一个工作是必不可少的,就是要去推广你的微信公众号。但推广工作到底应该如…

    2022年10月22日

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注