J'utilise Powerline avec des poissons de tmux. J'ai essayé de configurer une invite de shell multiligne et j'ai reçu le comportement suivant sur fish et zsh:
Je n'ai pas encore essayé de reproduire dans une VM, donc s'il y a une chose évidente que je fais mal, veuillez le signaler.
Si cela aide, voici la sortie de env $POWERLINE_COMMAND shell right | xxd
:
00000000: 1b5b 306d .[0m
Et voici les invites de poisson:
$ 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
Coquille: fish v2.3.1
, zsh 5.2
Python: 3.5.2
OS: Manjaro (dérivé d'Arch Linux)
$ 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
Il vous manque un segment de remplissage. Les segments droits ne sont pas alignés à droite par conception, ils sont censés être alignés par des segments de remplissage. Des exemples peuvent être vus dans la configuration de Vim.
Bonjour @ ZyX-I
Comment puis-je créer un segment de remplissage? Y a-t-il un segment spécifique qui se comporte comme un remplisseur? Et comment puis-je donner l'impression que le sens "transparent" donne l'impression qu'il n'y avait rien d'écrit dessus
@Javiergg Les exemples de segments de remplissage se trouvent dans les thèmes Vim. Il n'y a pas d'option «transparente», vous devez créer un groupe de surbrillance qui a le même arrière-plan que le reste du terminal et l'utiliser pour le remplissage.
Je les ai trouvés. Merci beaucoup @ ZyX-I
Une question, bien qu'il n'y ait pas de couleur "transparente", serait-il possible de "détecter" la couleur d'arrière-plan du terminal ou de l'utiliser comme variable système?
@Javiergg Une telle option n'existe pas. Vous pouvez essayer d'utiliser la couleur 0, si je ne me trompe pas, cela devrait fonctionner comme vous le souhaitez jusqu'à ce que vous essayiez d'activer la coloration 24 bits.
Juste un mot pour les googleurs comme moi.
Exemple de segment de remplissage:
{
"type": "string",
"highlight_groups": ["background"],
"draw_soft_divider": false,
"draw_hard_divider": false,
"width": "auto"
}
Bonjour à tous, et merci pour cette très belle idée CPL.
Est-il possible de voir un segment spécial pour le langage env? comme ruby et rvm, python et django, etc ... peut-être une icône pour ruby / python / perl / autre -version et la position rvm pour les rails ...
Je pense qu'il devrait y avoir un moyen de le faire, et peut-être qu'il existe déjà un segment pour le montrer.
pourriez-vous m'arrêter là-dessus s'il vous plaît? (je ne suis pas si loin d'avoir le meilleur shell zsh-powerline sur mon OS archlinux, je suis très content)
Commentaire le plus utile
Juste un mot pour les googleurs comme moi.
Exemple de segment de remplissage: