想成为一个优秀的AI算法工程师必须要熟练使用Linux,这是学习AI的一个基础,如果你一直还在用Windows,那就很low了。本文我们聊聊提升写代码效率不得不做的三件事。
作者&编辑 | 汤兴旺
1 桌面管理
首先我们说说一个最好用的终端,有着终端终结者之称的Terminator。
对Linux系统进行管理时,我们经常需要通过终端窗口输入各种操作命令。在GNOME集成桌面环境下,GNOME终端(gnome-terminal)是我们经常使用的终端程序,每次运行该程序都将打开一个单独的终端窗口,但是当我们进行命令行操作时,有时需要打开多个终端窗口,并且希望这些窗口能同时平铺显示,那该怎么办呢?其实,借助一款小巧而实用的软件——Terminator就可以轻松实现这一功能。效果图如下:
对于Teminator我们可以使用下面命令来安装:
sudo apt-get install terminator
我们常用下面的命令来对终端进行各种操作。
Ctrl+Shift+O 水平分割终端(分成上下两个窗口)
Ctrl+Shift+E 垂直分割终端(分成左右两个窗口)
Ctrl+Shift+W 关闭当前终端
Ctrl+Shift+X 放大(还原)当前终端
F11 全屏
Ctrl+Shift+G 清屏
Ctrl+Shift+Right/Left 在垂直分割的终端中将分割条向右/左移动
Ctrl+Shift+S 隐藏/显示滚动条
Ctrl+Shift+Q 关闭所有终端(退出程序)
然后我们说说linux下完美帅气的终端Guake Terminal。
如果你希望让终端自己主动启动并在后台执行,如果你喜欢更高速地隐藏和显示终端,如果你更习惯使用快捷键,那么Guake 绝对是一个更好的选择。
对于Guake,我们可以使用下面命令来安装。
sudo apt-get install guake
我们常用下面的命令来对终端进行各种操作。
F12 显示/隐藏Guake的程序界面
F11 切换到/退出全屏模式
Ctrl+Shift+T 新建标签页
Ctrl+Shift+W 关闭标签页
Ctrl+Shift+C 复制
Ctrl+Shift+V 粘贴
Ctrl+PageUp 切换到上一个标签
Ctrl+PageDown 切换到下一个标签
对于Guake,想要更好的了解请看其github,下面是链接:
https://github.com/Guake/guake
2 编程管理
在这个蔚蓝的星球上,对于编程来说,流传着两大神器:神的编辑器Emacs和编辑器之神Vim。
首先我们说说编辑器之神Vim,Vim是从vi发展出来的一个文本编辑器,其在代码补全、编译等方便的功能特别丰富,在程序员中被广泛使用。
Vim有三种工作模式,分别是命令模式,输入模式和底线命令模式。
由于Vim的按键非常多,这三种模式可以更加高效的帮助我们进行编程。
这还只是Vim的基础,Vim真正强大和能大幅提高编程效率的是其强大的插件。Vim 通过插件可以被拓展出许多不同层次的功能,我们常用的插件有Vundle、YouCompleteMe、Solarized、nerdcommenter等等插件,具体插件的安装请看我们往期的文章:
然后说说神的编辑器Emacs。下面是其官方网页和Emacs中文论坛:
官方网页:
http://www.gnu.org/software/emacs/
中文论坛:
https://emacs-china.org/
Emacs不仅仅是一个编辑器,它实际上是一个集成开发环境,其设计目标就是,你装了个Unix或者Linux系统,不需要装任何其它软件,只要装一个Emacs就够了,它能帮助你完成所有的任务。也就是说,除了编程,你还可以用它写论文、做幻灯片、浏览网页、收发邮件、聊天、听歌、看照片、玩游戏……目前,好像除了直接在Emacs里看电影还不行,其它的都实现了。
你使用了Emacs后你就可以不必学习VS去写C/C++,
不必学习Pycharm去学python,
不必学习eclipse去写Java,
不必学习MS-Word去写报告、幻灯片,
不必学习……
3 工程管理
对于工程管理,我们首先说说版本管理工具git。
我们知道,当年Linus创建了开源的Linux,从此,Linux系统不断发展,现在已经成为最大的服务器系统软件了。但是随着Linux的不断壮大,就需要各种版本控制了,起初Linus带着他的小弟们使用的是BitKeeper(商业版本控制系统),之后由于某种原因BitKeeper的公司不让他们使用了,于是Linus自己花了两周时间写出了git并且开源了(BitKeeper已哭晕在厕所),之后的岁月里,渐渐有了github、coding等一些可以使用git存储的网站,git的江湖地位变得无可替代了,如果你是个开发者却还不会使用git那就太out了。
在Ubuntu中我们通常使用下面命令来安装git。
sudo apt install git
git的命令非常多,如果熟练使用恐怕需要记住60-100个命令,但我们日常使用只需要下面六个命令即可。
对于具体怎么配置环境参数,您可以参考往期文章:
【AI白身境】Linux干活三板斧,shell、vim和git
然后我们说下linux代码维护工具make。
make是一种代码维护工具,其会根据makefile文件定义的规则和步骤,完成整个软件项目的代码维护工作。一般用来简化编译工作,可以极大地提高软件开发的效率。
make工具主要能解决两大问题:
1、对于一个复杂的工程,一旦你提供了正确的 Makefile,编译整个工程你所要做的唯一的一件事就是输入 make 命令,整个工程完全自动编译,极大提高了效率。
2、它能减少编译时间,对于一个拥有大量文件的项目,当你在改动其中一个文件的时候,可以只对该文件进行重新编译,然后重新链接所有的目标文件,节省编译时间。
对于make工具如何使用,请参考我们的AI工程师修行之路系列文章:
【AI白身境】只会用Python?g++,CMake和Makefile了解一下
总结
工欲善其事必先利其器,做好这三件事便使你能在完成一个项目时事倍功半。