Rozpocznij proces w tle na klawiaturze (dołącz `i disown` na Ctrl + Enter)

1

Powiedzmy, że chcę otworzyć Chrome, Sublime Idea itp. Z linii poleceń, zachowując kontrolę nad terminalem.

Czy istnieje sposób na dołączenie & disown do polecenia w Bashu po naciśnięciu Ctrl + Wchodzić lub inne wygodne połączenie?

Próbowałem utworzyć dla nich alias, np. alias subl='subl & disown', ale przekazywanie argumentów nie będzie już działać i konieczność pisania aliasów dla wszystkich programów, które chcę używać w ten sposób, jest zbyt wielkim problemem. Musi być mądrzejszy sposób.

Dani
źródło
1
Spójrz na funkcje powłoki.
Scott
Dodałem `` C-e ": '& amp; disown n '`in .inputrc i robi to, co chcę na ctrl + e. Z jakiegoś powodu nie działa z n zamiast e
Dani

Odpowiedzi:

0

Z Twojego komentarza:

dodałem "\C-e": ' & disown\n' w .inputrc i robi to, co chcę Ctrl + mi . Z jakiegoś powodu nie działa \n zamiast e.

Nie sądzę \n jest właściwym ciągiem znaków, ale jest większy problem: w konsoli Wchodzić sam jest \C-M to znaczy Ctrl + M , więc Ctrl + Wchodzić jest tylko Wchodzić i nie możesz ich odróżnić.

Możesz jednak rozdzielić Wchodzić i Meta (alias Alt) + Wchodzić . Umieść tę linię w swoim .inputrc:

"\C-\M-M":' & disown\n'

i uderz Meta (alias Alt) + Wchodzić kiedy chcesz z niego korzystać.

Kamil Maciorowski
źródło
Próbowałem też z shift + enter "C-J": '& amp; disown n ', ale n na końcu wpadłem w pętlę. Zastąpiłem n poleceniem r i teraz działa dobrze. Dzięki za odpowiedź, znajdę coś użytecznego, aby zmapować go również do klucza alt. Twoje zdrowie
Dani
1

Nauczyłem się tego r dzieli ten sam kod ASCII co Ctrl + M , co znaczy Ctrl + Wchodzić jest równa Ctrl + Ctrl + M . Groźny Ctrl dwa razy nie ma sensu, więc Ctrl i Wchodzić nie można używać razem w terminalu bez użycia xterm tłumaczenie .

Udało mi się to załatwić Ctrl + mi poprzez dodanie "\C-E": ' & disown\n ' w .inputrc.

Dani
źródło