In ESS mode, I sometimes send some code to the process buffer and want to cancel it using
C-c C-c. Can I do this without actually switching to the process window from the script window?
You'll need to write your own function for doing this.
You'll want to read up on the functions
signal-process to learn about how to send the right signal to the ESS process.
Here is an example: An interactive function that sends a SIGINT to a buffer of your choosing.
You can modify this function to target whatever ESS buffer you want or keep it as is.
(defun interrupt-buffer-process (buffer) "Send a SIGINT to BUFFERs process." (interactive (list (completing-read "Buffer: " (mapcar 'buffer-name (remove-if-not 'get-buffer-process (buffer-list)))))) (signal-process (get-buffer-process buffer) 'sigint))