我在 Ubuntu:14.04 上使用zsh
with 。oh-my-zsh
当我粘贴 URL 时,shell 会使用反斜杠自动完成转义字符。
例如使用环境变量:
$ wget http://{DEFAULT_IP}/index.html
It will become:
$ wget http://\{DEFAULT_IP\}/index.html
如何禁用此功能?
2019-05-12 更新:
new version(> 486fa10) oh-my-zsh 有一个配置,在DISABLE_MAGIC_FUNCTIONS=true
之前添加source $ZSH/oh-my-zsh.sh
:
DISABLE_MAGIC_FUNCTIONS=true
source $ZSH/oh-my-zsh.sh
通过:https ://github.com/robbyrussell/oh-my-zsh/commit/486fa1010df847bfd8823b4492623afc7c935709
原答案:
这是 zsh 5.1.1 ~ 5.2(current) 中的一个错误。
该插件bracketed-paste-magic
在 zsh 版本中不起作用。
问题在这里:
我建议你禁用bracketed-paste-magic
.
注释掉 oh-my-zsh's 中的这些代码来~/.oh-my-zsh/lib/misc.zsh
解决问题:
if [[ $ZSH_VERSION != 5.1.1 ]]; then
for d in $fpath; do
if [[ -e "$d/url-quote-magic" ]]; then
if is-at-least 5.1; then
autoload -Uz bracketed-paste-magic
zle -N bracketed-paste bracketed-paste-magic
fi
autoload -Uz url-quote-magic
zle -N self-insert url-quote-magic
break
fi
done
fi
如果 URL 没有被引用,反斜杠可能是必要的,这就是 zsh 添加它们的原因(通过url-quote-magic
)。如果您不喜欢它们,请引用 URL:
$ wget '
然后粘贴 URL 并输入结尾引号:
$ wget 'http://{DEFAULT_IP}/index.html'
要完全禁用该url-quote-magic
功能:
zstyle ':urlglobber' url-other-schema
编辑:从 5.1 版开始,zsh 在某些终端中支持括号粘贴,在这种情况下url-quote-magic
不再涉及(bracketed-paste-magic
将其替换为粘贴)。
显示我的 zsh 版本
echo $ZSH_VERSION
5.3
打开 misc.zsh
vim ~/.oh-my-zsh/lib/misc.zsh
您将看到以下内容:
autoload -Uz is-at-least
# *-magic is known buggy in some versions; disable if so
if [[ $DISABLE_MAGIC_FUNCTIONS != true ]]; then
for d in $fpath; do
if [[ -e "$d/url-quote-magic" ]]; then
if is-at-least 5.1; then
autoload -Uz bracketed-paste-magic
zle -N bracketed-paste bracketed-paste-magic
fi
autoload -Uz url-quote-magic
zle -N self-insert url-quote-magic
break
fi
done
fi
## jobs
setopt long_list_jobs
env_default 'PAGER' 'less'
env_default 'LESS' '-R'
## super user alias
alias _='sudo'
## more intelligent acking for ubuntu users
if which ack-grep &> /dev/null; then
alias afind='ack-grep -il'
else
alias afind='ack -il'
fi
# only define LC_CTYPE if undefined
if [[ -z "$LC_CTYPE" && -z "$LC_ALL" ]]; then
export LC_CTYPE=${LANG%%:*} # pick the first entry from LANG
fi
# recognize comments
setopt interactivecomments
在文件顶部添加以下行
DISABLE_MAGIC_FUNCTIONS=true