美文网首页
提升工作效率几个小技巧

提升工作效率几个小技巧

作者: varenyzc | 来源:发表于2021-04-10 17:56 被阅读0次

    0.前言

    毕业工作至今已经9个月了,很快就一年了。近一个月从小米跳槽来到了字节跳动,配了心心念念的顶配版MacBook Pro,经过一个多月的折腾,总结了一些提升工作效率的小技巧。(Ps:适用于Mac系统及部分Linux系统)

    1.Git

    作为程序员,git是日常与团队协作最好的工具了,没有之一。git命令在使用过程中,发现有些过长,这里列举一些“偷懒”的小方法。
    首先在终端中,编辑一个名为.gitconfig的文件,位置于用户根目录下,即~。

    vim ~/.gitconfig
    

    vim是一个文本编辑器,掌握了其快捷键,可以飞快coding,几乎可以手不离开键盘。
    输入上述命令后,在该文件中填入下列内容

    [alias]
        co = checkout
        ci = commit
        st = status
        pl = pull
        ps = push
        dt = difftool
        cp = cherry-pick
        br = branch
    

    这是相当于给git的一些常用命令配了一个别名,如git checkout xxxbranch可以用git co xxxbranch表示,以此类推。此小技巧适用于Mac及Linux。

    2.brew

    brew相当于Linux系统中的apt-get或yum。brew官网点击这里

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    

    在终端中运行如上命令,即可安装brew命令。可是在brew命令执行时,默认会有烦人的brew update提示,会浪费一些时间,这时可以在zsh的配置中添加如下配置即可。

    export HOMEBREW_NO_AUTO_UPDATE=true
    

    安装过后,你就可以愉快的在命令行用brew安装想要的软件包了。

    除此,你还可以安装一个cask命令,这样就可以通过brew cask命令安装一些带有图形界面或者说是已经编译好了的应用包(.dmg/.pkg),仅仅是下载解压,放在同一的目录中(/opt/homebrew-cask/Caskroom),省去了自己去下载、解压、拖拽(安装)等等一系列蛋疼的步骤,同样,卸载相当容易与干净。这个对一般用户来说会比较方便,包含很多在App Store里没有的常用软件。

    home cask命令通过如下命令安装:

    brew tap homebrew/cask-versions
    

    3.终端神器iTerm2

    要说mac上最好用的终端是什么,不是mac自带的终端,而是iTerm2。安装了上述brew cask命令后,即可使用下述命令安装,或者到iTerm2官网下载安装。

    brew cask install iterm2
    

    然后在iTerm2中是无法使用Option键在单词间跳转的,需要手动做一些设置,如下图:

    添加如下两个配置即可。

    3.1 选择文本

    iTerm2 中选择文本有三种方式,分别是:

    1. 双击:选中单词
    2. 三击:选中整行
    3. 四击:智能选择

    智能选择是一个比较有意思的功能,完整的介绍可以参考官方文档。对于我来说,以下几种情况下用智能选择是非常棒的:

    1. 代码片段,比如智能选择会自动选中 namespace::identifier以及 foo.bar.baz 这种语法
    2. 双引号内的字符,比如 "this is a quoted string"
    3. 电子邮件,智能选择会选中整个邮件地址
    4. 完整的 URL,智能选择会选中 scheme

    另外,iTerm2 默认选中即复制,所以不用额外的 Command + C 这一步了。

    3.2 Command键

    Command 主要用来打开文件或者 URL。对于输出到终端的文件名或者 URL,我们可以按住 Command 键点击它,就可以直接打开了。

    此外,按下 Command + Option 还可以选中矩形范围内的文本。

    3.3 代码补全

    按下Command + ;可以打开代码补全功能.



    通过这个功能,你可以快速输入最近输入的命令

    3.4 丰富的主题功能

    iTerm2支持主题功能,可以通过设置设置自己喜欢的配色,给自己一个愉悦的开发环境。


    这里推荐自用的主题,你也可以前往https://github.com/mbadolato/iTerm2-Color-Schemes下载主题,然后Import到iTerm2中选择使用。

    关于iTerm2的技巧还有很多很多,这里没办法完全展现,可以自行查阅资料。

    4.zsh & oh-my-zsh

    不知道什么时候开始,mac os已经全线将zsh替代bash作为默认终端了。在小米时,用的是Ubuntu系统,里面预装的终端是bash,后面装了zsh后感觉真香,这里墙裂推荐。zsh安装可自行百度查询。

    安装方法有两种,可以使用curl或wget,看自己环境或喜好:

    # curl 安装方式
    
    sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    
    
    # wget 安装方式
    
    sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
    

    关于oh-my-zsh的折腾,可以看这篇文章,这里不再赘述。iTerm2 + Oh My Zsh 打造舒适终端体验

    5.alias别名

    又到了教偷懒的时刻了。安装完上述组件,就可以解锁一些偷懒方法。首先zsh的配置文件是~/.zshrc,使用vim打开后,在最下面输入如下:

    alias zshconfig="vim ~/.zshrc"
    alias reload="source ~/.zshrc"
    

    推出后,使用soure ~/.zshrc命令使其生效。然后,你就可以使用zshconfigreload这两个命令了,前者是编辑zsh配置,后者是使其生效。看懂了吗,alias其实就是给某个命令其一个别名,通过这个别名去执行对应的命令。

    这里列举几个个人使用的命令

    alias cura="adb shell dumpsys window | grep mCurrentFocus" 
    // 快速查看手机当前是哪个Activity
    
    alias vimconfig="vim ~/.vimrc" 
    // 编辑vim配置
    
    alias cpg="adb shell am startservice ca.zgrs.clipper/.ClipboardService && adb shell am broadcast -a clipper.get" 
    // 获取手机剪切板内容,需要配合clipper使用,后续介绍
    
    alias cps="adb shell am startservice ca.zgrs.clipper/.ClipboardService && adb shell am broadcast -a clipper.set -e text" 
    // 设置手机剪切板内容
    
    alias prog="sh /Users/bytedance/Library/Android/sdk/tools/proguard/bin/proguardgui.sh" 
    // 打开解混淆工具
    

    如果存在同名的别名、函数、内置命令等,调用优先级是:

    别名 > 单数 > 内置命令 > $PATH 路径下的可执行文件。

    一般我们只用 alias 来简化固定的长命令,由于别名不支持参数,所以复杂的处理流程建议通过定义函数来解决。

    6.编辑器之神:Vim

    之前听说有人用vim写代码,我是不信的,当我第一次打开vim的时候,啊这是什么玩意啊,输入字符都输入不了,退出呢,撤销呢,可谓是一脸懵逼。但我去到小米后,看到ld在vim界面飞快的输入、复制、剪切,我信了,学习了一番其用法后,嗯~又是一次真香。

    Vim 分为三种模式:

    • 输入模式:这就很普通的编辑器一样,光标在某个位置上闪烁,表示我们可以输入内容了。
    • 普通模式:在输入模式下按下 Esc键可以退出输入模式,进入到普通模式。
    • 命令模式:执行搜索、替换等命令或调用插件。

    接下来是一些键位:

    • 方向键

    上:k , 下:j , 左: h , 右:l

    • 词组正向跳转(以空格和符号作为分割)-- 小写的w

    例如:“hello world,I'm wrting”,当光标在h时,连按w光标依次显示为:w > , > I > ' > m > w > "

    • 词组正向跳转(以空格为分割) -- 大写的W

    例如:“hello world,I'm wrting”,当光标在h时,连按大写的W光标依次显示为:w > I > w

    • 词组反向跳转-- 小写的b和大写的B

    情况与w类似。

    • 正向跳转到指定字符-- 小写的f

    例如:“hello world,I'm wrting”,当光标在h时,输入fw,光标跳转到字符world的w字符处。

    • 反向跳转到指定字符-- 大写的F

    例如:“hello world,I'm wrting”,当光标在d时,输入Fw,光标跳转到字符world的w字符处。

    • 正向跳转到指定字符的上一个位置(空格也算)-- 小写的t

    例如:“hello world,I'm wrting”,当光标在h时,输入td,光标跳转到字符world的l字符处。

    • 反向跳转到指定字符的下一个位置(空格也算)-- 大写的T

    例如:“hello world,I'm wrting”,当光标在d时,输入Tw,光标跳转到字符world的o字符处。

    • 复制当前行-- yy

    • 粘贴-- p

    粘贴至光标的下一行,例如:“hello world,I'm wrting”,当光标在此行时,输入yyp,当前行复制并粘贴,下面又多出一行。

    • 10p

    粘贴10次

    • 跳转至下一个与当前光标相同字符的位置(可以跨行跳转)-- *

    例如:“hello world,I'm wrting”,当光标在hello的最后一个l字符处,输入 * ,跳转到world的l字符处。

    • 跳转至上一个与当前光标相同字符的位置(可以跨行跳转)-- #

    情况如上。

    • 选中(再通过上下左右进行区域选中)-- v

    例如:当光标在第一行hello的h字符处,输入vjj


    • 删除当前行-- dd

    • 5dd

    删除当前行在内以下的5行。

    • 删除选中区域-- d

    例如上面的例子中,可以输入vjjd进行区域删除。

    • 撤销 -- u

    • 正向按字符单位进行删除-- x

    从光标所在位置处逐个正向删除

    • 反向从光标上一个位置处进行删除-- 大写的X

    • 从光标处删除至指定字符-- df指定字符

    例如:“hello world,I'm wrting”,当光标在h时,输入dfw,结果为“orld,I'm wrting”。

    • 删除引号内的内容-- di"

    例如:“hello world,I'm wrting”,当光标在此行时,输入di",结果为“”。

    • 删除包含引号在内的内容-- da"

    • 跳转至文件头-- gg

    • 跳转至文件尾-- G

    • 跳转至指定行的开头-- 行号G

    搜索

    • 普通模式下输入--/要搜索的内容\c
    • 使用n跳下一位置,N跳上一位置

    熟练了之后,连Android Studio和IDEA中我都安装了ideaVim插件,编辑代码时使用vim进行编辑,速度飞快,手指基本不用离开键盘,同事看了都直呼内行~(开个玩笑)

    7.Alfred

    Alfred 绝对是让 Mac 更加好用的神器之一,如果 Mac 上只能安装一款三方软件,那绝对是 Alfred。我把 Alfred 拔高到如此地位绝非是为了捧杀它,而是确实实至名归,本文主要会介绍 Alfred 原生的用法。

    除了 Alfred 软件自带的功能外,它还允许用户自己开发 workflow 并分享出来,正是这些 workflow,彻底奠定了 Alfred 的神器地位。(Ps:Alfred在4.0后很多功能需要会员,可以搜索下载pj版)

    Alfred简介

    打开程序,首页中可以编辑 Alfred 的启动快捷键,这里我把它设置为 双击 Command 键,最好用的 App 当让要配备最好按的快捷键。


    文件/程序搜索

    文件搜索是 Alfred 最基础的功能,类似于系统的 Spotlight,直接双击 Command 打开 Alfred 的窗口,然后输入文件名即可。


    计算器

    双击Command后,字节在输入框中输入计算式,即可直接获得结果。


    剪切板历史

    考虑下面几种场景,你的做法是什么?

    • 不知道现在剪贴板中的内容是什么,需要先粘贴出来,如果不满意再删除?
    • 想要拿到上上次复制的内容,但是剪贴板里面已经被覆盖了
    • 上周复制过一段话,依稀只记得某些关键字,想要再把内容找出来

    有了 Alfred 的剪贴板增强,以上场景都不是问题,首先要在 Features -> Clipboard 中打开剪贴板历史:

    我把剪切板历史的时间设置为了3个月,同时把打开剪贴板的快捷键设置为 Command + Shift + C,按下快捷键我们会看到:

    点击或按条目后面的快捷键即可直接输入剪切板中的内容。

    关于Alfred的用法还有好多好多,例如文本片段snippets,可以将一些常用的文本存下来,输入过程输入关键字便自动输入,还有workflow,这里推荐一下有道翻译的workflow,对于我这种英语渣异常好用。https://github.com/wensonsmith/YoudaoTranslate

    8.clipper

    https://github.com/majido/clipper
    在github页面中下载apk,安装至手机中,即可通过adb命令获取或设置手机的剪切板,如使用了上述的别名,命令如下:

    # 获取剪切板
    cpg
    
    # 设置剪切板内容为"abc"
    cps "abc"
    

    效果如下:


    9.彩蛋 & 结束语

    brew install sl
    alias sl="ls"
    ls
    
    brew install archey
    echo "archey" >> ~/.zshrc
    source ~/.zshrc
    

    至此,第一阶段的“提升工作效率小技巧”总结结束,由于时间问题,不能面面俱到及万无一失,后续会不断补充,enjoy yourself and enjoy life~

    相关文章

      网友评论

          本文标题:提升工作效率几个小技巧

          本文链接:https://www.haomeiwen.com/subject/sjavkltx.html