没有搞过严肃的项目,感觉日常用哪个都差不多。我现在极简 zsh,prompt 就这么几行,显示个 git branch 和 return code。
autoload -Uz vcs_info
precmd() { vcs_info }
zstyle ':vcs_info:git:*' formats '%b '
NEWLINE=$'\n'
setopt PROMPT_SUBST
PROMPT='%F{blue}%~%f %F{red}${vcs_info_msg_0_}%f${NEWLINE}%(?..%F{red}%?%f )%F{green}❯%f '
大部分需求都可以在 emacs 里完成,感觉没啥差别。
zsxh
22
fish + starship,配置简单,省心,体验跟之前用 zsh + p10k + 一大堆插件没啥区别,而且特别适用用nix管理
starship 本身当然没有性能问题。启动慢不是 starship 启动慢,是 zsh 的一些插件(或者一些软件的 shell integration)的启动速度慢。
比较明显的启动速度慢的 shell integration,比如 conda,nvm 之类的,用 powerlevel10k 都能明显的感受到启动速度变快了。
我现在是在 tmux 里面用 bash,tmux 参考了 oh my tmux
acoret
25
bash 但实际真要写点什么 直接jaba上了 或者试试guile 之类的了。
目前bash只会while true sleep seq for
但用上guile就很多了 直接system组合起来用
shynur
28
我的 bash (退出码, 命令编号 1st 2nd …, Git 分支名, shell 层级):
纯手写, 没有引入任何主题.
1 个赞
GNU Bash 我通常更喜欢,因为它具有交互功能,我并不特别爱写bash脚本。
在GNU Emacs中,我也很喜欢eshell。
Youmu
31
基本就用 zsh + grml-zsh-config.
如果你是 archlinux 用户的话可以直接安装 pacman -S grml-zsh-config 之后就好了。grml 本身也非常轻量
wsug
32
我也是cmd日常,不在命令行使用emacs,感觉基本满足需求
aeghn
33
交互都是 zsh,自己几年前写的 zsh-prompt,核心配置一共就一百来行
- 无包管理器
- 自己写的 prompt,异步 git 状态加载
- 纯 zsh 实现(windows 上用 msys2 也直接带过来用)
- 使用 fzf 做历史目录和历史命令补全
脚本都是 bash,也是之前写的用 fzf 来做 cheatsheet 查询的东西
1 个赞
alacritty + fish + starship
passky
35
bash/eshell,配上个脚本
if [ -z "$TTY" ]; then
TTY=/dev/tty
fi
while getopts "q:" opt; do
case $opt in
q)
QUERY="$OPTARG"
;;
*)
;;
esac
done
INPUT="$(mktemp)"
OUTPUT="$(mktemp)"
cat > "$INPUT"
# check ~/.emacs.d/init.el for MY_MINI
MY_MINI=true emacs -nw --eval "\
(with-temp-buffer
(insert-file-contents \"$INPUT\")
(let* ((lines (split-string (buffer-string) \"\n\" t))
(selection (completing-read \"Select: \" lines nil nil \"$QUERY\")))
(with-temp-file \"$OUTPUT\"
(insert selection)))
(kill-emacs))
" < "$TTY"
# (delete-frame) for emacsclient
cat "$OUTPUT"
rm -f "$INPUT" "$OUTPUT"
exit 0
脚本看情况,
- linux桌面的功能性脚本,不复杂dash
- 复杂点的python/elisp
0af
38
不过虽然说 Nix 可以换 Shell,但开启虚拟环境(比如,nix-shell、nix develop)就会强制切换到 Bash 作为虚拟环境内的 Shell,造成用户 Shell 与虚拟环境 Shell 之间的割裂。
这个事情 Nix 的作者是说过的,他表示自己也无力改变,因为 Nix 的 Shell Script 大量依赖了 Bash 特有的语法:
--run 我也试过,但是这么做了之后我的 fish 不知怎么回事就失去了所有的交互功能(比如,智能提示、Tab 补全等)。
tan9p
39
zsh,用的skywind3000配置好的,利用antigen装插件.
相比自己之前用的shell,补全、历史方便太多了.
用 nix develop 就不用强制切换到 bash 来。当然我是用的 zsh。nu/fish 还有没有那么好的兼容性我就不知道了。
1 个赞