I've been using #fish_shell more recently, and I really think that fish's abbreviations mechanism is far better than aliases in bash/zsh/others.

https://fishshell.com/docs/current/cmds/abbr.html

Instead of replacing a command with another, you get autocompletion at the command line. This makes copying commands between users or machines way less brittle! You get all the user experience benefits of typing less without creating confusion about what you're actually running.

Kudos to the team behind that decision

abbr - manage fish abbreviations — fish-shell 4.5.0 documentation

Been playing around with #fish_shell lately, and one thing I really like about it compared to bash, is that fish is very big on in-place expansion. Bash provides many shorthands for references to past commands (e.g., !$), or commonly used commands (aliases). However, these shorthands generally don't get expanded until the command is executed.

Conversely, fish's counterparts are expanded in-place on the command line. alt-up modifies the command prompt (vs bash's !$). abbreviations are expanded as soon as you add a whitespace (vs aliases).

It's neat.

It's time for a new blog article!

This time, I present some #tips and tricks for the #FishShell inspired by a recent video from Dreams of Code on Youtube.

https://beeb.li/blog/fish-shell-tips-and-tricks

#fish_shell #shell #FOSS #blog #BlogPost #SmallWeb

Fish Shell Tips & Tricks

A collection of tips and tricks for the fish shell I wish I had known about a long time ago.

@rl_dane I saw this just before sleep

I tried with #Fish

Fish store history as #YAML

I tweaked the command to make it barely works

Since it's YAML, it's store the timestamps

So, i tried to do an actual #year_in_review

3 hours later, here it is !

https://gitlab.com/pinage404/dotfiles/-/commit/5089def105806afe92684609a004081cf5aa136d

#FishShell #Fish_Shell #Recap #Rewind

fish: year in review (5089def1) · Commits · pinage404 / dotfiles · GitLab

GitLab.com

GitLab
Accidentally discovered a(nother) cool feature in #fish_shell , pressing F1 opens the man page for the command you are currently typing.

@Danathar @todd_a_jacobs True! You can be #POSIX compliant and still frustrate any sane *nix user's expectations about how systems work, or do things in non-portable ways. Heck, I use the #fish_shell which doesn't even *try* to be POSIX compliant, but I love working with it anyway and the docs are solid.

I think the real issue is that so much of #Darwin #userland is poorly documented, if at all. That just makes deviations from the norm more painful than necessary IMHO.

I'm currently playing with #Codeium in #Vim, and am finding it interesting. It opens chats using a local browser port, sort of like the #fish_shell help command does. However, I can't find a CLI in #Homebrew (the AI may be hallucinating that there is one) or figure out how to make a whole-codebase query rather than getting context just from the current buffer.

Anyone tried it with Vim yet? How do I ask something like "please summarize what this codebase does" within Vim or at a shell prompt?

For anyone using the #fish_shell, the following #shell_function definition will let you switch to the latest CRuby #chruby knows about. It could be simplified (e.g. setting a function-local variable is mostly for debugging) or use builtins instead of pipes in shells where that matters, but I still find it useful for myself. Maybe you will, too.

```fish
function chruby-latest
set latest (
chruby | tr -d '*' |
pcregrep -o '\bruby-[\d.]+' | tail -1)
chruby $latest
end
```

fish shellのプロンプトにkubectlのContextとNamespaceを表示させてみた
https://dev.classmethod.jp/articles/fish-shell-prompt-kubectl-context-namespace/

#dev_classmethod #Kubernetes #Amazon_EKS #fish_shell

fish shellのプロンプトにkubectlのContextとNamespaceを表示させてみた | DevelopersIO

無いなら作ろう精神

クラスメソッド発「やってみた」系技術メディア | DevelopersIO

There's been recent discussion about #POSIX & the #bash_shell. Some shells are awesome but don't even pretend to follow the POSIX standards. The #fish_shell is a good example.

Portability can be useful, but context matters too. Why deviate from standards? #LSB excludes #RubyLang but specifies #Perl & #PythonLang. #XDG is needlessly confusing. Distros may deviate from the #Linux #FHS because "reasons."

Goals & targets matter more than portability for its own sake.

https://fishshell.com/docs/current/design.html

Design — fish-shell 4.6.0 documentation