Earlier quoted context omitted.
Using fish doesn't mean you have to stop using existing bash scripts.
I understand that, but my point was that Fish is yet another big missed opportunity.
Fish shell
111–120 of 188 posts
Re: Fish shell
#112Hey, I'm the lead dev of the fish shell. There's some great discussion in this thread! For those who are interested, the fish shell is about to release version 2.2, a very significant release that wraps up eighteen months of development. You can try the beta now: http://fishshell.com/beta/ A sampling of new features: - vi mode (yay!) - Abbreviations, fish's take on aliases. They expand as you type them. - A new "inli…
Re: Fish shell
#113Hey, I'm the lead dev of the fish shell. There's some great discussion in this thread! For those who are interested, the fish shell is about to release version 2.2, a very significant release that wraps up eighteen months of development. You can try the beta now: http://fishshell.com/beta/ A sampling of new features: - vi mode (yay!) - Abbreviations, fish's take on aliases. They expand as you type them. - A new "inli…
Hey, since you are the lead dev of the fish shell, a serious problem occurred to me weeks ago, I was compiling a QT client in fish, and there is already an environment value called `LD_LIBRARY_PATH` (including other values the compilation needs) defined in /etc/ld.so.conf.d/ and /etc/profile.d/ but fish cannot find them, if I use `set -g ...` to set it in fish shell prompt and then do the compilation, it will work, it took me a lot time to figure it out that this is the problem of fish-shell, the weird thing is, there is already one line `#!/bin/sh` at the beginning of the compilation script (it is a bash script called build.sh), so it should be executed under sh which is bash in my CentOS.
Re: Fish shell
#114Earlier quoted context omitted.
Someone's gotta explain to me how and why oh-my-zsh is slow. I've never once experienced it being slow for me. In fact, I switched to prezto and it was unbelievably slow. I switched back to oh-my-zsh. Maybe I'm just not using it right...
OMZ got painfully slow for me when I used it with a lot of plugins and it was iterating over a lot of different file paths. It seems like ZSH has an issue when you're loading a mass amount of files...or maybe it's just the way OMZ is loading them?
If you clear out your logfiles by trashing /private/var/log/asl/*.asl, there's a pretty decent speedup.
Re: Fish shell
#115Hey, I'm the lead dev of the fish shell. There's some great discussion in this thread! For those who are interested, the fish shell is about to release version 2.2, a very significant release that wraps up eighteen months of development. You can try the beta now: http://fishshell.com/beta/ A sampling of new features: - vi mode (yay!) - Abbreviations, fish's take on aliases. They expand as you type them. - A new "inli…
[deleted]
In bash, if you cd into a symlink and then cd .., you get back to where you started. But fish will resolve the symlink, and so it will take you to the destination's parent.
The price bash pays is inconsistencies between external commands and builtins. For example, `ls ..` can output something different than `cd .. && ls`. This is because the kernel maintains the cwd as an inode, not a path.
I don't know of anyone who is wedded to the existing behavior. If you feel strongly about it or have ideas for how it ought to work, please comment in the issue! https://github.com/fish-shell/fish-shell/issues/1957
Re: Fish shell
#116Hey, I'm the lead dev of the fish shell. There's some great discussion in this thread! For those who are interested, the fish shell is about to release version 2.2, a very significant release that wraps up eighteen months of development. You can try the beta now: http://fishshell.com/beta/ A sampling of new features: - vi mode (yay!) - Abbreviations, fish's take on aliases. They expand as you type them. - A new "inli…
Re: Fish shell
#117I used to use fish, and emacs. But when I switched to vim, I had to switch away from fish as well because of its lack of vi bindings. It is a little disappointing to go back to using bash, but as long as bash-completion is working, it's not really a big issue. Of course, I do miss the syntax highlighting. (I would use zsh, but it provides little benefit over bash out of the box and is slower (oh-my-zsh is unbearably…
> vi-mode, obviously As you said at the end, Fish does have this. I don't know if it's full-featured enough for you though. > Control+R. It is annoying to have to guess how much you must type before hitting the up arrow, instead of having it dynamically displayed When you start typing a command-line in Fish that matches a previously-typed command, it automatically shows the rest of the line as an available completion…
^R is more powerful, though; it matches at any point in previous commands, not just at the beginning.
> The lack of this functionality actually really kills my ability to use any other shell.
You can achieve that behavior in readline (which is used by bash, python shell, etc.) by changing the up/down arrows from previous-history/next-history to history-search-backward/history-search-forward. In ~/.inputrc:
"\e[A": history-search-backward
"\e[B": history-search-forward
Note that you can still use ^P/^N for previous-history/next-history (or you can remap "\C-p"/"\C-n" as well).Re: Fish shell
#118Hey, I'm the lead dev of the fish shell. There's some great discussion in this thread! For those who are interested, the fish shell is about to release version 2.2, a very significant release that wraps up eighteen months of development. You can try the beta now: http://fishshell.com/beta/ A sampling of new features: - vi mode (yay!) - Abbreviations, fish's take on aliases. They expand as you type them. - A new "inli…
========================================================
# count the number of the files in the dir(not sub.), use tree | wc -l for subdirs # alias lsc ls:command not found ~/.config/fish/config.fish (line 67): # alias lah 'la --color=yes --sort=time -lh | head' # count the number of the files in the dir(not sub.), use tree | wc -l for subdirs # alias lsc 'ls -all | wc -l' ^ in function 'fish_prompt' called on standard input
in command substitution called on standard input
Warning: Identity file
alias cp cp not accessible: No such file or directory.
Warning: Identity file
alias mv mv not accessible: No such file or directory.
Warning: Identity file
alias rcp rsync not accessible: No such file or directory.
unknown option -- -
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-E log_file] [-e escape_char]
[-F configfile] [-I pkcs11] [-i identity_file]
[-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec]
[-O ctl_cmd] [-o option] [-p port]
[-Q cipher | cipher-auth | mac | kex | key]
[-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port]
[-w local_tun[:remote_tun]] [user@]hostname [command]
>========================================================
Re: Fish shell
#119Hyperpolyglot has a nice breakdown of the differences between bash, zsh, and fish. http://hyperpolyglot.org/unix-shells
Re: Fish shell
#120* Functions can only return a status number. Functions are always subshells.
* The hashtable (associative array) syntax is unpalatable, unreadable, and a real abomination. I simply don't use it, because it gives me a headache.
* I can never remember the horrible syntax for most string functions.
* You cannot reasonably store an arbitrary json structure in memory. Embedded lists and hashtables are absolutely unwieldy.
* Bash has no concept of FFI (Foreign-function interface). So, you cannot load an external library and invoke functions it it.
These problems are not particularly impossible to solve, but the Bash authors will probably never do it. Therefore, the final reproach against bash is that they do not publish their source code in an environment similar to github, where users can file their issues and improvement requests. In other words, the bash authors are not in communion with their users.
In what way can the fish shell address these problems?