こんにちは、
最近、新しいラップトップArchLinuxインストールにpowerlineをインストールし、何らかの理由でデフォルトのシェルテーマを使用して、ターミナルの右側にgitブランチが表示されなくなりました。 画面には表示するスペースがかなりありますが、表示されません。 "priority": None
で試してみましたが、常に表示されるはずですが、それも機能しませんでした。
電力線バージョン:2.5.1
OS :Archlinux
インストール者:Distroのパッケージマネージャー、Pacman
デフォルトのシェルテーマの名前をlef.json
変更し、いくつかの変更を加えて、それらのファイルが確実に認識、解析、使用されるように、変更が反映されるようにしました。
config.json
{
"common": {
"term_truecolor": false
},
"ext": {
"ipython": {
"colorscheme": "default",
"theme": "in",
"local_themes": {
"rewrite": "rewrite",
"out": "out",
"in2": "in2"
}
},
"pdb": {
"colorscheme": "default",
"theme": "default"
},
"shell": {
"colorscheme": "default",
"theme": "lef",
"local_themes": {
"continuation": "continuation",
"select": "select"
}
},
"tmux": {
"colorscheme": "default",
"theme": "default"
},
"vim": {
"colorscheme": "default",
"theme": "default",
"local_themes": {
"__tabline__": "tabline",
"cmdwin": "cmdwin",
"help": "help",
"quickfix": "quickfix",
"powerline.matchers.vim.plugin.nerdtree.nerdtree": "plugin_nerdtree",
"powerline.matchers.vim.plugin.commandt.commandt": "plugin_commandt",
"powerline.matchers.vim.plugin.gundo.gundo": "plugin_gundo",
"powerline.matchers.vim.plugin.gundo.gundo_preview": "plugin_gundo-preview"
}
},
"wm": {
"colorscheme": "default",
"theme": "default"
}
}
}
lef.jsonテーマ(基本的にシェルのdefault.jsonのコピーペースト)
{
"segments": {
"left": [
{
"function": "powerline.segments.shell.mode"
},
{
"function": "powerline.segments.common.net.hostname",
"priority": 10
},
{
"function": "powerline.segments.common.env.user",
"priority": 30
},
{
"function": "powerline.segments.common.env.virtualenv",
"priority": 50
},
{
"function": "powerline.segments.shell.cwd",
"priority": 10
},
{
"function": "powerline.segments.shell.jobnum",
"priority": 20
}
],
"right": [
{
"function": "powerline.segments.shell.last_pipe_status",
"priority": 10
},
{
"function": "powerline.segments.common.vcs.stash",
"priority": 50
},
{
"function": "powerline.segments.common.vcs.branch",
"priority": 40
}
]
}
}
この問題に対処する方法についてのアイデアは大歓迎です。
git status
は何を出力しますか? インタラクティブなPythonセッションでpowerline.lib.vcs.guess
手動で実行してみてください。
@ s-ol git status
とgit branch
は期待どおりに機能します。 私はgitリポジトリにいます。
ただし、 powerline.lib.vcs.guess
は、インタラクティブなPythonセッションからは機能しません。 または、少なくとも、空のオブジェクトを返すため、機能しないと思います。 電力線の内部についてはよくわかりませんので、ここに貼り付けてください。
Python2:
Python 2.7.12 (default, Jun 28 2016, 08:31:05)
[GCC 6.1.1 20160602] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import powerline.lib.vcs as vcs
>>> vcs.guess(".", False)
<powerline.lib.vcs.git.Repository object at 0x7f495258aeb0>
>>> a = vcs.guess(".", False)
>>> a.__dict__
{}
Python3:
Python 3.5.2 (default, Jun 28 2016, 08:46:01)
[GCC 6.1.1 20160602] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import powerline.lib.vcs as vcs
>>> vcs.guess(".", False)
<powerline.lib.vcs.git.Repository object at 0x7f93f665ce58>
>>> a = vcs.guess(".", False)
>>> a.__dict__
{}
@LefterisJPなぜあなたはそれが空だと思いますか? __dict__
は、オブジェクト属性を含めることができる唯一の場所ではありません。 実際、そこには属性がないはずです。問題のクラスは__slots__
ます。
この関数は「空の」オブジェクトを返すことができませんでした。使用可能なリポジトリまたはNoneを返します。
構成を変更した後にデーモンをリロードしたかどうか疑問に思います(zsh + zpythonを使用している場合は、zshを再起動するか、 powerline-reload-config
使用します)。
@ ZyX-なるほど。 Pythonの__slots__
について知りません
そう:
>>> a.__slots__
('directory', 'create_watcher')
デーモンを実行していません。 私はただ持っています:
source /usr/lib/python2.7/site-packages/powerline/bindings/zsh/powerline.zsh
私の.zshrc
。
このように、それは私の他のコンピュータで長い間うまく機能していました。 デーモンを使ったことがあるとは思いません。
@LefterisJPこれは
@LefterisJP ahhh ... bashが右側のプロンプトをサポートしていないと言っている他のドキュメントを見つけました。 これが、デフォルトのシェルテーマが機能しなかった理由を説明しています。 先に進み、default_leftonlyテーマを使用します。
bashまたは別のシェルを使用していますか。 前者の場合、おそらくそれがあなたにとっても機能しない理由です。
私はbashではなくzshを使用しています。 この問題をさらに調べる時間はありませんでしたが、まだそこにあります。 default_leftonly.json
を使用してお気づきのように、ブランチは左側に表示されますが、通常のデフォルトでは表示されません。
mac os sierraで同じ問題、+ 1
Archにpowerlineをインストールしたところ、デフォルトのテーマにgitブランチが表示されないことを確認できます。 default_leftonly
テーマに切り替えると、問題が修正されます。
zshと同じ問題。
ハングしているすべてのpowerline-daemon
プロセスを強制終了することで解決しました。
default_leftonly
に変更することも私にとって必要でした。それ以外の場合はカスタマイズの必要性や関心がなく、ドキュメントはほとんどそれを対象としているため、テーマを変更するための構成ファイルを作成するだけでした。 https://github.com/powerline/powerline/issues/186#issuecomment -247810572および設定を適用した後のpowerline-daemon -q --replace
(バックグラウンドで生成するには、ここで-q
注意してください!)。
vimのテーマをdefault_leftonly
、まだ何もありません...
また、正しい構成を見つけるのにかなり苦労しました。 それが正しくなった後、私は電力線のセットアップを通してガイドするこの記事を書きました。 お役に立てば幸いです。
最も参考になるコメント
@LefterisJP ahhh ... bashが右側のプロンプトをサポートしていないと言っている他のドキュメントを見つけました。 これが、デフォルトのシェルテーマが機能しなかった理由を説明しています。 先に進み、default_leftonlyテーマを使用します。
bashまたは別のシェルを使用していますか。 前者の場合、おそらくそれがあなたにとっても機能しない理由です。