查看原文
其他

【杂谈】提升写代码效率不得不做的三件事

汤兴旺 有三AI 2019-12-26

想成为一个优秀的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等等插件,具体插件的安装请看我们往期的文章:


【学员分享】程序员效率神器,最常用VIM插件安装大全


然后说说神的编辑器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了解一下

总结



工欲善其事必先利其器,做好这三件事便使你能在完成一个项目时事倍功半。


转载文章请后台联系

侵权必究


更多请关注知乎专栏《有三AI学院》


往期精选

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存