11 ms·
Fish shell 2.1
- leokun 13y agoI like the idea of fish, but I've had issues with other programs assuming things about my shell. Like vim and I think even other programs. There's something fish doesn't do, that other shells like bash and zsh do, that breaks other programs. I can't remember the specifics, but fish breaks stuff for me when I tried it, and I tried it pretty recently.
- IanCal 13y agoAnything I have issues with I simply run under bash. I've had very few problems, and use it on my work machine (where I live in tmux and vim). Edit: I'm running a pre-release of 2.0.0, which I modified to time every command. I was extremely impressed at how simple it was for me to add (not my usual language).
- dz0ny 13y agoExporting environment variables is pain, i don't know why some apps pick env others don. Android sdk is problematic for example, go compiler too.
- izietto 13y agoExporting variables is simple: set -x #{NAME} #{value}; setting Go environment is simple too: set -x GOPATH $HOME/go set -x PATH $GOPATH/bin $PATH
- siteshwar 13y agofish's syntax is not POSIX compliant (because fish tries to simplify syntax), so at times it breaks other programs which depends on POSIX syntax. But you can always find workarounds for those problems. For e.g. see the discussion at https://github.com/fish-shell/fish-shell/issues/921 https://github.com/fish-shell/fish-shell/issues/921 . Let us know your problem and we can help you with migrating.
- chimeracoder 13y agoThere are two problems I've found that prevent me from using fish more: 1. <strike>Fish syntax breaks virtualenv</strike> (Edit: Okay, apparently this isn't actually a problem). 2. Fish does not have the equivalent of 'disown' in bash. This is fine if you exit the parent shell normally, but not if you send SIGKILL, which my window manager (wmii and i3) does.
- vially 13y ago1. Fish syntax breaks virtualenv You might want to try virtualfish [1] [1] - https://github.com/adambrenecki/virtualfish https://github.com/adambrenecki/virtualfish
- siteshwar 13y agoWhat problems are you facing while using virtualenv ? I use fish with virtualenv and everything seems fine.( You need to source activate.fish to activate virtualenv on fish. )
- frewsxcv 13y ago. bin/activate.fish
- reledi 13y agoJust so people know where to find this in case they forget, it's in the header of `env/bin/activate.fish`. # This file must be used with ". bin/activate.fish" from fish (http://fishshell.org)* http://fishshell.org)*
- adisbladis 13y agoYes, fish is not bourne shell compatible and never will be. Fish is as the name (Friendly Interactive SHell) suggests an interactive shell. You should just set vim/emacs/whatever to use a bourne-compatible shell. It's one line of vim config: set shell=/bin/sh
- splawn 13y agoactually fish works with ansi-term under emacs without issue
- Eiwatah4 13y agoI had similar problems, and found a work around that works great for me: bash is configured as my default shell. So every program that runs my default shell and just assumes it can use POSIX syntax, gets what it wants (even though it should really just use /bin/sh). My terminal on the other hand is configured to ignore my default shell and run fish instead. I also have a line in my .bash_profile (meaning it only runs for login shells) that checks whether it's running in a virtual terminal and in that case exec's fish in a new tmux (because tmux is a terminal emulator, which means that any bash instances within it won't know they are in a virtual terminal and behave like a normal bash).
- desireco42 13y agoThank you, this is really good strategy, I had similar reservations about fish and I think this both makes sense and resolves them.
- daniel02216 13y agoFor vim at least you can put 'set shell=bash' in your .vimrc and it will use bash instead.
- talles 13y agohttp://fishshell.com/release_notes.html http://fishshell.com/release_notes.html
- izietto 13y agoThank you for your wonderful shell!!! I feel the lack of official distro packages (though the fish shell repository works fine)
- siteshwar 13y agoThanks for your feedback. Let me just pinpoint it to other users that from this release you can now subscribe to fish shell's repositories by following instructions at http://fishshell.com/files/2.1.0/linux/index.html http://fishshell.com/files/2.1.0/linux/index.html
- AsymetricCom 13y agoYou should try to get included in a mainstream distro like Arch.
- GlitchMr 13y agoIt already is.
- _delirium 13y agoDebian sid ('unstable') isn't hugely behind, at least by my standards of software upgrading. Fish 2.0.0 ended up in there about 8 weeks after release, and I'd expect 2.1.0 should get there in less time (2.0.0 was a change of upstream, and the first release in 4 years, while 2.1.0 is a relatively routine update from a distro's perspective).
- pooriaazimi 13y agoThis is the biggest change: > http://fishshell.com/release_notes.html http://fishshell.com/release_notes.html > When tab-completing a file, fish will first attempt prefix matches (foo matches foobar), then substring matches (ooba matches foobar), and lastly subsequence matches (fbr matches foobar). For example, in a directory with files foo1.txt, foo2.txt, foo3.txt…, you can type only the numeric part and hit tab to fill in the rest. This is really brilliant! I always wanted that (without knowing it).
- lignuist 13y agoI am looking for something that lets me type the first few letters and when I press the arrow-up key then (maybe in combination with another key), it will only offer those items from the history, which match my previous input. Something like: Type: > ssh press arrow-up: > ssh larry@google.com press arrow-up: > ssh mark@facebook.com
- quarterto 13y agoCtrl+R.
- pacefalm 13y agozsh does that
- mineo 13y agoThis is what the arrow-up key in ZSH does by default.
- mmgutz 13y agoOn my box, zsh only searches based on the first word. Other options, in comments above, search on multi words. For example "git push" then up arrow works expected.
- cshenoy 13y agooh-my-zsh[1] does that for me. It's a pretty great function. 1. https://github.com/robbyrussell/oh-my-zsh https://github.com/robbyrussell/oh-my-zsh
- golergka 13y agoInstalling fish instead of bash was the biggest single productivity improvement that I've ever done. Thanks for your work!
- knodi 13y agoCould you give a little insight into what you liked/disliked about it?
- golergka 13y agoFirst of all, color; it's a pretty basic thing, but tremendously helps understanding information on screen. Then, there's scripting; I'm a newbie in shell scripting, but being able to pass results of some commands into others with brackets is much more intuitive and comfortable than using the pipe. The main thing that I disliked is that all web resources give you scripts and advice for bash/sh; I have routinely launched bash to use them, but every time I felt like I'm going to a handicapped version of console.
- allyant 13y agoI am currently running fish version 2.0.0 (Love it btw!) - does anyone know if there is a way to manually self update to 2.1? Or do I need to reinstall the package.
- siteshwar 13y agoWhat OS are you using ? If you are on Linux, you can subscribe to our repositories from http://fishshell.com/files/2.1.0/linux/index.html http://fishshell.com/files/2.1.0/linux/index.html and update your package.
- losvedir 13y agoI'm on OS X and having installed it initially via homebrew, I just did: brew update brew upgrade fish I'm not sure how it'll work if you initially installed it via a different method. I believe the standalone package installs into /usr/local, just like homebrew, so maybe installing via homebrew will just update it out of the box?
- imd23 13y agoI've been using it as my default shell. It simply rocks. It's my best hack friend tool. :)
- err4nt 13y agoI just re-installed Fish this morning. One of the first things I install when I have a fresh install on a workstation :D The thing I appreciate most about fish is the clever suggestions from my shell history - the simplest things can be the biggest time-savers when it comes to entering obscure commands a few weeks apart (I don't have to look them up each time I do it now)
- JSno 13y agoThe great thing is, author provided all platform installer. Ubuntu, Debian, Centos, Fedora, even readhat 5,6 and so on. So great for people lazy to compile by themselves for trying little software. Good job! I up-voted you!
- ramigb 13y agoI just had an argument with some folks around Bash vs Fish, my argument was as simple as "i like it", their was "you won't learn anything, fish sucks, you can do anything it does with a modded bash" ... but that's the point, i don't want to modify and configure, i want it to work out of the box.
- fusiongyro 13y agoEverything is full of regressive killjoys. Do what you like.
- reledi 13y agoFish works great out of the box but it's also highly configurable. Their argument about not learning anything is void - you learn more by trying new things. Also, using fish doesn't mean you never use bash again, I still dabble around in bash often.
- recuter 13y agoWith love: I always felt like fish and even zsh are kind of beautiful OCD-induced bouts of counter productivity in the same vain as Dvorak keyboard layouts and Plan 9. We can't handle things being messy and imperfect so we solve it by building our own parallel universes. What do you do when you have to use a computer without your customization? Perfect is the enemy of good, worse is better, join us on the dark side, all that jazz. :) Is fish really really REALLY worth it?
- AnthonBerg 13y agoYes.
- stiff 13y agoWhat do you do when you have to use a computer without your customization? Uh, by that logic I would only use notepad.exe.
- recuter 13y agoYes, that would be the other extreme -- just like fish, in the opposite direction. I'm thinking there's a happy medium. But maybe this isn't such a problem, note I prefaced my comment 'with love'. I'm asking, not telling.
- mitchty 13y agoAs a zsh user, I am not really seeing the problem. Even Solaris had zsh in the default install. I don't see why avoiding installing an rpm/deb is any better or worse than not. For regular shell scripts I tend to still prefer #!/bin/ksh and not bourne shell (no bash is not bourne shell). I have to admit the line of thinking you're advocating reminds me of the vim/emacs "wars". With the "vim is on ALL THE SERVERS", well yeah but unless i'm at a serial console thats not all that convincing as a TRAMP user. I customized tramp so I could edit files remotely through sudo. What do I care about the version vim installed on the servers?
- 13y ago
- deleted 13y ago[deleted]
- js2 13y agoI tried fish for a while but found it jarring switching between it and bash when working on remote machines where fish is not installed. I was also surprised when I first started using fish that it can't synchronize history between shell instances, which is a killer feature for me. So after about a month with fish I've switched to zsh. https://github.com/fish-shell/fish-shell/issues/825 https://github.com/fish-shell/fish-shell/issues/825 http://ptspts.blogspot.com/2011/03/how-to-automatically-synchronize-shell.html http://ptspts.blogspot.com/2011/03/how-to-automatically-sync...
- izietto 13y ago+1 for this feature, I think it is neat too
- GhotiFish 13y agoThat's not a bad idea, but the environments I work on have radically different layouts, and the most commonly used commands on either station are different. The filepaths don't even share a commonality, so what good is the shell history to me? Short of remember SSH destinations.
- js2 13y agoSorry I wasn't clear. I meant sharing history between multiple shells open on the same machine. I often have two or three terminal windows open with several tabs each. I use them somewhat haphazardly and would like the history between them to be shared.
- patrickg 13y agoI have used fish for a few months and I really liked it. I switched back to bash eventually because of a simple fact that esc-. didn't work in fish (which I use really often). If fish provides it, I will go back to fish.
- lunixbochs 13y agoYou get this with Alt-Up on an empty argument (so after pressing space). Unlike bash, you can keep holding Alt and press Up repeatedly to cycle through arguments and previous commands. If you want to be more precise, typing anything in the current argument before pressing the shortcut will do a substring search.
- patrickg 13y agoIs that with the new fish? On 2.0.0 /Mac OS X, this doesn't work.
- lunixbochs 13y agoYou should set alt as a meta key (in the Terminal preferences under Keyboard) if you're using Terminal.app. This also allows you to use alt+direction to move around in text.
- yeukhon 13y agoCan you split windows in fish shell? Or is that the job of an terminal emulator, not the job of a shell?
- SmileyKeith 13y agoMaybe it's just because I really like to customize my shell, but I can't stand the philosophy of fish [1]. The relevant part: "Configurability is the root of all evil." I can almost agree with this on many user facing consumer applications but a shell is so far from that. [1]: http://ridiculousfish.com/shell/user_doc/html/design.html#conf http://ridiculousfish.com/shell/user_doc/html/design.html#co...
- siteshwar 13y agoPlease see my reply at https://news.ycombinator.com/item?id=6626993 https://news.ycombinator.com/item?id=6626993
- growt 13y agoCan anyone tell me if there is a substitute for history expansions such as "sudo !!" or "vi !$" ?
- oyouareatubeo 13y agoThis is the best answer I found to this question: > http://fishshell.com/docs/current/faq.html#faq-history http://fishshell.com/docs/current/faq.html#faq-history > Alt+Up recalls individual arguments, starting from the last argument in the last line executed. ... I was really missing history substitution in fish, but now I like this even better.
- siteshwar 13y agoNo. But you can always go back to previous command with up arrow key and modify it.
- abrowne 13y agofunction sudo!! eval sudo $history[1] end is pretty close.
- GhotiFish 13y ago"Previously, a single % would pid-expand to either all backgrounded jobs, or all jobs owned by your user. Now it expands to the last job backgrounded. If no job is in the background, it will fail to expand. In particular, fg % can be used to put the most recent background job in the foreground." oh! Can fish background tasks now? I haven't being following very closely, I really should update my shell.
- siteshwar 13y agoIt was always possible to background processes in fish. You may be confusing it with not able to background functions (https://github.com/fish-shell/fish-shell/issues/238 https://github.com/fish-shell/fish-shell/issues/238). We are yet to fix that bug.
- lunixbochs 13y agoThe major change here is that `kill -9 %` with no backgrounded tasks would kill all of your processes (before Fish 2.1). There's now a guarantee that `%` expands to either the last process backgrounded or an error.
- Tarang 13y agoI really love fish, is there any way to use fish over ssh?
- siteshwar 13y agoInstall it on remote machine :)
- ProNihilist 13y agoEven after doing the "type this to fix weird console ouput" I still have weird console output :(
- siteshwar 13y agoPlease explain your problem in detail. If possible, open an issue on GitHub (https://github.com/fish-shell/fish-shell/issues https://github.com/fish-shell/fish-shell/issues)
- ProNihilist 13y agoAdded an issue at https://github.com/fish-shell/fish-shell/issues/1071 https://github.com/fish-shell/fish-shell/issues/1071
- Osmium 13y agoI installed 2.1 via homebrew and now, every time I open a new terminal window, I get: bind: Key with name 'dc' does not have any mapping bind: Key with name 'ppage' does not have any mapping bind: Key with name 'npage' does not have any mapping Does anybody have any idea what causes this / how to fix it?
- siteshwar 13y agoWhat's the output of 'bind' and 'bind --key-names' on your system ?
- Osmium 13y agoUploaded the output here: http://pastebin.com/v6ZKrLcp http://pastebin.com/v6ZKrLcp Thanks!
- siteshwar 13y agoSo it looks like the keys to which fish is trying to bind the mappings are not available on your system. I have opened an issue for you at https://github.com/fish-shell/fish-shell/issues/1068 https://github.com/fish-shell/fish-shell/issues/1068 , we will be following up on that. I would appreciate more inputs about your setup. For e.g. version of OS X, your terminal, keyboard type etc.
- Osmium 13y agoSure. I'm basically on a fresh install of Mavericks (13A603), using Terminal.app (unmodified from defaults apart from downloading the Solarized theme), standard British Mac keyboard (rMBP).
- siteshwar 13y agoAlright. I have updated the issue on GitHub with this information. Let's continue discussing it there.
- andrewvc 13y agoLove fish, been using it for a couple years now, haven't looked back!
- iagooar 13y agoI've been using Fish for a year now, it's really amazing. Not going back to bash or even zsh. The only problem I had was getting all vim plugins to work with it, but then I discovered that you can set the shell vim shall use in .vimrc (I set it to sh) and now everything works like a charm. BTW, I'm loving the fuzzy autocompletion, it's truly a "killing feature".
- vhost- 13y agoAs a systems engineer, I'm stuck using (mostly) vanilla bash. I'd love to dabble in fish or zsh, but anytime I start it becomes a waste of time. Upside is I know bash ins and outs :). I'm usually the one-liner wizard of the office.
- spindritf 13y agoThey also have a PPA now[1]. I'm pretty sure I looked a few months ago, when 2.0 hit, and it wasn't available. [1] http://fishshell.com/files/2.1.0/linux/index.html#dl-ubuntu12.04 http://fishshell.com/files/2.1.0/linux/index.html#dl-ubuntu1...
- siteshwar 13y agoYes. We are introducing PPA with this release. You can read the announcement at http://sourceforge.net/mailarchive/message.php?msg_id=31573585 http://sourceforge.net/mailarchive/message.php?msg_id=315735...
- SnowLprd 13y agoFor those who want to give fish a spin, it might be worth checking out the guide I wrote on the topic: http://hackercodex.com/guide/install-fish-shell-mac-ubuntu/ http://hackercodex.com/guide/install-fish-shell-mac-ubuntu/ I'll soon have it updated for fish 2.1.0, Mavericks, and the new PPA locations.
- JSno 13y agocan anybody tell me why this Fish shell shows some files by adding "*" at the end of it?
- siteshwar 13y agoThose files are executables. There is a function 'ls' which wraps ls command and adds --indicator-style=classify parameter to make output more readable.
- derleth 13y agoIt would be nice if I could find a non-OSX download on that page.
- dancecodes 13y agoNice tool. Thanks for Gentoo support!