(beginning-of-line)
(kill-line arg)
(indent-for-tab-command))
+
+(defun my/yank (arg)
+ "If the text to be yanked has a newline then move to beginning of line before yanking. Otherwise same as normal `yank'."
+ (interactive "*P")
+ (advice-add 'insert-for-yank :around #'my/yank/advice)
+ (unwind-protect
+ (yank arg)
+ (advice-remove 'insert-for-yank #'my/yank/advice)))
+
+(defun my/yank/advice (original-function string)
+ (if (string-match-p "\n" string)
+ (beginning-of-line))
+ (funcall original-function string))
(global-set-key (kbd "C-c m") 'mc/mark-more-like-this-extended)
;; Killing and deleting
+(global-set-key (kbd "C-y") 'my/yank)
(global-set-key (kbd "M-y") 'counsel-yank-pop)
(global-set-key (kbd "M-z") 'zap-up-to-char)
(global-set-key (kbd "C-c k") 'kill-whole-line)