Перейти до змісту

Часті запитання

Ця сторінка допоможе вам вирішити поширені проблеми, що можуть виникнути при використанні Spaceship.

Якщо ви зовсім застрягли, пошукайте допомоги на нашому сервері Discord або форумі GitHub Discussions:

Discord Discussions

Чому мій командний рядок виглядає не так, як на превʼю?

Командний рядок spaceship у превʼю показано в наступному середовищі:

Дивіться скріншоти у wiki з прикладами інших кольорових схем.

Як мені отримати таке ж автозаповнення у демо GIF?

Використовуйте zsh-autosuggestions щоб отримати автозаповнення команд як в браузері, на основі вашої історії.

Що це за дивний символ перед гілкою git?

Для правильного показу символу гілки git у вас має бути встановлено пропатчений Powerline шрифт.

Що за дивний символ перед секцією?

Ця проблема не стосується безпосередньо командного рядку Spaceship. Spaceship використовує сиволи Unicode для відображення SPACESHIP_*_SYMBOL в секціях. Для вирішення проблеми:

  • Переконайтесь, що ваш емулятор терміналу підтримує символи Unicode, за допомогою команди:
    curl -L https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
    # або
    wget -O - https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
    
  • Сконфігуруйте ваш емулятор терміналу на використання кодування символів UTF-8.
  • LC_ALL мусить мати значення UTF-8, наприклад en_US.UTF-8 або de_DE.UTF-8 тощо.
  • Вам необхідно встановити шрифт для emoji. Більшість систем вже мають такий шрифт, але не всі (наприклад, Arch Linux). Якщо у вашій системі бракує такого шрифту, встановіть його за допомогою менеджера пакетів. noto emoji – поширений вибір. -

У разі, якщо символи Unicode не підтримуються, ви можете замінити їх на ті, які сумісні з вашим терміналом, за допомогою SPACEIP_*_SYMBOL опцій. Дивіться сторінку Опції.

Чи spaceship remove <section> та SPACESHIP_<SECTION>_SHOW=false роблять одне й те саме?

Обидві команди, spaceship remove та SPACESHIP_<SECTION>_SHOW=false, прибирають секцію командного рядка, але роблять це по-різному.

Команда spaceship remove прибирає секцію зі змінної SPACESHIP_[R]PROMPT_ORDER, запобігаючи завантаженню та запуску секції.

Команда SPACESHIP_<SECTION>_SHOW=false не перешкоджає завантаженню та запуску секції. Секцію буде завантажено та запущено, однак сама секція вирішуватиме як її сховати (зазвичай секція пропускає всі перевірки й нічого не відображає).

tldr: spaceship remove змушує Spaceship пропустити секцію, а SPACESHIP_<SECTION>_SHOW=false каже секції сховати себе самостійно.

В чому різниця між Spaceship та Starship?

Starship це чудовий командний рядок, рівний (більш-менш) у можливостях зі Spaceship. Так у чому ж різниця?

Starship написаний на Rust і є нащадком Spacefish – імплементації Spaceship для Fish. Автори надихалися Spaceship (вони підтверджують це на своєму вебсайті). Він також базується на ідеях Дениса Довганя про кросс-оболонкові командні рядки, прототип реалізації яких наведено в denysdovhan/robbyrussell-node.

Перевага Starship в тому, що він підтримує більшість існуючих оболонок. Spaceship, з іншого боку, працює лише з Zsh, але використовує його можливості на максимум.

Starship виконує перевірки асинхронно, відображаючи командний рядок як тільки він буде готовий. Spaceship також виконує перевірки асинхронно, але відображає командний рядок одразу та оновлює його, коли нова інформація надходить від асинхронних задач.

Spaceship вважає користувацькі секції обʼєктами першого класу та має Реєстр користувацьких секцій, а Starship пропонує використовувати команди для створення користувацьких модулів.

Якщо ви використовуєте різні компʼютери з різними оболонками, Starship може стати кращим вибором. Spaceship більше підійде, якщо у вас одна конфігурація Zsh на всіх машинах.

В чому різниця між Spaceship та Powerlevel10k (з Lean стилем)?

Powerlevel10k (з Lean стилем) – ще один командний рядок для Zsh, що дуже нагадує Spaceship.

Обидва командні рядки асинхронні та відображаються одразу. Powerlevel10k використовує монолітний підхід та має безліч можливостей у єдиному командному рядку. Spaceship, з іншого боку, більш модульний, дозволяє створювати користувацькі секції та надає чмсленні варіанти налаштувань.

Powerlevel10k дозволяє мати декілька пресетів дизайну. Spaceship підтримує лише один.

Іконки деяких секцій перекриваються?

приклад перекриття значків

Ця проблема повʼязана з особливостями відображення символів Unicode 9 вашим емулятором терміналу. Для її вирішення:

  • Переконайтеся, що термінал використовує налаштування Unicode Version 9 Widths.
  • Дозвольте терміналу показувати символи з неоднозначною шириною як символи подвійної ширини.

У iTerm дотримуйтеся цих інструкцій:

  • Перейдіть в iTerm → Preferences… (⌘,) → Profiles → Text
  • Перевірте налаштування Unicode Version 9 Widths.
  • Перевірте налаштування Threat ambiguous-width characters as double-width.
  • Перезавантажте вкладку терміналу.

Все ще не вирішили проблему?

Якщо нічого з вищенаведеного не допомогло, будь ласка, поставте питання на нашому Discord сервері або створіть тему на Github, опишіть вашу проблему, і ми з радістю допоможемо.

Discord Discussions Віктрити питання