Hi, > Googling a bit brought me to this thread http://tinyurl.com/3cgns7 > which provides 'workaround', i.e. putting something like:
Snip from the thread: ================================= cut ================================== i still think that the best way would be to teach app developers that they must not expect that shells are posix compatible but should rather explicitly call a posix shell if they need one. ======================================================================== And you are doing exactly that by having this setting. > if $SHELL =~ 'fish' > set shell=/bin/sh > endif > However, the 'workaround' means only to be able to use shell with vim > when one has fish as default shell, but not using fish. Maybe I misunderstood here. If you want to tell vim to use /bin/sh all the time, just put "set shell=" unconditionally into your vimrc. > Short discussion on #vim confirmed that, somehow, vim has posix- > compliancy hardwired, so the question is if there is some prospect in > the future that vim can execute posx non-compliant shells like fish? And what interface exactly should vim use ? Every non-posix shell will probably have different one, so you would have to support them one by one. > After switching to xmonad WM, i (mostly) replaced gvim with vim > running it in fullscreen session and I'd be more than happy being able > to jump into my default (fish) shell to perform e.g. darcs-related > tasks and not having to switch to another fish term. You can always run :!fish Let's try to state the question differently. What's wrong if you :set shell=/bin/sh ? Some part of vim behaves differently than what would you want ? > Moreover, after 'discovering' the shell-problem, I was quickly > ridiculed by some emxxx users :-( I don't think that emacs supports fish (but I might be wrong). The advantage which emacs has here, is that it can run commandline in a window, so you may start fish (or perl, python, etc.) in window and still edit text in other window. Hope this helps -- Vlad
pgphCluLy1L0Y.pgp
Description: PGP signature