本文共 2734 字,大约阅读时间需要 9 分钟。
使用bash默认环境
我是在计算机启动后立即打开终端窗口的人之一。 在这一点上并不是没有必要,但是习惯就在那里。 我在职业生涯的大部分时间里都在学习神奇的咒语,并且发现在终端上浏览日常工作可以使工作更愉快。 综上所述,偶尔尝试一些新的东西很高兴。
我最近放弃了默认的命令行解释器Bash,转而使用 ,后者自豪地将自己称为“ 90年代的命令行外壳”。 这就是我切换的原因。
一年多以前,我决定停止抽象操作系统,并从头开始学习它。 我最近 ,这给了我一个理由寻找到移植到新的环境。 令人耳目一新; 我发现了许多令人困惑的快捷方式和重复项,并将它们与可以很好地移植到操作系统之间的东西配对。 以下是一些收藏夹:
## Nicer shell experience export GREP_OPTIONS = "--color=auto" ; # make grep colorful export LSCOLORS =gxfxbEaEBxxEhEhBaDaCaD; # make ls more colorful as well export HISTSIZE = 32768 ; # Larger bash history (allow 32³ entries; default is 500) export HISTFILESIZE = $HISTSIZE ; export HISTCONTROL =ignoredups; # Remove duplicates from history. I use `git status` a lot. export HISTIGNORE = "ls:cd:cd -:pwd:exit:date:* --help" ; # Make some commands not show up in history export LANG = "en_US.UTF-8" ; # Language formatting is still important export LC_ALL = "en_US.UTF-8" ; # byte-wise sorting and force language for those pesky apps export MANPAGER = "less -X" ; # Less is more export GPG_TTY =$ ( tty ) ; # for gpg key management
我一直在努力揭开环境魔术的神秘面纱,而且这种方法越来越有意义。
在这一点上,我再次陷入困境。 我希望终端中有一些现代约定,尤其是自动建议,语法突出显示和命令输出的颜色化而没有太多的依赖关系,我希望该配置独立于我正在运行的任何命令行解释器。 ( 在Mac上很棒,但是我不想在我的dotfiles中跟踪其神秘的配置文件。)那么我该怎么办?
第一次获得答案时,我一次解决了一个问题:
在将这些片段一一剥离之后,我感到我对系统的运行方式有了更多的了解。 我感觉自己必须跳过去以获得想要的现代体验,这使我回到了使我达到这一点的标准。 直到决定放弃所有内容并尝试完全不同的方法之前,我觉得自己是历史的囚徒。
Fish Shell是一种现代的命令行界面,具有自动建议,制表符补全和语法突出显示(以及其他功能)。 我特别喜欢从第一次尝试键入fish就能获得美好的体验:
在第一行中,该命令为蓝色,因为pwd是有效命令。 在第二行,它是红色的,因为pdw是无效命令。 我按Enter键显示它是正确的,但是我可以Swift更正错误并继续前进。 在第三个命令中,我想将目录( cd )更改为我的Development文件夹,然后fish会像上次一样自动询问是否要跳入dotfiles。 当我两次按下Tab键时 ,它会在同一目录中显示其他选项,就像我期望的那样。
如果我想自定义我的鱼壳体验,则不需要安装任何其他库或框架。 Fish附带fish_config命令,该命令将启动图形用户界面(GUI),您可以在其中选择不同的颜色和提示配置。
更令人印象深刻的是,您还可以从GUI中查看所有可用的函数,变量,绑定等:
如果您调整配置,则所有自定义项都存储在同一位置: 〜/ .config / fish 。 上面的屏幕截图显示,我做了一个自定义函数,使我可以使用pyenv轻松激活Python环境。 查阅的获取更多信息。
我喜欢通过打开航站楼来开始新的一天,而自从改用鱼壳后,我会更加享受。 它使我从担心Bash中的内容转变为专注于计划编写的代码。 如果您希望摆脱对终端的修改,而将重点更多地放在代码上,请尝试一下。 使用将其设置为默认外壳程序,并让我知道它在注释中的作用。
翻译自:
使用bash默认环境
转载地址:http://mnszd.baihongyu.com/