不用鼠标,程序员编程竟能如此高效?

不用鼠标,程序员编程竟能如此高效?

首页战争策略守卫家园TD更新时间:2024-05-13

作者 | Matthieu CNEUDE

译者 | 弯月,责编 | 屠敏

出品 | CSDN(ID:CSDNnews)

以下为译文:

曾经,我是一名骄傲的Ubuntu用户。Ubuntu不仅易于安装,而且易于使用。在此之前,我是Windows用户,感觉Windows和Ubuntu很相似。

然而,日复一日,年复一年,我的自豪感逐渐消失了,取而代之的却是无边无尽的烦恼。Ubuntu让我大失所望:

由于没有更好的选择,所以我坚持了好多年。某天早上,我兴致勃勃地打算升级LTS版本。然而,一切都崩溃了。我甚至无法启动Ubuntu。我想方设法修复所有问题,但当时的我对Linux一无所知,不知该从何处下手,毫无头绪。Ubuntu论坛也没有提供太多帮助,于是我决定重新安装。

我的内心充满了痛苦,然而,我的老朋友Ubuntu,又一次华丽丽地让我失望了。

几个月后,我有幸与一群出色的开发人员合作,他们向我展示了如何构建高效的开发环境。

于是,我的整个工作流程都发生了转变。我从Ubuntu转移到了Arch Linux、从Unity到i3、从PhpStorm到Neovim。经过多年的默默抗争,我终于拥有了一个可扩展、稳定、高效的新系统。我甚至编写了一堆脚本,只需一个命令即可安装我所需要的一切。一切准备就绪,我可以大展拳脚了。

不黑不吹,这成为了我职业生涯中最重要的一个转变。为什么?

当切换到如今使用的这套工具后,我真正体会到拥有一个优秀、高效及可扩展的开发环境有多么重要。我感到宾至如归。这套系统终于能够满足我所有的需求,我无需再跟系统作斗争了。

如今的我非常享受开发的工作,而且我可以说:我享受到了十倍的编程乐趣!

在本文中,我们将讨论:

你对这些话题感兴趣吗?下面请随我一起畅游无鼠标开发环境的梦幻世界。

开发人员的好朋友,Shell

图:简单高效的Shell

在本文中,我将反复提到shell,最常见的shell有bash和Zsh,我使用的是后者,而且我强烈推荐。

纯文本的力量

你可能在想:为什么要使用基于文本的Shell?

“命令行工具比Hadoop集群快235倍。”

—— Adam Drake

我鼓励你尽可能使用Shell。虽然刚开始的时候,你可能会不适应,但Shell可以让你受益良多。

CLI应用程序之上的图形界面又如何呢?在我看来,它有严重的缺点:

遇到以下情况,你会感到很困惑:

我有一段使用sourcetree的亲身经历,sourcetree是git的图形界面。当时我在和一名初级开发人员一起工作,而他不懂得git是如何工作的。每当出现问题时,他都搞不明白GUI在后台调用了什么命令。这比直接在Shell使用CLI git更令人沮丧。

无鼠标方式

使用Shell的时候,你主要依赖键盘。可能你会觉得有点吃惊,但我会尽量避免使用鼠标。因为这是提高效率的关键之一:双手放在键盘上可以加快你的速度,而且更重要的是,可以让你更加快乐。

以下是无鼠标方式的一些优点:

ArchLinux:获取最新的软件

图:Arch Linux在虚拟机上流畅地运行

与其他Linux发行版相比,Arch Linux具有许多优势。

滚动发布系统

滚动发布系统究竟是什么?Arch Linux社区会不断为我们和用户提供所有软件的更新。可确保你安装的程序是最新版本。

你无需担心自己是否错过了某个工具的强大功能和修复补丁。Arch Linux可以保证你的系统保持最新版本。

那么应用程序是不是很丰富?Arch Linux的官方代码库非常庞大。大多数时候,你都可以找到自己所需的一切。如果找不到,你还可以访问AUR(Arch用户代码库),找到你想要的一切。我一点也没有夸张。在使用Arch Linux多年之后,AUR仍然能不断带给我惊喜。

唯一的缺点:AUR的应用程序并不一定经过了良好的测试。所以,请谨慎使用。但是,只要查看其构建记录就可以知道安装之后会发生什么。

当从头开始安装Arch Linux时,你可以选择每一个需要安装的应用程序。凡是你不需要的东西,都不会出现在你的硬盘上。未经你的同意,任何应用程序都无法在后台运行,你是掌控一切的主人。

ArchLinux周围的社区也很强大。一般他们都值得信赖,而且他们不会在stack overflow上随便抛出一些Shell命令却不做任何解释(这一点与Ubuntu有很大的不同)。

再说,谁稀罕stack overflow呀?Arch Wiki才是最出色的Linux Wiki。同样,这个网站至今仍然能带给我很多惊喜,里面几乎应有尽有。

现在,你可能在想:Arch Linux稳定吗?它是否会每两周崩溃一次,让你感觉无望?

你会发现网上的很多人都在长篇大论讨论这个问题。我的建议?别听他们的。我每天都在使用Arch Linux,已经坚持了5年。在我安装的过程中,Arch Linux从未崩溃过,要说有也是在我刚刚开始尝试使用的时候。

如果你谨慎使用AUR,那么完全可以依赖这款功能强大、轻巧且可自定义的Linux发行版。

有时,pacman(不是吃豆人,而是Arch Linux的打包管理器)会要求你进行一些手动修改。但Arch Linux的官方网站会提供详细记录,而且可以立即解决。

使用i3管理窗口

图:i3 的窗口

ArchLinux不带任何类型的桌面或窗口管理器。你需要自行安装。我毫不犹豫地选择了i3 Windows Manager。

这是一款非常轻便、快速且易于使用的窗口管理器。i3没有精致的3D效果。一切都是为了提高效率和生产力,避免在视觉上造成干扰。

你可以使用i3创建工作区。工作区占据整个屏幕,而且还可以从一个屏幕移动到另一个屏幕。你可以在工作区中打开一个或多个窗口。它们会嵌入到你喜欢的应用程序。

很简单,对不对?而且最吸引人部分是:你可以使用键盘轻松完成所有操作。你可以通过简单的按键来打开、移动和关闭工作区或窗口。你还可以使用快捷键来调整窗口大小。你甚至可以使用快捷键来打开自己喜欢的应用程序。

一切都合乎逻辑。在第一次安装i3后,只过了2-3天,我就可以顺畅地使用它。你的肌肉可以记住你需要的快捷键。

i3的配置灵活性很大。如果你想尝试一下的话,可以参考这篇文章(https://thevaluable.dev/i3-config-mouseless/),逐步完成基本的i3配置。在你对i3有足够的了解之后,就可以根据需要对其进行自定义。

ArchLinux Wiki提供了完善的i3文档(https://wiki.archlinux.org/index.php/i3)。

Urxvt,Tmux和Tmuxp:将终端变成生产力猛兽

图:Urxvt中的Tmux,打开了4个窗格和两个窗口

我尝试了很多终端模拟器,而Urxvt是我的最佳选择。

这是一款非常轻巧且快速的终端,尤其是如果你运行Urxvtd、Urxvt守护进程的话。它可以非常容易地生成任意终端。

话虽如此,由于有了Tmux,现在我只需同时打开2-3个终端。这是一款功能强大的终端复用器,你可以:

如上所示,一切都可以用键盘来管理。当然你也可以使用鼠标,在学习期间使用鼠标也很方便。

你甚至可以利用tmuxp,进一步自动化tmux会话。实际上,你可以编写一个配置文件来打开所需的窗口和窗格,并在其中自动启动应用程序。

假设为了启动一个新项目,你需要:

在tmuxp的帮助下,你只需要一个命令行和一个简单的配置文件就可以自动化上述所有操作。

适合自己的IDE

我选用的IDE是Neovim,它是Vim的一个强大分支,可以与Shell配合使用。Neovim和Vim非常相似,因此我会使用“Vim”来指代二者。

图:本文就是用Neovim写的

你害怕了?别跑。让我解释一下,为什么你应该认真考虑学习Vim的知识。

我写了很多关于Vim的文章,这里我简单总结一下Vim的优点:

改善Git:tig和diff-so-fancy

图:tig:在分支层次结构的顶部,你还可以在底部看到所做的所有修改

图:diff-so-fancy 可以快速显示所有的修改内容

我感觉在最常见的日常任务中,使用Shell版的git非常方便。有时,git在用户体验方面的决策虽然有些怪异,但我们最好一开始就能意识到这一点。

基本上,你每天需要使用:

● git push

● git pull

● git branch

● git checkout

● git merge

● git rebase

● git diff

你真的需要一个完整的GUI吗?

我使用的第一个有关Git的工具是tig,你可以利用这个工具遍历git分支的层次结构,并显示每个提交的详细信息。

还有一个工具是git-so-fancy,它可以在终端中以非常易读的方式显示git diff。在提交代码之前,我经常使用它来验证自己的修改。

你可以从Arch Linux官方代码库下载这些工具。

更好的MySQL及PostgreSQL命令行工具

如果你需要在Shell中通过一个快速实用的界面来与数据库交互,则我建议你尝试mysql的mycli,以及PostgreSql的pgcli。

这些工具类似于MySQL和PostgreSql自己的CLI:

如果想在Arch Linux上安装这两个工具,则需要通过AUR获取它们。

你准备好成为一名无鼠标开发人员了吗?

生产力、多功能性、控制性和舒适性是我选择构建和配置整个开发环境时考虑的主要因素。无鼠标开发环境改变了我作为一名开发人员的生活,我想通过本文分享我从这次经历中获得的知识。

有些从未尝试过Vim的人说,Vim是地球上最复杂的工具,不要听他们胡言乱语。不要听他们争论Arch Linux的崩溃次数比Windows 95还多。我相信这些言论并不属实。

这种环境的设置和理解需要付出一些时间和精力,大约需要几周的时间。但在这之后,你将拥有自己的开发环境,不仅可以满足当前和将来的需求,还可以掌控一切,让你感觉如鱼得水。

图:我的小窝

原文:https://thevaluable.dev/mouseless-development-environment-overview/

本文为 CSDN 翻译,转载请注明来源。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved