Powerline: Die Schalensegmente "Oben rechts" werden beim mehrzeiligen Setup nach links ausgerichtet

Erstellt am 29. Juli 2016  ·  7Kommentare  ·  Quelle: powerline/powerline

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:

selection_009

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
cshell sconfiguration error bug

Hilfreichster Kommentar

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"
}

Alle 7 Kommentare

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.)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

damienstanton picture damienstanton  ·  5Kommentare

sachevl picture sachevl  ·  3Kommentare

guyzmo picture guyzmo  ·  5Kommentare

pklebba picture pklebba  ·  5Kommentare

kataev picture kataev  ·  6Kommentare