I don't think term
does what you think it does: if you want to open an external xterm
window running visidata /tmp/foo.csv
, then you want to run the elisp expression:
(shell-command "xterm -e visidata /tmp/foo.csv &")
so your link should look like [[elisp:(shell-command "xterm -e visidata /tmp/foo.csv &")]]
.
EDIT: as the commenters indicate, the command needs to be run asynchronously, otherwise emacs waits for the command to finish and will not do anything else. That can be done, as the OP indicates in their comment, with start-process
, but it can also be done, perhaps more simply, with shell-command
, by adding an &
at the end of the command (see the edited code above), which is how you run a shell command in the background. C-h f shell-command
has all the details.
src_screen{echo "hello"}
orsrc_bash{<something>}
?emacs "src_screen"
returned three (irrelevant) results :)