4

私のzshは、!~以前に実行したコマンドに置き換えられています。を実行すると、 がコマンドawk '$1 !~ /abc/に置き換えられるため、これは問題です。!~

これを無効にする方法について何か考えはありますか? zsh のせいではない可能性がありますが、1 時間グーグルで調べても何も見つからなかったので、それが最も可能性の高い候補であると判断しました。

アップデート:

これは!~、改行で発生した場合にのみ発生します。

echo !~
# ~/bin/test_translate.rb

echo foo | awk '
$1 !~ /abc/'

awk: cmd. line:2:     $1 ~/bin/test_translate.rb /abc/
awk: cmd. line:2:                            ^ syntax error
awk: cmd. line:3:     $1 ~/bin/test_translate.rb /abc/
awk: cmd. line:3:                                     ^ unexpected newline or end of string

更新 2:

私はそれを私の次の行に絞り込みました.zshrc:

source $ZSH/oh-my-zsh.sh

最後にアクセスしたパスにスペースバーを追加するオプションを見つけたいのですが、oh-my- zshzsh!~の使用をやめたくありません。手動で変更していません$ZSH/oh-my-zsh.sh

4

2 に答える 2

2

からman zshoptions:

BANG_HIST (+K) csh スタイルのテキスト履歴展開を実行し、文字 `!' を扱います。特に。

行のsetopt -K後に置くと、コマンド内のシーケンス (またはその他のシーケンス) が展開されなくなります。source $ZSH/oh-my-zsh.sh.zshrc!~!

于 2014-01-20T13:25:03.737 に答える