离线下载
PDF版 ePub版

Leo Hui · 更新于 2019-07-09 16:12:42

常用软件

"工欲善其事,必先利其器"。

在这样的章节中,我想说说如何高效的利用好各个系统。

Windows 篇

通常来说,windows 应该是我们最先接触到的系统,也是除了 Mac 笔记本外最常见的预装系统。

硬件配置

好马配好鞍,操作系统也应该在一定性能的机器上才能发挥更大的作用。

一般来说,如果别人让我推荐电脑,我会按照对方的需求去推荐。

办公型

就是简单的处理文档,浏览网页,逛逛淘宝的。

这类的我比较推荐轻薄的,便携和续航较强的电脑。我觉得 chrome book 就挺好。。。

游戏型

Dota,魔兽这类的,内存和显卡有个保障就行。

大型游戏,最好还是显卡强劲一点。

工作型

比如程序员这种类型,这里还可以对前后端划分一下。

前端开发主要是以浏览器为主,偶尔开虚拟机测试。能够书写代码就行,脚本语言都不会设计到什么编译,性能不必太高。

后端开发设计语言的编译,数据库的运行,本地服务器环境的搭配。最好还是性能强劲一些。

什么叫性能强劲

建议大家去中关村之类能搜索电脑价位的网站,普通电脑价位倒叙搜索看一看。CPU 差不多就那几款,CPU 的性能提升个人感觉远不如内存和 SSD 带来的提升大。

所以有钱的话,建议投入内存和 SSD 之中,触屏的笔记本目前来看没有必要。

关于外设

我推荐投入:

  • 显示器:最为重要,直接和效率挂钩,推荐24寸以上。戴尔不错。
  • 鼠标: 最好有多功能,无线 Mini 接收器。罗技不错。
  • 键盘: 只要手感舒适就行,机械键盘我用过茶轴(介于青轴与黑轴之间),准备尝试红轴。
  • 音响: 耳机也行,能隔绝外界的环境,沉浸于属于你自己的世界。

系统安装

通常我不是很喜欢预装的系统,并且预装的机器 C 盘都比较大,浪费空间。所以还是有必要重新安装下系统(我安装的是盗版,我鄙视自己)。

系统下载

系统我比较喜欢下载纯净的版本,一般我会从这里:MSDN 我告诉你中下载需要的版本。

我自己也有存储一些镜像文件到网盘之中:windows 系统镜像

如何安装

硬盘安装

此种方法适合能正常开机的机器,无需借助 U 盘就可以安装新系统。使用到的是 NT6 这个软件,异次元有一篇文章讲解的很清楚:NT6 HDD Installer 使用教程 - 在没有光驱 U 盘情况下直接通过本机硬盘重装系统 (支持 Win8/Win7 等)

需要准备的东西就两样:

  • 系统镜像文件
  • NT6 安装文件

然后找一个非系统盘,格式化并将系统镜像文件和 NT6 安装到此盘符的根目录下。通过 NT6 重启进入安装。安装过程我一般会格式化C盘,待安装完成之后再格式化其他盘符。

引导盘启动

此方法适合无法进入系统的情况,一般需要一个 U 盘制作为启动盘。制作启动盘的方式有:

由于我已经完了这种方式如何使用,特别是PE工具格式化等操作。请大家自行搜索。

硬盘分区

我也忘记了:D,等我用到了再说吧。

windows 软件

记录是给自己的回顾和总结,也是给别人的一种分享。所以我想说说使用 Windows 的经验。

为了方便自己系统安装,我会把一些安装文件定期更新到云盘中,而常用的一些软件以及配置文件放在可同步的网盘中。

常用软件

常用软件就是装机必备啦,说说我常用的软件:(待添加下载地址)

  • Chrome: 主力浏览器,使用 google 账号登陆并且同步。
  • Office 系列: 其实我用WPS多一些,或者 google 文档。
  • MSE:微软官方的杀毒软件。
  • CCleaner:小巧方便的清理软件。
  • 腾讯电脑管家: 有时候我就是用腾讯电脑管家替代杀毒软件加清理软件。
  • 输入法: 我就用原生的,不折腾,不弹框。
  • PotPlayer: 影音播放器。
  • FastStone Image Viewer: 图片查看工具。
  • 有道词典: 方便取词,高端一点我就用欧陆词典。
  • 欧陆词典: 无需插件取词,无广告,可自定义扩充词库,替换有道词典。
  • 福昕阅读器:最好的 PDF 阅读器。
  • foxmail:邮件客户端。
  • 迅雷: 下载工具。
  • BitTorrent Sync: p2p 同步服务,可实现多设备网盘同步功能。
  • 7-zip:压缩/解压缩工具。
  • Flash: Flash 播放器,最好下插件,以及独立播放器。
  • f.lux: 根据日出日落去调节色温,保护视力。
  • HexChat: IRC Client, 沟通工具,程序员用的多。

有了这些,差不多使用 windows 就没问题了。下面我们再谈一谈如何更好的使用 windows。

提高效率的工具

  • launchy: 快速开启工具。我还设置了快速 web 搜索。
  • strokesplus: 全局鼠标手势工具,占用内存小,且支持 LUA 编程。
  • Wox: 暂时未使用,和 launchy 类似。
  • MasterSeeker: 全盘文件搜索工具,搜索可选择项比 Everything 多。
  • Everything: 全盘文件搜索工具。
  • Listary: 目录搜索,操作工具。
  • ditto: 历史剪切板工具,可设置快捷键为 alt+v。
  • VistaSwitcher: 程序切换软件,特别方便的是提供了alt+ 的切换,类似 mac 下的操作。使用方式就是按住 alt+tab 切换,也可按住 alt+tab 后,松开 tab 按数字键快速切换。
  • PicPick: 截图,标尺工具。
  • Clover 3: 资源管理器扩展工具,使得类似 chrome,带书签功能。
  • Q-Dir: 由于 Clover 在 windows8 上经常崩溃,我又不喜欢 TotalCommander,发现这个也不错。
  • NetSetMan: 方便切换 ip/dns, 适合经常切换 Home/Work 环境。
  • AutoHotkey: 可自定义操作的脚本,还未使用,据说功能强大。
  • teracopy: 据说复制大文件时候速度更快。
  • chocolatey: 类似 Unix 下的 apt-get 命令,安装软件。
  • joytokey: 可以使用手柄模拟鼠标的软件。
  • XMind: 脑图工具。

开发者必备工具

这里可以单独开一章节了,但是我先试着在这列一下吧:

开发环境

开发环境下,我会配置好常用的语言,python, ruby, nodejs 等等。并且最好安装上 Virtual Studio,很多需要编译的环境依赖其中的 VC++。

  • gow: 扩展一些常用的*unix 命令。
  • ConEmu: 可代替 cmd 的工具,界面舒服,内置 Clink。
  • Clink: 支持命令行下粘贴复制。
  • tdm-gcc: windows 下的 C/C++ 编译器。
  • git: 版本管理工具,安装后可命令行使用。
  • sourcetree: Git 的图形管理工具。
  • svn: 一般公司用的比较多,也是版本管理工具。
  • Koala: 前端预处理语言编译器。

文件编辑工具

开发辅助工具

设计

  • 亿图: 除了制作思维导图,还提供流程图,UML 等。
  • licecap: gif 录屏软件。
  • camstudio: 录屏软件。

Bat 文件

如果有一些命名是自己常用的,不妨整理到一个bin目录中,并添加到 PATH 中。将一个命名包装为 bat 文件的形式如下:

@echo off
%~dp0\nant-0.92\bin\NAnt.exe

%~dp0 可指代当前目录。

参考资料

Mac 篇

终于换了 Mac了。

除了按键不习惯,其他都很好!貌似把键盘的 ctrl 修改为 command 会比较好。

通用设置

想要一个系统顺手,还是要做一些适合自己的设置。

App Store

应用商店最大的问题有两个:

  • 下载失败,提示"使用已购页面再试一次"。
  • 下载速度慢。

这两个问题常见的解决方式就是设置DNS为114.114.114.114。但是貌似这个下载应该还和 apple 的服务器解析有关,有时候还是会抽风。

快捷键

  • 屏幕切换,command+数字键。
  • 截图: shift+command+4。
  • aflred2: alt+s, 已换成 CapsLock.

显示器设置

设置显示器屏幕不出现菜单栏, 取消 System Preferences -> Mission control -> Display have separate Spaces 即可,需要重新登录。

触控板设置

添加按住 ctrl 加滚轮缩放屏幕:System Preferences -> Accessibillity -> Zoom

增加触控板的灵敏度和双击拖拽功能: System Preferences -> Accessibillity -> Mouse & Trackpad -> Trackpad Options.

参考资料

权限问题

如果有过 linux 基础的人,就会明白这个权限问题。其实 *nix 的系统,都是一个 root 用户,然后自己创建其他用户使用。用户和用户之前通过权限互相独立。

对一般的用户而言,不需要太关注这个权限问题,但是对程序员来说,这一点应该是必知必会的。不然我们常常会被 npm install -g xx 出现的报错而不知所措。

root:“超级用户”

在 Mac OS X 中,在安装系统时将会创建一个名为 root 的超级用户。 root 用户对计算机上的所有文件和文件夹都有完全的访问权限,并且还具有一般用户没有的其他管理访问权限。在计算机的正常使用中,您并不需要以 root 用户的身份登录。事实上,默认情况下, root 用户是被禁用的。

普通用户

mac 系统创建的用户,会和 root 在一个 group 中,一般叫做 staff 或者 admin。root 用户的权限高于其他用户。

定义的权限

  • 读取 (r--)
  • 写入 (-w-)
  • 执行 (--x)

当您可以做到所有三种操作时,您就拥有了“rwx”权限。文件夹的权限与此类似。具有内含文档的文件夹的只读权限,您可以打开和读取其中的文档,但不能保存对该文件夹所做的更改,也不能为该文件夹添加新的文档。只读 (r--) 权限是常用于客户访问的文件共享。

所有者、组、其他

像“rwx”和“r-x”这样的简写描述了一个用户或一个实体的权限。每个文件或文件夹的权限设置都定义了三个实体的访问能力:所有者、组和其他。

  • 所有者: 所有者通常是创建该文件的用户。在您的 root 目录下的几乎所有文件和文件夹都将您的用户名列作所有者。
  • 组: Admin 用户就是一些被称为“staff”和“admin”的组的成员。超级用户“root”是这些及其他一些组的成员。通常情况下,所有文件和文件夹都被分配到“staff”、“admin”或“wheel”等组中。
  • 其他: 其他是指某个文件或文件夹的所有者或组成员之外的其他所有用户。 因为每个实体都有其自己的权限,如一个完整的权限组可能为“-rwxrw-r--”。前面的连字符指定该项目是一个文件而不是文件夹。文件夹的权限以“d”开头,如“drwxrw-r--”。“d”代表 directory(目录),表示文件夹。

使用 Terminal 查看权限

在终端中输入 list -l,你会得到类似如下的信息:

total 0
drwx------   6 leohxj  staff   204B Jan 27 21:50 Applications
drwx------+  3 leohxj  staff   102B Mar 11 14:54 Desktop
drwx------+  7 leohxj  staff   238B Jan 18 22:11 Documents
drwx------+  5 leohxj  staff   170B Mar 10 23:39 Downloads
drwx------@ 16 leohxj  staff   544B Mar 11 14:54 Dropbox
drwx------@ 62 leohxj  staff   2.1K Jan 17 23:22 Library
drwx------+  4 leohxj  staff   136B Jan  3 21:37 Movies
drwx------+  7 leohxj  staff   238B Jan  6 09:45 Music
drwx------+  8 leohxj  staff   272B Feb  7 15:23 Pictures
drwxr-xr-x+  6 leohxj  staff   204B Jan  6 10:28 Public
  • drwx------:这一段是对文件或者目录的用户权限描述,d 代表目录,后面九个字符,每三个为一组,代表所有者,组成员和其他用户。
  • leohxj:这一栏表示所有者。
  • staff: 这一栏表示所在组。

参考资料

alias 设置

alias 是一个 shell 命令,可以理解为别名,就是可以让我们对一些命名重新命名,这样在终端中,我们就可以输入更少的字符完成同样的事情。

系统自带(或者是 oh-my-zsh 添加的)

在终端中输入 alias,会得到:

...=../..
....=../../..
.....=../../../..
......=../../../../..
1='cd -'
2='cd -2'
3='cd -3'
4='cd -4'
5='cd -5'
6='cd -6'
7='cd -7'
8='cd -8'
9='cd -9'
_=sudo
a='fasd -a'
afind='ack-grep -il'
d='fasd -d'
f='fasd -f'
g=git
ga='git add'
gaa='git add --all'
gap='git add --patch'
gb='git branch'
gba='git branch -a'
gbr='git branch --remote'
gc='git commit -v'
'gc!'='git commit -v --amend'
gca='git commit -v -a'
'gca!'='git commit -v -a --amend'
gcl='git config --list'
gclean='git reset --hard && git clean -dfx'
gcm='git checkout master'
gcmsg='git commit -m'
gco='git checkout'
gcount='git shortlog -sn'
gcp='git cherry-pick'
gcs='git commit -S'
gd='git diff'
gdc='git diff --cached'
gdt='git difftool'
gg='git gui citool'
gga='git gui citool --amend'
ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)'
ggpull='git pull origin $(current_branch)'
ggpur='git pull --rebase origin $(current_branch)'
ggpush='git push origin $(current_branch)'
gignore='git update-index --assume-unchanged'
gignored='git ls-files -v | grep "^[[:lower:]]"'
git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'
gk='gitk --all --branches'
gl='git pull'
glg='git log --stat --max-count=10'
glgg='git log --graph --max-count=10'
glgga='git log --graph --decorate --all'
glo='git log --oneline --decorate --color'
globurl='noglob urlglobber '
glog='git log --oneline --decorate --color --graph'
glp=_git_log_prettily
gm='git merge'
gmt='git mergetool --no-prompt'
gp='git push'
gpoat='git push origin --all && git push origin --tags'
gr='git remote'
grba='git rebase --abort'
grbc='git rebase --continue'
grbi='git rebase -i'
grep='grep  --color=auto --exclude-dir={.bzr,.cvs,.git,.hg,.svn}'
grh='git reset HEAD'
grhh='git reset HEAD --hard'
grmv='git remote rename'
grrm='git remote remove'
grset='git remote set-url'
grt='cd $(git rev-parse --show-toplevel || echo ".")'
grup='git remote update'
grv='git remote -v'
gsd='git svn dcommit'
gsps='git show --pretty=short --show-signature'
gsr='git svn rebase'
gss='git status -s'
gst='git status'
gsta='git stash'
gstd='git stash drop'
gstp='git stash pop'
gsts='git stash show --text'
gts='git tag -s'
gunignore='git update-index --no-assume-unchanged'
gunwip='git log -n 1 | grep -q -c "\-\-wip\-\-" && git reset HEAD~1'
gup='git pull --rebase'
gvt='git verify-tag'
gwc='git whatchanged -p --abbrev-commit --pretty=medium'
gwip='git add -A; git ls-files --deleted -z | xargs -r0 git rm; git commit -m "--wip--"'
history='fc -l 1'
l='ls -lah'
la='ls -lAh'
ll='ls -lh'
ls='ls -G'
lsa='ls -lah'
md='mkdir -p'
o='a -e open'
please=sudo
po=popd
pu=pushd
rd=rmdir
run-help=man
s='fasd -si'
sd='fasd -sid'
sf='fasd -sif'
st='open -a "Sublime Text"'
v='f -e vim'
which-command=whence
z='fasd_cd -d'
zz='fasd_cd -d -i'

这表明 mac 的终端其实自带了一些 alias。当然,我们也可以手动添加。

手动添加

自定义的 alias 应该在终端的配置文件中添加,比如我使用的是 zsh,就在 .zshrc文件中添加。

常用的操作有:

  • alias st='open -a "Sublime Text"': 打开 sublimeText

Mac 软件

换了大 Mac 之后,我首先想到的还是装一些常用软件。

mac 的软件安装不同于 window,一般直接从 app store 里搜索下载。或者去软件的官网下载 dmg 格式安装,或者 app 直接拖到 application 再安装。

常用软件

  • Chrome: 官网直接下载。
  • 搜狗输入法: 联想能力比较出众。
  • 欧陆词典: 不知道为什么,官方和 app store 里的版本居然不一致, 官网下载的也是新版本,只要能买到注册码,一样激活。
  • 金山快盘: 国内的限制,被迫放弃 dropbox。
  • dropbox: 为了同步 1password, 主要用于手机端内容同步。需要翻墙。
  • QQ: 对 windows 的版本对比,真心简洁。
  • 迅雷: 我发现到了 mac 下都变得简洁了。
  • MPlayerX: 播放器,据说解码能力强。
  • SPlayerX: 射手播放器,MAS 购入,6 RMB。可在线搜索字幕。
  • VOX: MAS 购入,免费,音频播放器。
  • shadowsocks: shadowsocks-ios 版本默认支持自动代理模式。
  • iStat Menus:查看系统状态,磁盘,CPU,温度等状态的工具。
  • BitTorrent Sync: p2p 同步服务,可实现多设备网盘同步功能。
  • Homebrew: mac 下用于安装命令行下工具的 apt-get。
  • Homebrew cask: mac 下用于安装应用的 apt-get。
  • 为知笔记: 个人觉得最好的云笔记。
  • Mou: 最好的 markdown 编辑器,但是我更习惯 ST3 编辑。
  • CleanMyMac 2: 电脑垃圾清理软件。 用的盗版,对其他软件有误伤,初次用来除去系统多语言还是不错的,但是话又说回来,系统语言又不占多少大小,其他的缓存文件多少还是有点用的。
  • Keka: MAS 正版购入,方便的压缩工具。
  • Spillo: pinboard 书签服务客户端,MAS 购入,68 RMB。
  • ReadKit: 一站式阅读工具, MAS 购入,68 RMB。
  • [Day One]: 书写类工具,日记软件,支持 Markdown。
  • Fantastical: 日历软件。MAS 购入,68 RMB。

系统相关

  • Startupizer 2: 管理自启动项工具,可根据日期或标签设置不同启动。MAS 购入,68 RMB。
  • MacUpdate Desktop 6: app 安装更新工具。我觉得可以替换 brew cask 了吧,起码能看什么软件有更新。下载资源包括了 MAS 和直接下载。
  • AppCleaner: app 卸载工具。
  • DaisyDisk: 显示磁盘状态的工具。
  • OptimApps: 系统优化工具,包含三个功能。
  • F.lux: 根据日出日落调整屏幕色温,保护视力。个人喜欢设置4000-5500。
  • caffeine: App Store 下载,免费。取消自动休眠的功能。
  • Yolink: 临时存储文件或内容的工具,感觉不是很必要。
  • Timing: 付费软件,统计 Mac 使用习惯,每天做了什么。
  • fliqlo: 时钟屏保。
  • BOOM 2: 音效增强工具。
  • CheatSheet: 显示快捷键操作。

提高效率的工具

  • Hider 2: 隐藏系统文件的工具。
  • xtraFinder:Finder 的插件。
  • alfred 2: 效率神器/快速启动。一定要购买 powerpack 配合使用哦!
  • 1Password: 最佳密码管理工具。
  • TextExpander: 最佳输入辅助工具。
  • Manico: 付费软件,通过 option 快速切换应用程序。
  • Karabiner: 修改按键映射。
  • Seil: 配合 karabiner,修改 CapsLock 映射。
  • AutoKeyboard: MAS 免费购入。
  • BetterTouchTool: 自定义手势操作,以及鼠标,按键等。最明显的帮助是让我的鼠标中间左右切换起作用了。
  • ShortCat: 快速移动鼠标软件, 默认 shift+command+space 查找,按住 control+对应字母进行快速切换。
  • [Moom]: 付费软件,68元,其实 sizeup 也是付费的。但我更看好 moom 的拖放,和自定义窗口大小。
  • Bartender: 官网下载,付费软件。管理右上角 menu bar 图标的软件。
  • SynergyKM: 可以使多台设备共用一套键鼠。
  • popClip:付费软件,30元,文本选择辅助工具,高效。
  • ClipMenu: 付费软件,6元,剪切板历史管理工具。不如 windows 下的 ditto 好用。
  • XMind: 思维导图软件,先用这个免费版本,熟悉熟悉。
  • jitouch2: 触控板辅助工具。删除的原因是全屏的手势比较容易误操作,且不一定所有程序都支持。
  • sizeup: 窗口管理工具,类似的还有 moom, divvy。这软件开发的公司其他作品也都很高效。

设计相关

  • Skitch: Evernote 出品,截屏、标注工具。
  • LilyView: 图片查看工具。
  • 1000 Open Type Fonts: 字体相关软件。
  • [SnapRuler]: MAS 购入,68 RMB,标尺以及截图工具。

开发工具

  • xCode: mac 下开发必备吧。
  • iTerm2: 据说是最好的终端。
  • SublimeText3: 最好的文本编辑器。
  • Dash: 超全文档查看工具。
  • SourceTree: git GUI 工具。
  • cotnerstone: SVN 客户端。
  • Abode 系列: 其实也就是用用 Photoshop。
  • MAMP: 本地服务器。
  • CodeRunner 2: 代码直接编辑预览工具。
  • FoobarPlus: 运行代码的工具。
  • Genymotion: 安卓模拟器。
  • Textual 5: MAS 购入,免费时获取。IRC 聊天工具。
  • OhMyStar: MAS 购入,68 RMB,分类 github star 项目。
  • Robomongo: MongoDB GUI 工具。
  • WebStorm: web 开发 IDE.

brew 安装的

  • git
  • fasd
  • htop
  • zsh
  • brew-cask
  • joe/gitignore
  • nvm
  • ruby
  • htop-osx
  • tree

想要购买的

参考资料

iTerm2

早就听说这个终端工具了,可以完全替代 terminal。

设置

配色

Solarized, 是目前最完整的 Terminal/Editor/IDE 配色项目,几乎覆盖所有主流操作系统(Mac OS X, Linux, Windows)、编辑器和 IDE(Vim, Emacs, Xcode, TextMate, NetBeans, Visual Studio 等),终端(iTerm2, Terminal.app, Putty 等)。类似的项目还有 Tomorrow Theme

拿 tomorrow-theme 举例,下载 Tomorrow-Night-Eighties.itermcolors 文件,双击自动导入到 iTerm2 中,在 Perferences->Profiles->Colors->Load Presets 中可以看到对应的配色。修改即可。

中文乱码问题

确保 Preferences->Profiles->Terminal->Terminal Emulation 中的字符编码为 UTF-8。

中文乱码的问题需要设置一下 locale, 在对于的 shell 配置文件中,比如 bash 对应的就是~/.bashrc, zsh 对应的就是~/.zshrc, 这里以 zsh 为例,打开 .zshrc 文件,修改其中 # You may need to manually set your language environment export LANG=en_US.UTF-8

# You may need to manually set your language environment
export LANG=en_US.UTF-8

接着重启一下终端,或者输入:source ~/.zshrc

一些快捷操作

  • command+方向键: 切换 tab。
  • command+enter: 全屏模式。
  • command+f: 搜索,支持正则表达式。
  • command+d: 垂直分屏。
  • command+shift+d: 水平分屏。
  • command+[ 或 command +]: 在最近使用的分屏直接切换。
  • command+t: 打开新标签。
  • command+w: 关闭新标签。
  • command+;: 自动补全历史命令。
  • command+r: 清除屏幕,相当与 clear.
  • command+p/n: