Linux 的装机必备软件

使用Linux的一大乐趣在于尝试各种发行版本,所以我总是会不断的重装系统,伴随重载 系统而来的是系统的配置。在日常使用中,我积累了很多装机必备的工具,罗列在下面, 推荐给大家。

autojump

你可以做一个有趣的实验,使用下面这条命令找出你用的最多的 10 条命令:

1
2
3
history | awk '{CMD[$2]++;count++;} END { for (a in CMD )print CMD[ a ]" "
CMD[ a ]/count*100 "% " a }' | grep -v "./" | column -c3 -s " " -t |sort -nr |
nl | head -n10

在我最新安装的系统上,我得到的结果是:

1
2
3
4
5
6
7
8
9
10
 1  137  23.8261%   ls
2 117 20.3478% vim
3 94 16.3478% cd
4 43 7.47826% git
5 34 5.91304% sudo
6 27 4.69565% hexo
7 10 1.73913% clear
8 8 1.3913% tmux
9 8 1.3913% cp
10 6 1.04348% rm

cd 命令是我使用频率排名第三的命令。但是 cd 命令的使用并不是非常的方便,尤其 是在切换到层次相对较深的目录中的时候,你需要进行大量的输入工作。但是在大部分的 时候,你会发现自己常用的目录其实就那么几个。在 bash 中你可以使用 cd - 切换 到你最近使用那个目录,在 zsh 中你可以使用 cd - 补全出你最近使用过的目录,但 是这些目录在你关闭终端之后会清除。

autojump 这款神器的口号是 A cd command that learns,它会记录你最近去过的那 些目录,然后通过简单的输入就可以跳转到你的历史路径,极大的提高你的效率。

build-essential

大部分做开发的人会需要安装这个包,其中包含了做开发时编译所必须的软件包。使用下 面命令安装:

1
sudo apt-get install build-essential

clang-format

代码格式化的神器,支持各种各样的代码规范,个人使用它完成 Google C++ Coding Style 规范的代码格式化。在 Ubuntu 中你可以安装多个版本的 clang-format 我通 常使用最高版本。安装完成之后,推荐在 /usr/bin/ 下面建立一个名为 clang-format 的软连接。

1
2
cd /usr/bin
ln -s clang-format clang-format-3.6

你可以使用 -dump-config 选项结合 -style 选项得到一个符合某种规范的配置文件 。

1
clang-format -style=google -dump-config > .clang-format

你可根据得到的 .clang-formt 文件进行修改得到你自己喜欢的格式。此外,推荐在你 熟悉的编辑器中安装这个软件的额外插件(如果你使用的编辑器不支持插件,赶紧换!! !),我使用的 vim 插件是 google/vim-codefmt

cmake

非常出色的代码自动构建工具,你可能不用,但是很多项目使用到了它,你通常总会在某 个时候用到它。

ctags

使用 vim 浏览代码,查找函数,生成 outline 的时候都会用到它。

fzf

如果你经常使用 find 这样的工具查找文件,我推荐你使用 fzf,这是一个文件查找 的模糊匹配工具,如果你使用过 vim-ctrlp 或者 sublime 中的相关功能,你一定会爱 上这个工具。你可以用它过滤文件,过滤历史记录,过滤目录文件等等,非常好用。

安装完成之后,你可以试试 Ctrl-TCtrl-RAlt-C 这些快捷键来感受一下它的 强大。

此外 fzf 是一个可扩展的框架,你可以编写自己的想要的功能。

git

不解释

hexo

当你在为知笔记evernot有道云笔记之间纠结的时候,我推荐你使用 hexo + github pages 搭建自己的博客网站,把你的点点滴滴都记录下来,我的这篇博客这就是 这样记录下来的。

oh-my-zsh

安装完 zsh 之后做的第一件事情是安卓 oh-my-zsh,它是 zsh 配置的终结者。

silversearcher-ag

《人月神话》的作者告诉我们:没有银弹。嗯,虽然我不知道ag取名silversearcher 是否有充当银弹的自信,但是它确实很快。

tmux

常年和终端打交道的用户,最需要的功能之一就是分屏。tmux 这款软件一定会让你爱不 释手。

tmuxvim 的组合可以说是天下无双的。如果你把 zsh 也组合进来,它们还有另 一个名字叫做文本三剑客

vim

我不想争论它是不是世界上最好的编辑器,至少对我来说,它是最好的,没有之一。

zealdoc

当你需要在不同的开发语言中切换,当你需要在不同的库见徘徊,当你生活在墙内的时候 ,你一定会需要这款软件 zealdoc,一个离线的文档查看器,你用到的大部分文档在其 中都有收录。这个软件是 Mac 中的 dash 的克隆版本。

zsh

从操作系统出现到现在,命令行解释器这个软件被一次又一次的重写,各种版本的shell 层出不穷。目前大部分发行版本默认安装的是 bash,但是它在只能补全方面确实做的不 够好。近些年出现了专注于高用户友好度的 fish,我也用过,确实非常不错,但是个人 认为在成熟度上还有待提高,估计再发展一段时间,它会成为 zsh 最强大的对手。

目前来说,在兼容性、成熟稳定性、易用性上面都达到很好的平衡的是 zsh,它的成功 估计主要归功于 oh-my-zsh 这个社区驱动的配置项目。zsh + oh-my-zsh 可以说是 短期内无法超越的高峰。