Ich betreibe Powerline mit Fischen von tmux. Ich habe versucht, eine mehrzeilige Shell-Eingabeaufforderung einzurichten, und habe sowohl bei fish als auch bei zsh das folgende Verhalten erhalten:
Ich habe noch nicht versucht, in einer VM zu reproduzieren. Wenn es also eine offensichtliche Sache gibt, die ich falsch mache, weisen Sie bitte darauf hin.
Wenn es hilft, ist hier die Ausgabe von env $POWERLINE_COMMAND shell right | xxd
:
00000000: 1b5b 306d .[0m
Und hier sind die Fischansagen:
$ type fish_prompt
fish_prompt is a function with definition
function fish_prompt
env $POWERLINE_COMMAND shell aboveleft --last-exit-code=$status --last-pipe-status=$status --jobnum=(jobs -p | wc -l) --renderer-arg=client_id=12917 --width=$_POWERLINE_COLUMNS --renderer-arg=mode=$fish_bind_mode --renderer-arg=default_mode=$_POWERLINE_DEFAULT_MODE
end
$ type fish_right_prompt
fish_right_prompt is a function with definition
function fish_right_prompt
env $POWERLINE_COMMAND shell right --last-exit-code=$status --last-pipe-status=$status --jobnum=(jobs -p | wc -l) --renderer-arg=client_id=12917 --width=$_POWERLINE_COLUMNS --renderer-arg=mode=$fish_bind_mode --renderer-arg=default_mode=$_POWERLINE_DEFAULT_MODE
echo -n " "
end
~/.config/powerline/themes/shell/default.json
:
{
"segments": {
"above": [
{
"left": [
{
"function": "powerline.segments.common.net.hostname",
"priority": 10
},
{
"function": "powerline.segments.common.env.user",
"priority": 30
},
{
"function": "powerline.segments.shell.cwd",
"priority": 10
},
{
"function": "powerline.segments.shell.jobnum",
"priority": 20
}
],
"right": [
{
"function": "powerline_gitstatus.gitstatus",
"priority": 40
},
{
"function": "powerline.segments.common.time.date",
"name": "time",
"args": {
"format": "%H:%M:%S",
"istime": true
}
},
{
"function": "powerline.segments.shell.last_pipe_status",
"priority": 10
},
{
"function": "powerline.segments.common.env.virtualenv",
"priority": 50
}
]
}
],
"left": [
{
"function": "powerline.segments.shell.mode"
},
{
"function": "powerline.segments.shell.last_pipe_status",
"priority": 10
},
{
"function": "powerline.segments.common.time.date",
"args": {
"format": "$"
}
}
],
"right": [
]
}
}
~/.tmux.conf
:
set -g default-terminal "screen-256color"
POWERLINE_CONFIG_PATHS="$HOME/.config/powerline"
run-shell "powerline-daemon -q"
source "/usr/lib/python3.5/site-packages/powerline/bindings/tmux/powerline.conf"
Minimal config.fish
:
set -gx POWERLINE_CONFIG_PATHS "$HOME/.config/powerline"
set fish_function_path $fish_function_path "/usr/lib/python3.5/site-packages/powerline/bindings/fish"
powerline-setup
source /usr/share/fish/functions/fzf.fish
Minimal .zshrc
:
HYPHEN_INSENSITIVE="true"
DISABLE_AUTO_UPDATE="true"
if [[ -r /usr/lib/python3.5/site-packages/powerline/bindings/zsh/powerline.zsh ]]; then
source /usr/lib/python3.5/site-packages/powerline/bindings/zsh/powerline.zsh
fi
Shell: fish v2.3.1
, zsh 5.2
Python: 3.5.2
Betriebssystem: Manjaro (Arch Linux-Derivat)
$ pip show powerline-status
---
Metadata-Version: 1.1
Name: powerline-status
Version: 2.4
Summary: The ultimate statusline/prompt utility.
Home-page: https://github.com/powerline/powerline
Author: Kim Silkebaekken
Author-email: [email protected]
License: MIT
Location: /usr/lib/python3.5/site-packages
Requires:
Classifiers:
Development Status :: 5 - Production/Stable
Environment :: Console
Environment :: Plugins
Intended Audience :: End Users/Desktop
License :: OSI Approved :: MIT License
Natural Language :: English
Operating System :: Microsoft :: Windows
Operating System :: POSIX
Programming Language :: Python :: 2.6
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3.2
Programming Language :: Python :: 3.3
Programming Language :: Python :: 3.4
Programming Language :: Python :: Implementation :: CPython
Programming Language :: Python :: Implementation :: PyPy
Ihnen fehlt das Füllersegment. Rechte Segmente werden nicht von Entwurf nach rechts ausgerichtet, sondern sollen durch Füllersegmente ausgerichtet werden. Beispiele finden Sie in der Vim-Konfiguration.
Hallo @ ZyX-I
Wie kann ich ein Füllersegment erstellen? Gibt es ein bestimmtes Segment, das sich wie ein Füllstoff verhält? Und wie kann ich es so aussehen lassen, als ob die "transparente" Bedeutung so aussieht, als wäre nichts darauf geschrieben
@Javiergg Die Beispiele für
Fand sie. Vielen Dank @ ZyX-I
Eine Frage: Obwohl es keine "transparente" Farbe gibt, wäre es möglich, die Hintergrundfarbe des Terminals zu "erkennen" oder als Systemvariable zu verwenden?
@ Javiergg Es gibt keine solche Option. Sie können versuchen, Farbe 0 zu verwenden. Wenn ich mich nicht irre, sollte dies so funktionieren, wie Sie es benötigen, bis Sie versuchen, die 24-Bit-Färbung zu aktivieren.
Nur eine Notiz für Googler wie mich.
Beispiel für ein Füllersegment:
{
"type": "string",
"highlight_groups": ["background"],
"draw_soft_divider": false,
"draw_hard_divider": false,
"width": "auto"
}
Hallo zusammen und danke für diese sehr schöne Powerline-Idee.
Ist es möglich, ein spezielles Segment für die Sprachumgebung zu sehen? wie Ruby und RVM, Python und Django, etc ... vielleicht ein Symbol für Ruby / Python / Perl / andere -Version und die RVM-Position für Schienen ...
Ich denke, es sollte einen Weg geben, das zu tun, und vielleicht gibt es bereits ein Segment, um dies zu zeigen.
Könnten Sie mich bitte darauf hinweisen? (Ich bin noch nicht so weit, die beste zsh-powerline-Shell auf meinem Archlinux-Betriebssystem zu haben. Ich bin sehr glücklich.)
Hilfreichster Kommentar
Nur eine Notiz für Googler wie mich.
Beispiel für ein Füllersegment: