Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bingzhangdai/bashrc
https://github.com/bingzhangdai/bashrc
bashrc wsl
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/bingzhangdai/bashrc
- Owner: bingzhangdai
- License: mit
- Created: 2021-03-28T07:14:41.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-24T06:24:54.000Z (11 months ago)
- Last Synced: 2024-07-30T21:04:40.516Z (5 months ago)
- Topics: bashrc, wsl
- Language: Shell
- Homepage:
- Size: 95.7 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bashrc
祖传的 .bashrc 文件
## quick start
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/bingzhangdai/bashrc/main/scripts/install)"
```## key points
* bash:发行版自带 bash,远端服务器有时也不能更改终端,不想让远端和本地的使用习惯有不一致
* 快:在功能丰富与性能之间做出良好的平衡,所有功能尽量以 shell 脚本的方式实现,避免启动新进程
* 在便捷性,操作快捷上尽量与 zsh 靠近
* 素雅的命令提示符,最短的 prompt 提供尽可能多的信息
## cheatsheet
### 命令提示符
![prompt](images/prompt.png)
* 素雅:避免过于花哨的界面让人分不清主次
* 速度:即使在WSL上也不能卡([原因](https://github.com/microsoft/WSL/issues/4197)),按回车一定要流畅
* 精简:不能占用太多空间,同屏/同行看到的信息越多工作效率越高,prompt 要尽可能的简短
* 兼容:prompt 只包含 ascii 字符,兼容老旧终端(cmd.exe)
设计思路来源于这篇文章:[你不需要花哨的命令提示符](https://zhuanlan.zhihu.com/p/51008087),但更进一步。
#### 主题
如上图所示,但遵照习惯,root 用户,`$` 会显示成 `#`,为了醒目,用户名会显示成红色而不是绿色。
对于WSL用户,如果安装有多个发行版,hostname没有太多意义,因为hostname都是一样的,这时,hostname会替换成 Win10 商店里所安装的发行版的名字。
#### Fish 路径折叠
提示符只保留最后一级目录的完整名称,其他父目录全部折叠成一个字母的前缀,如果是隐藏目录,则显示前两个字母。这样可以避免路径过长时输入的命令被挤压到第二行。
#### 显示非零返回值
运行脚本时常常会因为疏忽而注意不到命令其实已经执行失败了,或者频繁地 `echo $?` 去检查返回值。这里如果上一个程序返回非 0,`$` 会显示为红色。
#### git branch
在 git 下工作时,会显示当前的分支名,分支名也会按照路径同样的方式折叠。
#### vi 模式
bash 默认为 vi 插入模式,故使用习惯和默认一致,按 ESC 会进入 vi 命令模式,按照vim的习惯,光标会变成实心方块。
(开启此模式需要把 `.inputrc` 拷贝到家目录,并重启终端。)