作者| Matthieu CNEUDE
译者|新月、书篇|屠民
生产| csdn (id: csdn news)
以下是译文。
我是一个骄傲的Ubuntu用户。Ubuntu不仅易于安装,而且易于使用。在此之前,我是Windows用户,感觉Windows和Ubuntu差不多。
但是,每天,每年,我的自尊心逐渐消失,取而代之的是无尽的苦恼。(威廉莎士比亚,骄傲,骄傲,骄傲,骄傲,骄傲,骄傲)Ubuntu让我失望了。
有时会出现奇怪的错误。
很慢。
许多官方代码库中不存在的应用程序必须手动编译。
许多正式代码库中需要手动编译完全过时的应用程序。
要想尽可能多地使用键盘,这只是基本工具,但要学会很多随机快捷键。
因为没有更好的选择,所以我坚持了很多年。一天早上,我兴致勃勃地计划升级LTS版本。但是一切都崩溃了。我甚至不能开始Ubuntu。我努力解决所有问题,但当时我对Linux一无所知,不知道从哪里开始,毫无头绪。Ubuntu论坛也没有提供太多帮助,所以决定重新设置。
我心中充满痛苦,但我的老朋友Ubuntu再次华丽地让我失望。
几个月后,我有幸与优秀的开发人员一起工作,他们向我展示了如何构建高效的开发环境。
因此,整个工作流程发生了变化。我从Ubuntu转到Arch Linux,从Unity转到i3,从PhpStorm转到Neovim。经过多年的默默抗争,我终于有了一个可扩展、稳定、高效的新系统。我甚至写了一堆脚本,可以用一个命令安装我需要的一切。一切准备就绪,我可以大展拳脚了。
不黑不吹成了我职业生涯中最重要的变化。为什么
谢谢Arch Linux。我学到了很多关于Linux的知识。
为了解决各种问题,了解操作系统抽象层下的工作方式很重要。
web服务器主要在基于Linux的系统上运行,因此开发人员认为必须了解Linux。
我习惯在所有工具中使用统一的快捷键集。
通过键盘可以完成90%的系统工作。您可以记住这些快捷键,因为它们的设置比常规GUI快捷键(如ctrl shift alt e)合理。
切换到目前使用的这个工具,您将体会到拥有优秀、高效、可扩展的开发环境是多么重要。(大卫亚设,Northern Exposure)我感觉到客人回来了。这个系统终于能满足我的所有要求,我不必再和系统战斗了。
今天我非常享受开发工作,我可以说享受了10倍的编程乐趣。
本文讨论了以下几点:
为什么Linux shell是开发者最好的工具?
为什么我们要使用Arch Linux?
什么是I3?
如何使用Urxvt、tmux、tmuxp创建强大的终端?
这是我见过的最强大的IDE之一,可以最大限度地发挥Linux Shell的功能。
如何提高终端使用git的体验?
如何在shell中获得更好的shell和PostgreSQL使用体验?
你对这些话题感兴趣吗?请与我一起畅游无鼠标开发环境的梦幻世界。
开发者的好朋友,谢尔。
图:简单高效的外壳
在这篇文章中,我会反复提到壳牌。最常见的外壳是bash和shell。我在使用后者。并且强烈推荐。
纯文本的力量
你可能会想,为什么要用基于文本的shell?基于文本的shell下面有丰富的应用程序。即使没有完全满足要求的工具,也可以轻松开发shell工具,而无需设计顶级GUI。
为最终用户提供多种可选功能,使最终用户能够根据需要进行选择。不能在图形界面上插20个按钮吧?但是,基于命令行的应用程序可能有20个选项。
UNIX的思想可以使用特定的工具来满足特定的需求。通过管道,可以将一个工具的输出作为输入传递给另一个工具,从而提供无限的可能性。
使用shell可以非常容易地自动执行常见的无聊任务。自动化是提高生产力和节约能源的关键。
通常,命令行运行得非常快。没有沉重的图形界面,没有3D菜单,可以减慢电脑速度。
命令行不占用太多内存。命令行比Chrome节省80%的RAM。
"命令行工具比Hadoop群集快235倍."
—— Adam Drake
建议您尽可能使用外壳。一开始可能不适应,但谢尔能给你很多好处。
CLI应用程序上面的图形界面怎么样?我认为有严重的缺点。
许多易于通过CLI使用的功能都被隐藏起来。
无法解决CLI层出现的错误(甚至无法理解)。
面对以下情况时,你会很困惑。
在没有图形界面的远程服务器上使用这些工具。
向经验不足的开发者介绍该工具的实际工作原理。可以说明GUI,但不能说明应用程序本身。尤其是当GUI和CLI采用不同的技术时。不幸的是,这种情况很普遍。
我有使用git图形界面sourcetree的经验。当时我和初级开发人员一起工作,他不知道git是如何工作的。每当出现问题时,他都不知道GUI在后台调用了什么命令。比直接在shell中使用CLI git更令人失望。
没有鼠标
使用外壳时,你主要依靠键盘。可能会有点惊讶,但我会尽量不使用鼠标。因为这是提高效率的关键之一。双手放在键盘上可以加快速度,更重要的是可以变得更幸福。
以下是没有鼠标的方式的一些优点。
手从键盘移到鼠标上很累。不动手试试。你会理解的。
双手一直放在键盘上,会感到舒适。不需要在敲击键盘和移动光标之间切换。
只要列出购物清单,就有黑客的感觉!很棒,不是吗?
ArchLinux:获取最新软件
图:Arch Linux在虚拟机上顺利运行
与其他Linux版本相比,ArchLinux有很多优点。
滚动发布系统
滚动发布系统是什么?Arch Linux社区将继续为我们和用户提供所有软件更新。您可以确认安装的程序是否为最新版本。您不必担心错过了哪些工具的强大功能和补丁。Arch Linux可以使系统保持最新版本。
那应用程序丰富吗?Arch Linux的官方代码库很大。大多数情况下,你可以找到你需要的一切。如果找不到,可以访问AUR(Arch用户代码库)找到所有需要的内容。我一点也不夸张。使用Arch Linux多年后,AUR仍然可以让我感到惊讶。
唯一缺点:AUR的应用程序不一定经过了良好的测试。所以请小心使用。但是,通过查看构建记录,可以知道安装后会发生什么。
从头开始安装Arch Linux时,您可以选择需要安装的每个应用程序。你不需要的东西都不会出现在你的硬盘上。没有你的同意,任何应用程序都不能在后台运行。你是掌控一切的主人。
Arch Linux周边社区也很强。一般来说,他们都是可靠的,在stack overflow中不做任何解释,也不乱扔stack命令(这与Ubuntu非常不同)。
另外,谁在stack overflow上很少见?阿奇维基是最好的Linux维基。同样,这个网站仍然可以给我很多惊喜,里面几乎什么都有。
现在,你们可能会问:“阿奇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具有很高的配置灵活性。如果你想尝试一下,可以参考这篇文章,逐步完成基本的i3配置。对I3有了充分的了解后,就可以根据需要进行自定义。
ArchLinux Wiki提供了完善的i3文档()。
Urxvt、Tmux、Tmuxp:将终端转换为生产力猛兽
图:Urxvt的Tmux,有4个窗口和2个窗口。
我尝试了很多终端模拟器,Urxvt是我的最佳选择。
这是一个很轻很快的终端。特别是在运行Urxvtd、Urxvt守护进程的情况下。可以轻松地生成任意端子。
尽管如此,因为有Tmux,现在我只需要同时打开两三个终端。这是一个功能强大的终端复用器。您可以:
创建包含窗口和窗口的会话。
在终端中根据需要打开任意数量的窗口。每个窗口占据整个终端窗口,还可以分为窗口。即使需要3个窗口,每个窗口4个窗口(共12个不同的外壳),tmux也能轻松应对。
断开并附着会话。想象一下终端关错了。通过打开新终端并附加会话,可以恢复整个tmux会话。
同步窗口。需要在三个不同的远程服务器上发出完全相同的命令吗?然后,如果打开三个窗口并使用一个命令进行同步,则在第一个窗口中输入的所有内容都将复制到另一个窗口中。
我不明白的用法很多。
如上所示,一切都可以通过键盘管理。当然也可以使用鼠标,学习期间使用鼠标也很方便。
您还可以使用Tmuxp进一步自动化tmux会话。实际上,您可以打开所需的窗口和窗口,并创建自动启动应用程序的配置文件。
假设要开始新项目,需要:
在一个窗口中运行dockercompose。
在另一个窗口的Docker容器中运行NPM run dev。
在另一个窗口中打开与生产服务器的ssh连接。
在Tmuxp的帮助下,只要一个命令行和简单的配置文件,就可以自动执行所有这些任务。
适合自己的IDE
我选择的IDE是Neovim,是vim的强大分支,可以与Shell一起使用。Neovim和vim非常相似,所以使用“Vim”来指代两者。
图:这篇文章是用Neovim写的。
你害怕吗?不要跑。我来解释一下为什么要认真考虑Vim的知识。
我写了很多关于Vim的文章,让我们简单总结一下Vim的优点。
使用Vim编程很有趣。
使用Vim,您可以充分利用键盘。
原始Vim有很多功能,总能学到新技术。
Vim有一个维护很多插件的好社区。无论使用哪种编程语言(JavaScript、Golang、PHP、Clojure等),都可以满足99%的需求。
你不必再受到某种语言的限制。是否可以通过同一个编辑器使用Rust、Go、C编程,同时使用自动完成、强调语法和其他功能?Vim是完美的选择。
一切都是高度可配置的。忘记不同的品味吧。使用Vim,您可以微调所需的一切。
没有通知,不能随时跳出来妨碍你的工作(就是你,Intellij IDE)。(莎士比亚,温斯顿,电音,电音,电音,电音)。
你可以根据自己的工作流程制作自己的IDE,不需要在IDE中装满你永远不会使用的东西。
很快。
免费的。
Git改进:TIG和diff-so-fancy
图:TIG:分支层次结构顶部和底部也可以看到所有更改
图:diff-so-fancy快速显示所有修改
我认为在最常见的日常任务中使用壳牌版本的git非常方便。有时候,git对用户体验的决定有些奇怪,但最好从一开始就认识到这一点。
基本上,你每天都要使用:
git push
git拉入
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崩溃得多。我相信这些言论不是真的。
这种环境的设置和理解需要一些时间和精力,大约需要几周的时间。但是之后,你将有一个自己的开发环境,不仅能满足现在和未来的需求,还能控制一切,从而让你觉得鱼得到了水。(大卫亚设)。
图片:我的窝
原文:
这篇文章是CSDN翻译。请注明出处。
1.《关于csdn官网我想说不用鼠标,程序员编程竟能如此高效?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《关于csdn官网我想说不用鼠标,程序员编程竟能如此高效?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/1954162.html