1

Допустим, я хочу открыть Chrome, Sublime Idea и т.д. Из командной строки, сохраняя контроль над терминалом.

Есть ли способ добавить & disown от команды в Bash, когда вы нажимаете Ctrl+Enter или другую удобную комбинацию?

Я пытался создать для них псевдоним, например, alias subl='subl & disown' , но передача аргументов больше не будет работать, и необходимость писать псевдонимы для всех программ, которые я хочу использовать таким образом, является слишком большой проблемой. Должен быть разумный путь.

2 ответа2

1

Я узнал, что \r использует тот же код ASCII, что и Ctrl+M, что означает, что Ctrl+Enter эквивалентно Ctrl+Ctrl+M. Двойное нажатие Ctrl не имеет никакого смысла, поэтому Ctrl и Enter не могут использоваться вместе в терминале без некоторого перевода xterm.

Мне удалось сделать трюк с помощью Ctrl+E , добавив "\C-E": ' & disown\n ' в .inputrc .

0

Из вашего комментария:

Я добавил "\C-e": ' & disown\n' в .inputrc и он делает то, что я хочу, по Ctrl+e. По некоторым причинам он не работает с \n вместо e .

Я не думаю, что \n - это правильная строка для использования, но есть более серьезная проблема: в консоли сам Enter является \C-M то есть Ctrl+M, поэтому Ctrl+Enter - это просто Enter, и вы не можете отличить их друг от друга.

Вы можете, однако, отличить Enter и Meta (иначе Alt)+Enter. Поместите эту строку в ваш .inputrc:

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

и нажмите Meta (он же Alt)+Enter, когда захотите его использовать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .