在Linux上高效开发的7个建议

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。

我们都知道被困在一段简单代码上数个小时是一个开发者挫败感的由来。出了问题却找不到bug会让人身心俱疲。

我认为对于开发人员来讲,节省时间是相当重要的。我发现自己经常浪费时间在有关Linux的简单事情上,而我也曾目睹专家级的开发者仅仅使用合适的工具就节省了大量的时间来避免上述的挫折感的产生。

1. 快捷键可以节省时间

使用快捷键。不要浪费时间在鼠标上例如打开一个终端(Terminal)。一些快捷键我发现相当有用:

打开终端:`Ctrl+Alt+T`

对行操作:在终端,如果你使用 `` 或 `` 是相当浪费时间的,相反,你应该:

跳过一个单词:`Ctrl + →` 或者 `Ctrl + ←`

直到行末:`Ctrl + a` , 回到开头:`Ctrl + e`

删除整行:`Ctrl + u`

命令查找:通过在终端键入 `Ctrl + R` 来查找你以前输入过的命令类型。循环多次地键入这个快捷键你会找到所有你输入过的匹配的命令。

2. 在终端显示 Git 分支信息

我的意思是想这样子的终端:

在Linux上高效开发的7个建议_第1张图片

当我在别人的终端上看到了这个,我就完全喜欢上了它。你有两种途径可以做到:

使用 ZSH(推荐做法):要做到如图所示,你需要在终端键入以下命令:

使用 ZSH 会带给你更多的好处 —— 更加友好的界面、拼写检查、智能补全等等。有关 ZSH 的更多细节,请查看setting up ZSH on Linux.

修改 ~/.bashrc:或者修改你的 ~/bashrc然后在文件末尾添加以下行:

在Linux上高效开发的7个建议_第2张图片

3. 开始使用别名

起别名允许你使用你所选的关键字别名来缩短常用的命令。

不得不说,恰当地使用别名会明显地让你每天缩短30分钟(在敲打命令上)。我习惯 cd 进我的项目目录,然后启动服务器或者别的其他程序。高效的开发者会使用常用命令的别名,而且还会 export 常用的变量和路径到 bash 的变量中。

例如,你需要每天早上通过这行命令来启动服务器:

那么你现在可以这么做,然后把这个命令添加到你的 ~/.bashrc中:

下一次,你只需要在你的终端上敲下 nginx-start就可以启动你的服务器。

更好的做法是,把你每天要使用5次以上的命令都重命名为大于2个关键字的命令。

更详细的向导在 using alias with unix systems 上可以找到。

4. 使用 Terminator 或者 Tmux

我曾经常切换终端窗口来执行不同的任务,这里你可以有别的方法可以做到:

在Linux上高效开发的7个建议_第3张图片

很简单地,只需要打开终端并且敲下以下代码就可以下载得到:

你可以右键 terminator 的界面来分割你需要的任意一个屏幕窗口(screen)。

5. 学习并使用那些非常有用的Linux命令

在Linux上可以飞速的完成像查找一个文件、浏览一个文件等的操作。你需要熟悉那些非常基本的命令:

通过名字查找文件:

滚动正在查看的大文件:。这样比你在gedit或者别的编辑器打开再浏览要快得多。

在终端界面上输出整份文件:

只输出包含那些关键字的行:

在当前路径下打开文件管理器:。

以树形结构展开当前目录的结构,包括子目录和子文件:。

输出空闲内存数:。

以流的形式读取一个文件,特别是实时的日志文件:

熟练掌握如、、等的命令,一旦你习惯这样做,你每天都会因此节约大量时间。

6. 展示、监控和终止进程

我在日常频繁执行的任务之一就是监控资源(RAM,CPU等等)和终止进程。在Linux上如何执行这些操作会让Linxu初学者感到困惑。

我使用一个工具叫 htop,它看上去就如下图所示:

在Linux上高效开发的7个建议_第4张图片

你可以在一个窗口就完成监视、排序、终止以及查找进程。你可以从这里找到教程:install and get started with htop here

7. 使用牛逼的代码编辑器

我知道这一项是相当主观的建议。但我还是推荐使用一款优秀的代码编辑器,例如 JetBrains 系列的产品。熟练地掌握它可以让你的开发生涯更加愉快漫长。

额外建议:健康生活,专心致志

你大概知道这些忠告,最主要还是:吃好睡好。尽可能集中自己的精力在某个方面上,下面的工具可以帮助你:

RedShift:在电脑屏幕上放上这个会让你睡得更好。

Self Control:这个可以帮助你控制你自己的习惯,避免在FB,Twitter上流连忘返。

英文原文:http://www.trysudo.com/7-tips-for-a-productive-development-setup-on-linux/ 

译者:Darcy

你可能感兴趣的:(【编程语言】)