On Apple’s Terminal.app, dragging a file into the terminal inserts the path to the file as text. This feels ergonomic to me; here’s a quick way to set up vterm to do the same thing:
(defun russruss/insert-local-url-as-path-vterm
(url &optional action)
(vterm-send-string
(car
(url-path-and-query
(url-generic-parse-url url)))))
(add-hook 'vterm-mode-hook
(lambda ()
(setq-local dnd-protocol-alist
`(("^file:" . russruss/insert-local-url-as-path-vterm)
,dnd-protocol-alist))))