oh-my-zsh でのアクセント付き文字のタブ自動補完が機能しない

oh-my-zsh でのアクセント付き文字のタブ自動補完が機能しない

ãシェルの設定でアクセント文字を含むファイル名の自動補完を正しく表示できませんzshオーマイズッシュ

この問題を説明するためにファイル名を作成しましたcão.txt。興味があれば、dogポルトガル語での意味を確認してください。

したがって、 のようにオートコンプリートしようとするとcat c<tab>、次のようになります。

% cat ca<0303>o.txt
hi dog

そしてecho $0私に与えてくれるのは:-zsh

しかし、「プレーン」セッションに移動すると、zshまったく同じオートコンプリートが正常に機能します。

% zsh
% echo $0
zsh
%  cat cão.txt
hi dog

私のはlocaleこんな感じです:

LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"

変数を空にして、と もLANG試しました。また、 「プレーン」セッションに移行する前と移行した後で設定がまったく同じであることを再確認しました。"en_US.UTF-8""pt_PT.UTF-8"localezsh

また、デフォルトのターミナル OSX アプリケーションと iTerm2 の両方で同じように動作します。

私はzshバージョンを使用しています5.0.7

これが私の.zshrcファイル、および私が使用している他のドットファイル。

oh-my-zsh自動と手動の両方の方法でアンインストールとインストールを試みましたが、常にオートコンプリートでアクセント付き文字が表示されるという同じ問題が発生します。

答え1

これは通常のデフォルトの動作のようですzsh。 結合文字が自動補完中に結合されて表示されるかどうかは、シェル オプションによって制御されますcombining_chars。 まで補完されるようにするにはcão、ファイルにこれを追加します~/.zshrc

setopt combining_chars

これが非ログイン ( zshvs -zsh) シェルのデフォルトである場合の動作を再現できません。

zsh -fおよび非ログインの場合zsh、 のみがソース化され/etc/zshenv、他の構成ファイルはソース化されません。/etc/zshenvが に設定されていてsetopt combining_chars、初期化シーケンスの後半でそれがリセットされている可能性があります。

関連情報