LINUX.ORG.RU

Допиливание zsh до уровня fish

 , , ,


4

3

Когда fish в очередной раз сбросила конфиг fishd.hostname до дефолта, моё терпение лопнуло, и я установил zsh. Уже слыхал о нём, но не было желания ставить, ведь мне хватало fish, которую я довёл почти до совершенства.
Немного поискав в сети, я нашёл плагины, делающие zsh более похожей на fish: поиск по истории и подсветка синтаксиса работали отлчино, но у меня возникли несколько вопросов, ведь до функционала fish ещё далеко: во-первых, плагин подсветки истории никак не хотел менять цвет той самой подсветки, пробовал сатавить занчение и кодом в ковычках «#131313», и кодом без ковычек, и названием с ковычками «black», и ,соответственно, без них, но всё равно цвет оставался таким же, как и сама команда, что сбивало с толку и выглядело некрасиво .Как можно поменять цвет? Может есть другой плагин?
Во-вторых, при переходе по каталогам автодополнение не работает с буквами разных регистров, допустим я в fish набираю д, нажимаю tab, и строка превращается из д в Документы, а в zsh я должен набирать заглавную 'Д'Надеюсь, это есть какой-нибудь скрипт.
В-третьих, когда я удалял пакет yaourto'м в fish, то автодополнение работало, например, yaourt -Rsc numix превращалось в yaourt -Rsc numix-circle-icon-theme-git (это для примера, я точно не помню название).В zsh такого нет, он просто начинает перебирать содеожимое текущей папки. Можно ли zsh научить распозновать, что мне нужно искать среди пакетов?
В-четвёртых, можно-ли как-нибудь отучить fish презаписывать конфиг fishd.hostname ,может скрипт написать можно, чтобы автоматически заменял конфиг обратно?

★★★★★

Для yaourt у zsh нет автокомплита, ты можешь его написать сам.

Цвета в терминале используются свои, из escape-последовательностей. На эту тему можешь загуглить, нет смысла постить здесь все 224 цвета.

По сути большинство плагинов в zsh написаны на нём же, а он почти полностью совместим с bash.

r3lgar ★★★★★
()

Подписался на тему. Как пользователь zsh со стажем скажу, что проще сделать скрипт замены конфига на его бэкап, например, по крону. Но возможности ты описал интересные, если кто подскажет, утащу в свой .zshrc

feofan ★★★★★
()

когда пользовался фишем, что с && и подобным непривычным для баша/зиша делал? алиасы хитрые какие или привыкал?

neovim
()
Ответ на: комментарий от Deleted

Неправда.

Я о искоробочной комплектации говорю. Совсем недавно разбирал его код и собирал его для своего микродистра, и был сильно раздражён нагруженностью комплишна и его бесполезностью.

r3lgar ★★★★★
()
Ответ на: комментарий от neovim

fish (f — friendly, насколько я помню) — friendly только до тех пор, пока не попытаешься сделать его friendly для себя. Как инструмент он крайне неудобен в настройке. А подстраиваться под инструмент — не выход.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Удваиваю этого. В фише фишки конечно прикольные, но пользоваться им тяжело, слишком выбивается из остальных шеллов, а настраиваться толком не дает.

entefeed ☆☆☆
()
Ответ на: комментарий от entefeed

Это ещё цветочки. Я выкинул fish в тот же момент, как осознал, что не смогу в нём сделать source file, что необходимо для того же virutalenv. И из vim его дергать не получается. Эх, был бы он POSIX-compliant, цены бы ему не было.

mix_mix ★★★★★
()
Ответ на: комментарий от Deleted

Оффтоп: а для баша есть автокомплит полноценный для pacman и yaourt?

dvrts ★★★
()

в fish набираю д, нажимаю tab, и строка превращается из д в Документы

Не знаю, какой для этого используется плагин, но в oh-my-zsh это есть.

Ceiling_QB ★★★★
()

В zsh точно есть регистронезависимое автодополнение. Доберусь до конфига — гляну.

HerrWeigel ★★★★
()

Глянул свой .zshrc, нашел такую строчку, которая, судя по всему связана с регистронезависимым дополнением:

zstyle ':completion:*' matcher-list 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} r:|[._-]=** r:|=**'

Она автоматически сгенерена с помощью compinstall. Запусти compinstall, там кучу всего настроить можно, в том числе регистронезависимое дополнение.

HerrWeigel ★★★★
()
Ответ на: комментарий от HerrWeigel

По русским именам регистронезависимо не дополненяет, как в примере ОПа. Добавление а-я / А-Я тоже не помогает.

salsa
()
Ответ на: комментарий от HerrWeigel

У вас это коррекция отрабатывает. Например, ЗАГРУ до Загрузки уже не дополнится, а DOWNL до Downloads должно.

salsa
()
Ответ на: комментарий от HerrWeigel

В compinstall всё непонятно, так и не нашёл где настроить автодополнение но-нормальному. Добавление zstyle ':completion:*' matcher-list 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} r:|[._-]=** r:|=**' тоже не помогло, мне уже больше хочется написать скрипт для fish, чем возиться с этим zsh.
В fish настройка намного понятнее и удобнее, есть oh-my-fish. Так что, думаю, zsh всё-таки удалить.

sudopacman ★★★★★
() автор топика
Ответ на: комментарий от salsa

Только что сделал source вашего конфига, у меня не дополняет.

Кстати да, извиняюсь. Писал по памяти.

ЗАГ до Загрузки дополняет, а ЗАГР уже нет.

ЕМНИП надо max-errors поменять

Возможно, сейчас гляну. Но это костыль, на нем потом можно кучу ложных срабатываний получить.

HerrWeigel ★★★★
()
Последнее исправление: HerrWeigel (всего исправлений: 1)
Ответ на: комментарий от sudopacman

В compinstall всё непонятно, так и не нашёл где настроить автодополнение но-нормальному

compinstall
Несколько раз Enter
2<Enter>
C<Enter> # после этого нужно будет ввести цифру от 1 до 4, почитай, что она значит (сверху будет написано), мне лень разбираться
HerrWeigel ★★★★
()

Странно, но автодополнение для яорта зараотало. Может из-за того, что я установил zsh-completions.

sudopacman ★★★★★
() автор топика
Ответ на: комментарий от sudopacman

Но у меня-то глобально стоит тема, она не только для ff. Да и со Stylish поколдовать придётся. А ещё надо в настройках страшнолиса немного поколдовать, ибо страшности с Ш творятся.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Вы темой ошиблись, товарищ. Не сработало изменение цвета текста для подсказок истории zsh, хотя та тема gtk тоже не особо сработала. Stylish не пробовал.

sudopacman ★★★★★
() автор топика
Ответ на: комментарий от sudopacman

Вы темой ошиблись, товарищ.

С тобой запутаешься. В какой тред не загляни — везде ты с какими-то странными проблемами.

Нет, это тоже не сработало

Что у тебя вместо терминала, если оно не работает?

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

С тобой запутаешься. В какой тред не загляни — везде ты с какими-то странными проблемами.

50 скоа сами себя не набьют.

Что у тебя вместо терминала, если оно не работает?

Я и не старался чтобы заработало, поменял gtkrc, забыл, что поменял и полез в lxappearance ,увидел , что внезапно изменился шрифт, и выставил всё обратно. Да и зачем оно мне? Есть же замечательная Flat Studio Dark.

sudopacman ★★★★★
() автор топика
Ответ на: комментарий от sudopacman

Я тебе про zsh, а ты про gtkrc. Ладно, пофиг:

внезапно изменился шрифт

Ах да, Open Sans же нужен же, ну!

Кстати...

Не сработало изменение цвета текста для подсказок истории zsh

DeadEye, ты там где-то в каком-то плагине для zsh цвета менял? Не оно?

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

не оно

Нет, это была подсветка синтаксиса для zsh.

DeadEye ★★★★★
()
Ответ на: комментарий от sudopacman

Я и не старался чтобы заработало, поменял gtkrc, забыл, что поменял и полез в lxappearance ,увидел , что внезапно изменился шрифт, и выставил всё обратно. Да и зачем оно мне? Есть же замечательная Flat Studio Dark.

Вопрос про терминал, а ты про GTK.

DeadEye ★★★★★
()
Ответ на: комментарий от DeadEye

Вопрос про терминал, а ты про GTK.

Фигня в том, что это я первый попутал треды и запостил сюда не то, сбив ТСа с толку.

r3lgar ★★★★★
()
Ответ на: комментарий от anonymous

Я здесь причём? У меня проблем с проблемами нет.

r3lgar ★★★★★
()

подсветка синтаксиса, кстати, в раче в оффрепах (и вполне себе работает). Также для дополнений лучше поставить дополнительный пакет (тоже из community).

// fish не использовал, там слишком наркоманский синтаксис по сравнению со стандартными шеллами.

arcanis ★★★★
()

Тред не читал, тс, поставь oh-my-zsh.

anonymous
()
Ответ на: комментарий от arcanis

Да, я уже поставил подсветку и дополнения из репы, а вот подсветка истории нормально не робит. И автодополнение с разным регистром тоже. Максимум , удавалос ьсделать, что по табу искал все директории с этой буквой в имени типа ls | grep <то , что я ввёл> .

sudopacman ★★★★★
() автор топика
Ответ на: комментарий от arcanis

А извиняюсь, цвет не менялся в другом плагине, а это по-моему просто пролистывание истории стрелками с поиском по тому, что ты уже ввёл , например: kill + cтрелка вверх >> killall compton && compton --config .config/awesome/compton -b

sudopacman ★★★★★
() автор топика
Ответ на: комментарий от sudopacman

Такая функциональность в zsh из коробки идет. Плагин нужен для «any place» (в твоем примере, чтобы искать, например, по слову config). Но подсветка фразы, по которой ведется поиск - как раз похоже на то, что ты ищешь.

arcanis ★★★★
()
Последнее исправление: arcanis (всего исправлений: 1)
Ответ на: комментарий от arcanis

Тут идёт поиск по kill, типа «history | grep kill», а мне нужно чтобы самая похожая на вводимую команду в прямом эфире отображалась прямо в той строке, в которую я ввожу, но другим цветом.

sudopacman ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.