Я запускаю Powerline с рыбой из tmux. Я попытался настроить многострочное приглашение оболочки и получил следующее поведение как для рыб, так и для zsh:
Я еще не пробовал воспроизвести на виртуальной машине, поэтому, если есть очевидная вещь, которую я делаю неправильно, укажите на это.
Если это поможет, вот результат env $POWERLINE_COMMAND shell right | xxd
:
00000000: 1b5b 306d .[0m
А вот подсказки с рыбками:
$ 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"
Минимальный 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
Минимальный .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
Оболочка: fish v2.3.1
, zsh 5.2
Python: 3.5.2
ОС: Manjaro (производная от 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
Вам не хватает наполнителя. Правые сегменты не выравниваются по правому краю по замыслу, они должны быть выровнены по сегментам-заполнителям. Примеры можно увидеть в конфигурации Vim.
Привет @ ZyX-I
Как сделать сегмент наполнитель? Есть ли какой-то конкретный сегмент, который ведет себя как наполнитель? И как сделать так, чтобы "прозрачный" смысл выглядел так, будто на нем ничего не было написано
@Javiergg Примеры сегментов-заполнителей находятся в темах Vim. Не существует «прозрачной» опции, вам нужно создать группу выделения с таким же фоном, что и остальная часть терминала, и использовать ее для заполнения.
Нашел их. Большое спасибо @ ZyX-I
Один вопрос, хотя нет «прозрачного» цвета, можно ли «обнаружить» цвет фона терминала или использовать его в качестве системной переменной?
@Javiergg Такого варианта нет. Вы можете попробовать использовать цвет 0, если я не ошибаюсь, это должно работать так, как вам нужно, пока вы не попробуете включить 24-битную окраску.
Просто на заметку для таких гуглеров, как я.
Пример сегмента наполнителя:
{
"type": "string",
"highlight_groups": ["background"],
"draw_soft_divider": false,
"draw_hard_divider": false,
"width": "auto"
}
Всем привет и спасибо за эту прекрасную идею с Powerline.
Можно ли увидеть специальный сегмент для языкового env? например, ruby и rvm, python и django и т. д., возможно, значок для ruby / python / perl / other -version и положение rvm для рельсов ...
Я думаю, у него должен быть способ сделать это, и, возможно, уже существует сегмент, чтобы показать это.
не могли бы вы остановить меня на этом, пожалуйста? (я не так уж далек от того, чтобы иметь лучшую оболочку zsh-powerline на моей ОС Archlinux, я очень счастлив)
Самый полезный комментарий
Просто на заметку для таких гуглеров, как я.
Пример сегмента наполнителя: