我在Ubuntu:14.04上使用zsh
和oh-my-zsh
。如何使用URL和反斜槓禁用zsh替換/自動完成
當我粘貼一個URL時,shell自動完成帶反斜槓的轉義字符。
例如與環境變量:
$ wget http://{DEFAULT_IP}/index.html
It will become:
$ wget http://\{DEFAULT_IP\}/index.html
我如何禁用此功能?
我在Ubuntu:14.04上使用zsh
和oh-my-zsh
。如何使用URL和反斜槓禁用zsh替換/自動完成
當我粘貼一個URL時,shell自動完成帶反斜槓的轉義字符。
例如與環境變量:
$ wget http://{DEFAULT_IP}/index.html
It will become:
$ wget http://\{DEFAULT_IP\}/index.html
我如何禁用此功能?
如果URL未被引用,則可能需要反斜槓,這就是zsh添加它們的原因(通過url-quote-magic
)。如果你不喜歡他們,然後引用網址:
$ wget '
然後粘貼URL,然後鍵入結束報價:
$ wget 'http://{DEFAULT_IP}/index.html'
要完全禁用url-quote-magic
功能:
zstyle ':urlglobber' url-other-schema
編輯:截至5.1版本,zsh在一些終端支持括號粘貼,在這種情況下,0不再涉及(bracketed-paste-magic
將其替換爲粘貼)。
這是zsh 5.1.1〜5.2(current)中的一個bug。
該插件bracketed-paste-magic
沒有在zsh版本中工作。
問題就在這裏:
我建議你禁用bracketed-paste-magic
。
評論從這些代碼哦,我-的zsh的~/.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
如何在OH-MY-的zsh disabed這個功能呢?這對我來說有點不方便。 zsh是否有這樣的理由? – 2014-09-03 01:25:21
@李明鴻我已經更新了我的答案。而zsh(實際上是oh-my-zsh)這樣做是因爲這是大多數用戶期望的,特別是由於可以在許多URL中找到的&字符,因此需要引用它。 – vinc17 2014-09-03 07:49:07
此zstyle命令看起來只對登錄的用戶有效。如果其他用戶嘗試再次登錄。這是無用的。不是系統全局設置。如果我嘗試在zshrc中添加它,也沒用。 – 2014-09-04 02:18:53