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"。また、locale「一般」セッションに入る前と後の設定がまったく同じであることを再確認しましたzsh

また、基本的な端末OSXアプリケーションとiTerm2でも同じように動作します。

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

これは私のものです。.zshrcファイルと私が使用している他のドットファイルも同じです。

自動および手動でアンインストールおよびインストールしようとしましたが、oh-my-zsh常にオートコンプリートを使用してアクセント文字を表示するのと同じ問題が発生しました。

答え1

これは通常の基本的なzsh動作のように見えます。オートコンプリート中に結合文字が表示されるかどうかは、combining_charsシェルオプションによって制御されます。これを行うには、ファイルcãoに入れてください~/.zshrc

setopt combining_chars

zsh非ログイン(vs -zsh)シェルのデフォルト動作であるあなたの動作を再現することはできません。

zsh -fログインしていない場合は、プロファイルのみをインポートzshし、/etc/zshenv他のプロファイルはインポートしません。たぶんあなたは/etc/zshenvそれを設定し、setopt combining_chars後で初期化シーケンスで何かをリセットすることができます。

関連情報