Как да активирам!! в риба?

Често използвах $ sudo !!, докато използвах bash. След като преминах към риба, забелязах, че това вече не работи. Поради търсачките, които не поддържат търсене на специални знаци, това беше особено трудно да разбера сам. Предполагам, че просто трябва да добавя/променя един ред в конфигурацията, но не знам какво би било това.


person pmknkaek    schedule 29.08.2019    source източник
comment
Опитайте да търсите в Google за разширяване на историята на рибите.   -  person Benjamin W.    schedule 30.08.2019
comment
StackOverflow е посветен на подпомагането при решаването на проблеми с програмния код. Вашето Q изглежда по-подходящо за superuser.com, но прочетете техния раздел за помощ относно въпроси по темата. И моля, прочетете Помощ по тема и Помощ Как да попитате, преди да публикувате повече въпроси тук. Късмет.   -  person shellter    schedule 30.08.2019


Отговори (4)


Черупката на рибата умишлено пропуска заместването на историята.

person chepner    schedule 29.08.2019
comment
Това е добре да знаете. Въпреки това все още се нуждая от заобиколно решение, тъй като моята клавиатура няма начален клавиш, което по същество напълно отрича всички удобства, които техният алтернативен метод е предназначен да добави. - person pmknkaek; 30.08.2019
comment
Можете да натиснете Ctrl-A, за да преместите курсора в началото на реда, ако това е, за което наистина питате. - person chepner; 30.08.2019

Има някои начини за прилагане на това с помощта на шел хакове, изброени на https://github.com/fish-shell/fish-shell/wiki/Bash-Style-Command-Substitution-and-Chaining-(!!-!%24-&&-%7C%7C)

Например:

function bind_bang
  switch (commandline -t)
  case "!"
    commandline -t $history[1]; commandline -f repaint
  case "*"
    commandline -i !
  end
end

function bind_dollar
  switch (commandline -t)
  case "!"
    commandline -t ""
    commandline -f history-token-search-backward
  case "*"
    commandline -i '$'
  end
end

function fish_user_key_bindings
  bind ! bind_bang
  bind '$' bind_dollar
end

funcsave bind_bang bind_dollar fish_user_key_bindings
person Zanchey    schedule 31.08.2019

Най-лесният начин е да инсталирате мениджъра на пакети Fisher; и след това инсталирайте пакета !!, напр.:

$ fisher install oh-my-fish/plugin-bang-bang

p.s.

Не само получавате обратно използването на !! (последната използвана команда), но също и !$ (последните аргументи на командата.)

Можете също да използвате приставката чрез по-старата инсталационна програма omf.

Защо да преоткривате колелото, когато имате лесен за използване пакетен мениджър като Fisher.

person Nietzsche    schedule 18.09.2019

Стар въпрос, но съм изненадан, че не се споменава пре-pend sudo keybinding на рибената черупка.

С клавишни връзки по подразбиране sudo !! може да се изпълни с за повторение на предишната команда, последвано от Alt+s за добавяне на sudo към нея.

Редактиране: С току-що пуснатата риба 3.2 една от любимите ми нови функции е, че стрелката нагоре дори вече не е необходима. Просто Alt+s без друг въведен текст в подканата ще доведе до автоматично попълване на подканата с sudo + последната въведена команда.

person NotTheDr01ds    schedule 12.12.2020