Czy można powiązać klawisz Command z Mac OS X w Zsh? Nie mogę znaleźć żadnych informacji na ten temat.
zsh
key-binding
kierzniak
źródło
źródło
zsh
zawsze jest uruchomiony jako pierwszy, więc mapowanie jest tam (tylko sprawdzone: Miałemnano
wewnątrzsh
wewnątrz moichzsh
i klawiszy działa bez zarzutu).Tak, ale nie jest to tak proste, jak można się spodziewać.
Po pierwsze, Mac OS nie przekazuje sekwencji kontrolnej do aplikacji po naciśnięciu kombinacji klawiszy poleceń. Zamiast tego aplikacje oferują funkcje dla systemu operacyjnego, które można uruchamiać za pośrednictwem Apple Events. Wiązanie kluczowych kombinacji z konkretnym zdarzeniem Apple występuje na poziomie systemu operacyjnego.
Najlepsze rozwiązanie, jakie mogę wymyślić, byłoby zgodne z następującymi wytycznymi:
Napisz kod AppleScript, który robi wszystko, co chcesz; użyj
do shell script
polecenia, aby wykonać polecenia powłoki - lub napisz skrypt powłoki, jeśli jest to preferowane. Tak czy inaczej, to podejście otworzy nowe okno terminala dla każdego uruchomienia polecenia.Alternatywnie, wymyśl sekwencję naciśnięć klawiszy, która wygeneruje pożądane zachowanie (np. Powinieneś być w stanie wpisać „top”, aby uruchomić top w bieżącym oknie powłoki).
Użyj Automatora, aby utworzyć usługę, która uruchamia AppleScript (lub skrypt powłoki lub cokolwiek innego) lub wpisuje naciśnięcia klawiszy. Przypisz tę usługę do terminalu i przypisz skrót klawiaturowy. Ten przewodnik przeprowadzi Cię przez ten proces: http://www.makeuseof.com/tag/how-to-create-your-own-services-menus-mac/
Podejście 1 jest niedoskonałe, ponieważ nie można go uruchomić w bieżącej sesji powłoki okna. Podejście 2 jest niedoskonałe, ponieważ daje niepożądane wyniki, gdy aktywna sesja powłoki działa w trybie innym niż zsh.
źródło