
平时用的是 zsh ,但是 fish 中有个 funcsave 功能很好用,能够把自己在命令行中临时定义的 alias 持久化,于是写了个简单的 shell 函数,实现这个功能
将以下代码添加到你的 ~/.zshrc 文件中:
# Function to save a specific alias function alias_save { # Check if the alias exists if alias "$1" > /dev/null 2>&1; then # Extract the alias definition and ensure the correct format local alias_definition=$(alias "$1" | sed "s/^alias //") # Append the alias to the ~/.zsh_aliases file with alias prefix echo "alias $alias_definition" >> ~/.zsh_aliases echo "Alias $1 saved to ~/.zsh_aliases" else echo "Alias $1 does not exist" fi } # Function to load aliases function load_aliases { if [ -f ~/.zsh_aliases ]; then source ~/.zsh_aliases echo "Aliases loaded from ~/.zsh_aliases" else echo "No alias file found." fi } # Automatically load aliases on shell startup load_aliases 重新加载 Zsh 配置文件,自动加载已保存的 alias:
source ~/.zshrc 使用
alias b='git status' alias_save b # 持久化 b # 运行 'git status' 1 ShineyWang 2024-06-04 22:07:15 +08:00 |
2 FoolgryWang OP @ShineyWang #1 大佬!!!你这个是很完整的工具,我这个就是简单的脚本,自己玩玩 |
3 FoolgryWang OP @ShineyWang #1 很久之前就 star 了 |
4 YzSama 2024-06-05 09:56:12 +08:00 我倒是想要个输入 alias ,提示原来的指令提示功能。 类似 warp 终端一样的显示 |
5 vvhy 2024-06-05 10:00:30 +08:00 不想手动编辑 zshrc ,能把这个 function 自动 save 一下吗 |
6 FoolgryWang OP @vvhy #5 也不是不行,这两天有空了整一下,弄好了回复你 |
7 FoolgryWang OP @YzSama #4 提示这块没搞过,简单看的话 alias |grep xxx 就可以 |
8 molezznet 2024-06-05 11:47:18 +08:00 原来 fish 还有 funcsave 这个功能, 学习下学到了 |
9 FoolgryWang OP @vvhy #5 搞好了,安装脚本在这里 https://github.com/foolgry/zsh_alias/blob/main/install.sh 可以使用 wget 或者 curl 一条命令安装,任意一个都可以 sh -c "$(curl -fsSL https://raw.githubusercontent.com/foolgry/zsh_alias/main/install.sh)" sh -c "$(wget -qO- https://raw.githubusercontent.com/foolgry/zsh_alias/main/install.sh)" |
10 vvhy &bsp;2024-06-07 00:15:29 +08:00 @FoolgryWang #9 脚本里多了一个\n |
11 FoolgryWang OP @vvhy #10 那是加一个换行,不影响使用,不想要的话也可以去掉,我在 mac 测试没问题,其他环境还没测试 |
12 vvhy 2024-06-07 21:14:24 +08:00 @FoolgryWang #11 在 arch 上会多"\n"两个字符,有点奇怪,另一台设备却没问题哈哈 |