使用Linux
的一大乐趣在于尝试各种发行版本,所以我总是会不断的重装系统,伴随重载
系统而来的是系统的配置。在日常使用中,我积累了很多装机必备的工具,罗列在下面,
推荐给大家。
autojump
你可以做一个有趣的实验,使用下面这条命令找出你用的最多的 10 条命令:
1 | history | awk '{CMD[$2]++;count++;} END { for (a in CMD )print CMD[ a ]" " |
在我最新安装的系统上,我得到的结果是:
1 | 1 137 23.8261% ls |
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 | cd /usr/bin |
你可以使用 -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-T
,Ctrl-R
, Alt-C
这些快捷键来感受一下它的
强大。
此外 fzf
是一个可扩展的框架,你可以编写自己的想要的功能。
git
不解释
hexo
当你在为知笔记
、evernot
和有道云笔记
之间纠结的时候,我推荐你使用 hexo
+
github pages
搭建自己的博客网站,把你的点点滴滴都记录下来,我的这篇博客这就是
这样记录下来的。
oh-my-zsh
安装完 zsh
之后做的第一件事情是安卓 oh-my-zsh
,它是 zsh
配置的终结者。
silversearcher-ag
《人月神话》的作者告诉我们:没有银弹。嗯,虽然我不知道ag
取名silversearcher
是否有充当银弹的自信,但是它确实很快。
tmux
常年和终端打交道的用户,最需要的功能之一就是分屏。tmux
这款软件一定会让你爱不
释手。
tmux
和 vim
的组合可以说是天下无双的。如果你把 zsh
也组合进来,它们还有另
一个名字叫做文本三剑客
。
vim
我不想争论它是不是世界上最好的编辑器,至少对我来说,它是最好的,没有之一。
zealdoc
当你需要在不同的开发语言中切换,当你需要在不同的库见徘徊,当你生活在墙内的时候
,你一定会需要这款软件 zealdoc
,一个离线的文档查看器,你用到的大部分文档在其
中都有收录。这个软件是 Mac
中的 dash
的克隆版本。
zsh
从操作系统出现到现在,命令行解释器这个软件被一次又一次的重写,各种版本的shell
层出不穷。目前大部分发行版本默认安装的是 bash
,但是它在只能补全方面确实做的不
够好。近些年出现了专注于高用户友好度的 fish
,我也用过,确实非常不错,但是个人
认为在成熟度上还有待提高,估计再发展一段时间,它会成为 zsh
最强大的对手。
目前来说,在兼容性、成熟稳定性、易用性上面都达到很好的平衡的是 zsh
,它的成功
估计主要归功于 oh-my-zsh
这个社区驱动的配置项目。zsh
+ oh-my-zsh
可以说是
短期内无法超越的高峰。