The problem is that `alias` is just a wrapper that creates a `function`. And while `functions e` doesn't show it (a known issue) the `alias` command did `function e --wraps env`. So the solution is don't use `alias`. Just define the function yourself:
function e env MY_PWD=$PWD emacsclient -t -a "" ^/dev/null end Note that you'll need to start a new shell, or manually delete the completion for `e`, to stop seeing the completions for the `env` command. On Fri, Nov 25, 2016 at 7:02 PM, Shiyao Ma <i...@introo.me> wrote: > Hi, > > I've this alias: > alias e 'env MY_PWD=$PWD emacsclient -t -a "" ^/dev/null' > > when I type: e <TAB>, > fish will complete as if I've typed: env <TAB>. > > Indeed, I only want: e <TAB> to give a list of files in current dir. > How to achieve the above effect? > > > Thanks. > > -- > > 吾輩は猫である。ホームーページはhttps://introo.me <http://introo.me>。 > > ------------------------------------------------------------ > ------------------ > > _______________________________________________ > Fish-users mailing list > Fish-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/fish-users > > -- Kurtis Rader Caretaker of the exceptional canines Junior and Hank
------------------------------------------------------------------------------
_______________________________________________ Fish-users mailing list Fish-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fish-users