博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用bash默认环境_使用Bash炸鱼壳以获得漂亮的默认设置
阅读量:2539 次
发布时间:2019-05-11

本文共 2734 字,大约阅读时间需要 9 分钟。

使用bash默认环境

我是在计算机启动后立即打开终端窗口的人之一。 在这一点上并不是没有必要,但是习惯就在那里。 我在职业生涯的大部分时间里都在学习神奇的咒语,并且发现在终端上浏览日常工作可以使工作更愉快。 综上所述,偶尔尝试一些新的东西很高兴。

我最近放弃了默认的命令行解释器Bash,转而使用 ,后者自豪地将自己称为“ 90年代的命令行外壳”。 这就是我切换的原因。

fish shell website

我发现.bashrc是不够的

一年多以前,我决定停止抽象操作系统,并从头开始学习它。 我最近 ,这给了我一个理由寻找到移植到新的环境。 令人耳目一新; 我发现了许多令人困惑的快捷方式和重复项,并将它们与可以很好地移植到操作系统之间的东西配对。 以下是一些收藏夹:

## 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

我一直在努力揭开环境魔术的神秘面纱,而且这种方法越来越有意义。

自定义破坏了我的.bashrc

在这一点上,我再次陷入困境。 我希望终端中有一些现代约定,尤其是自动建议,语法突出显示和命令输出的颜色化而没有太多的依赖关系,我希望该配置独立于我正在运行的任何命令行解释器。 ( 在Mac上很棒,但是我不想在我的dotfiles中跟踪其神秘的配置文件。)那么我该怎么办?

第一次获得答案时,我一次解决了一个问题:

  • 首先,我自定义了以允许向前和向后搜索。
  • 然后,我用美化的输出替换了cat ,并在.bashrc中将cat别名化为ccat 。 后来在某些情况下最终中断了对stdout的写入,因此我停止使用它。
  • 最终,我使用了 ,它是用于自定义Bash的强大插件系统。

在将这些片段一一剥离之后,我感到我对系统的运行方式有了更多的了解。 我感觉自己必须跳过去以获得想要的现代体验,这使我回到了使我达到这一点的标准。 直到决定放弃所有内容并尝试完全不同的方法之前,我觉得自己是历史的囚徒。

鱼壳可轻松实现默认设置和自定义

Fish Shell是一种现代的命令行界面,具有自动建议,制表符补全和语法突出显示(以及其他功能)。 我特别喜欢从第一次尝试键入fish就能获得美好的体验:

An example of the fish shell with Solarized Light theme

在第一行中,该命令为蓝色,因为pwd是有效命令。 在第二行,它是红色的,因为pdw是无效命令。 我按Enter键显示它是正确的,但是我可以Swift更正错误并继续前进。 在第三个命令中,我想将目录( cd )更改为我的Development文件夹,然后fish会像上次一样自动询问是否要跳入dotfiles。 当我两次按下Tab键时 ,它会在同一目录中显示其他选项,就像我期望的那样。

如果我想自定义我的鱼壳体验,则不需要安装任何其他库或框架。 Fish附带fish_config命令,该命令将启动图形用户界面(GUI),您可以在其中选择不同的颜色和提示配置。

fish shell's colors

更令人印象深刻的是,您还可以从GUI中查看所有可用的函数,变量,绑定等:

fish functions

如果您调整配置,则所有自定义项都存储在同一位置: 〜/ .config / fish 。 上面的屏幕截图显示,我做了一个自定义函数,使我可以使用pyenv轻松激活Python环境。 查阅的获取更多信息。

警告:鱼不像猛禽

将.bashrc和.bash_profile文件转换为fish配置的 ,但是它比我在本文中要介绍的更多。 因此,尽管我已经爱上了鱼,但我还是建议您参加看看是否喜欢它。

尝试给鱼一个漂亮的默认外壳

我喜欢通过打开航站楼来开始新的一天,而自从改用鱼壳后,我会更加享受。 它使我从担心Bash中的内容转变为专注于计划编写的代码。 如果您希望摆脱对终端的修改,而将重点更多地放在代码上,请尝试一下。 使用将其设置为默认外壳程序,并让我知道它在注释中的作用。

翻译自:

使用bash默认环境

转载地址:http://mnszd.baihongyu.com/

你可能感兴趣的文章
初识ionic
查看>>
java 中打印调用栈
查看>>
开发 笔记
查看>>
ajax跨域,携带cookie
查看>>
阶段3 2.Spring_01.Spring框架简介_03.spring概述
查看>>
阶段3 2.Spring_02.程序间耦合_1 编写jdbc的工程代码用于分析程序的耦合
查看>>
阶段3 2.Spring_01.Spring框架简介_04.spring发展历程
查看>>
阶段3 2.Spring_02.程序间耦合_3 程序的耦合和解耦的思路分析1
查看>>
阶段3 2.Spring_02.程序间耦合_5 编写工厂类和配置文件
查看>>
阶段3 2.Spring_01.Spring框架简介_05.spring的优势
查看>>
阶段3 2.Spring_02.程序间耦合_7 分析工厂模式中的问题并改造
查看>>
阶段3 2.Spring_02.程序间耦合_4 曾经代码中的问题分析
查看>>
阶段3 2.Spring_03.Spring的 IOC 和 DI_2 spring中的Ioc前期准备
查看>>
阶段3 2.Spring_03.Spring的 IOC 和 DI_4 ApplicationContext的三个实现类
查看>>
阶段3 2.Spring_02.程序间耦合_8 工厂模式解耦的升级版
查看>>
阶段3 2.Spring_03.Spring的 IOC 和 DI_6 spring中bean的细节之三种创建Bean对象的方式
查看>>
阶段3 2.Spring_04.Spring的常用注解_3 用于创建的Component注解
查看>>
阶段3 2.Spring_04.Spring的常用注解_2 常用IOC注解按照作用分类
查看>>
阶段3 2.Spring_09.JdbcTemplate的基本使用_5 JdbcTemplate在spring的ioc中使用
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_02.ssm整合之搭建环境
查看>>