别名文件在 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(GVIM)

`:没有那个文件或目录.exe' (vim)

但是,pngcrush 别名可以正常工作。但是出于某些奇怪的原因,当我在 bash 中不带参数运行 alias 命令时,我的 ~/.alias 文件中定义的别名中的第一个“a”被替换为单引号,而结尾的单引号则丢失了。

有人知道为什么 gvim 和 vim 可执行文件无法正确找到吗?如果我直接在 bash 中输入 .exe 的路径,它可以工作,但这两个别名不起作用

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'

Microsoft Windows 10 家庭版 10.0.17134

答案1

快速回答:只需从 bash 内部打开 vim。

您与 WSL 一起使用的 Linux 发行版可能已包含 vim。没有理由使用 WSL 和 bash 来打开 Windows 版本的 vim。

相关内容