# HG changeset patch # User Oleksandr Gavenko # Date 1669575989 -7200 # Node ID b1f428a6944d5cd4397e8e217915219a17c5aff4 # Parent 1bbd7898cc9b0994fafb1f4c78695ec1c261cbdd# Parent f02cdc92b5607ab93432ddf89a1b98dfd57436e3 merged diff -r 1bbd7898cc9b -r b1f428a6944d .emacs-my --- a/.emacs-my Tue Sep 20 00:16:01 2022 +0300 +++ b/.emacs-my Sun Nov 27 21:06:29 2022 +0200 @@ -703,6 +703,26 @@ (setq term-prompt-regexp "^[^#$%>\n]*[#$%>] *") +(defun my-term-send-smart () + "Sends a selection or a paragraph to `term-mode'." + (interactive) + (let (beg end cmd term) + (if (use-region-p) + (setq cmd (buffer-substring (region-beginning) (region-end))) + (save-excursion + (forward-paragraph -1) + (setq beg (point)) + (forward-paragraph 1) + (setq end (point)) + (setq cmd (string-trim (buffer-substring beg end))))) + (save-window-excursion ; term command switches buffers. + (term (or explicit-shell-file-name "bash")) + (setq term (current-buffer))) + (display-buffer term 'display-buffer-use-some-window) + (term-simple-send (get-buffer-process term) cmd))) + +(global-set-key (kbd "s-t") 'my-term-send-smart) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (message "proced") @@ -981,7 +1001,8 @@ (set-face-attribute 'region nil :background "light blue")) (setq select-enable-clipboard t) -(setq select-enable-primary t) +(unless (eq window-system 'w32) + (setq select-enable-primary t)) (setq save-interprogram-paste-before-kill nil) (when (fboundp 'er/expand-region)