WSL 上の Bash でエイリアス ファイルが機能しない (OpenSuse Leap 42.3)

WSL 上の Bash でエイリアス ファイルが機能しない (OpenSuse Leap 42.3)

WSL の Bash でエイリアス ファイルを次のように設定しました。

alias gvim='/mnt/d/Vim/vim81/gvim.exe'
alias vim='/mnt/d/Vim/vim81/vim.exe'
alias pngcrush='/mnt/c/Users/nathan/Downloads/pngcrush_1_8_11_w64.exe -reduce -brute -ow'

しかし、Bash 内で gvim または vim を実行しようとすると、次のエラーが発生します。

:No such file or directorym.exe(グヴィム)

`:そのようなファイルまたはディレクトリはありません.exe' (vim)

ただし、pngcrush エイリアスは正しく動作します。しかし、奇妙な理由により、~/.alias ファイルで定義されたエイリアスの最初の「a」が一重引用符に置き換えられ、引数なしで bash で alias コマンドを実行すると、末尾の一重引用符が失われます。

gvim と vim の実行ファイルが正しく見つからない理由を知っている人はいますか? bash で .exe へのパスを直接入力すると機能しますが、これら 2 つのエイリアスは機能しません。

Bash バージョン:

> bash --version
GNU bash, version 4.3.42(1)-release (x86_64-suse-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

OpenSUSE バージョン:

> cat /etc/*release
NAME="openSUSE Leap"
VERSION="42.3"
ID=opensuse
ID_LIKE="suse"
VERSION_ID="42.3"
PRETTY_NAME="openSUSE Leap 42.3"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:42.3"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
openSUSE 42.3 (x86_64)
VERSION = 42.3
CODENAME = Malachite
# /etc/SuSE-release is deprecated and will be removed in the future, use /etc/os-release instead

私のすべての bash エイリアスは次のとおりです。

>alias
alias +='pushd .'
alias -='popd'
alias ..='cd ..'
alias ...='cd ../..'
alias beep='echo -en "\007"'
alias cd..='cd ..'
alias dir='ls -l'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
'lias gvim='/mnt/d/Vim/vim81/gvim.exe
alias l='ls -alF'
alias la='ls -la'
alias ll='ls -l'
alias ls='_ls'
alias ls-l='ls -l'
alias md='mkdir -p'
alias o='less'
'lias pngcrush='/mnt/c/Users/nathan/Downloads/pngcrush_1_8_11_w64.exe -reduce -brute -ow
alias rd='rmdir'
alias rehash='hash -r'
alias unmount='echo "Error: Try the command: umount" 1>&2; false'
'lias vim='/mnt/d/Vim/vim81/vim.exe
alias you='if test "$EUID" = 0 ; then /sbin/yast2 online_update ; else su - -c "/sbin/yast2 online_update" ; fi'

マイクロソフト Windows 10 Home 10.0.17134

答え1

簡単な答え: bash 内から vim を開くだけです。

WSL で使用している Linux ディストリビューションには、おそらく vim が含まれています。Windows バージョンの vim を開くために WSL と bash を使用する理由はありません。

関連情報