Вы могли использовать run-shell
опция, но критическая вещь состоит в том, чтобы разделить команды с \;
В этом случае, что-то как:
bind R source-file ~/.tmux.conf \; run-shell "echo 'Reload'"
команда оболочки оболочки выполнения
(псевдоним: выполненный)
Выполните команду оболочки в фоновом режиме, не создавая окно. После того, как это закончится, любой вывод к stdout отображен в режиме копии. Если команда не возвращает успех, статус выхода также отображен.
Это должно работать: действительно ли Вы уверены Ваш .bash_aliases
читается? (Это не стандартный файл, но это могло бы быть получено Вашим ~/.bashrc
. Если Вы смущены .bashrc
и .bash_profile
, посмотрите Различие между .bashrc и .bash_profile.)
В Вашей функции существует ошибка: это должно быть
editorz () {
gedit "$@" & disown
}
Ваша версия не работает над именами файлов, содержащими пробелы, или окружает подстановочные знаки. function
ключевое слово является дополнительным.
Можно вызвать функцию gedit
(и обойдитесь без псевдонима в целом), но затем необходимо сказать оболочке, что вызов в функции к команде а не к функции:
gedit () {
command gedit "$@" & disown
}
Обратите внимание, что при случайном запуске gedit на переднем плане (т.е. блокировка терминала) можно поместить его в фоновом режиме путем нажатия Ctrl+Z в терминале и ввода команды bg
.
Удостоверьтесь, что function editorz()
определяется перед псевдонимом.
Я попробовал Ваш подход, и он работал без проблемы.
Открытие gedit
от папки Utilities (вместо терминала) решает проблему для меня
Просто добавьте следующие псевдоним:
alias gedit='gedit -b'
Опция - B
означает прогон на заднем плане