Powerline: Segmen shell "Di atas kanan" sejajar ke kiri pada pengaturan multiline

Dibuat pada 29 Jul 2016  ·  7Komentar  ·  Sumber: powerline/powerline

Saya menjalankan Powerline dengan ikan dari tmux. Saya mencoba menyiapkan prompt shell multiline dan menerima perilaku berikut pada ikan dan zsh:

selection_009

Saya belum mencoba mereproduksi di VM, jadi jika ada kesalahan yang jelas saya lakukan, tunjukkan.

Jika membantu, inilah output dari env $POWERLINE_COMMAND shell right | xxd :

00000000: 1b5b 306d                                .[0m

Dan inilah petunjuk ikannya:

$ 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

Kerang: fish v2.3.1 , zsh 5.2
Python: 3.5.2
OS: Manjaro (turunan 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
cshell sconfiguration error bug

Komentar yang paling membantu

Sekadar catatan untuk karyawan Google seperti saya.
Contoh segmen pengisi:

{
    "type": "string",
    "highlight_groups": ["background"],
    "draw_soft_divider": false,
    "draw_hard_divider": false,
    "width": "auto"
}

Semua 7 komentar

Anda kehilangan segmen pengisi. Segmen kanan tidak sejajar dengan kanan menurut desain, mereka seharusnya disejajarkan dengan segmen pengisi. Contohnya dapat dilihat di konfigurasi Vim.

Halo @ ZyX-I
Bagaimana cara membuat segmen pengisi? Apakah ada segmen tertentu yang berfungsi sebagai pengisi? Dan bagaimana saya bisa membuatnya terlihat seperti arti "transparan" seperti tidak ada yang tertulis di dalamnya

@Javiergg Contoh segmen pengisi ada di tema Vim. Tidak ada opsi "transparan", Anda perlu membuat grup sorotan yang memiliki latar belakang yang sama dengan bagian terminal lainnya dan menggunakannya untuk pengisi.

Ketemu. Terima kasih banyak @ ZyX-I
Satu pertanyaan, meskipun tidak ada warna "transparan", apakah mungkin untuk "mendeteksi" warna latar belakang terminal atau menggunakannya sebagai variabel sistem?

@Javiergg Tidak ada pilihan seperti itu. Anda dapat mencoba menggunakan warna 0, jika saya tidak salah ini akan berfungsi seperti yang Anda butuhkan sampai Anda mencoba mengaktifkan pewarnaan 24-bit.

Sekadar catatan untuk karyawan Google seperti saya.
Contoh segmen pengisi:

{
    "type": "string",
    "highlight_groups": ["background"],
    "draw_soft_divider": false,
    "draw_hard_divider": false,
    "width": "auto"
}

Halo semuanya, dan terima kasih atas ide saluran listrik yang sangat bagus ini.
Apakah mungkin melihat segmen khusus untuk bahasa env? seperti ruby ​​dan rvm, python dan django, dll ... mungkin ikon untuk ruby ​​/ python / perl / other -version dan posisi rvm untuk rel ...
Saya pikir itu harus memiliki cara untuk melakukan itu, dan mungkin sudah ada segmen yang ada untuk menunjukkan ini.
bisakah Anda menghentikan saya dalam hal itu? (sejauh ini saya belum memiliki shell zsh-powerline terbaik di OS archlinux saya, saya sangat senang)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat