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

Reply via email to