Home / Emacs Packages / Vterm
Custom commands
Translate from Bash → Emacs:
- emacs→- find-file
- man→- man
and call vterm-clear-scrollback on clear in Bash.
(with-eval-after-load 'vterm
  (setopt vterm-eval-cmds
          '(("find-file" find-file)
            ("man" man)
            ("vterm-clear-scrollback" vterm-clear-scrollback))))
# File `~/.bashrc-emacs', sourced from `~/.bashrc'.
if test "$INSIDE_EMACS" == vterm
then
    VTERM_COMMAND='\e]51;E'
    VTERM_COMMAND_END='\e\\'
    # Bridge `emacs' in Bash to 'find-file' in Emacs.
    emacs() {
        FILE="$(cd $(dirname "$1"); pwd)/$(basename "$1")"
        printf "${VTERM_COMMAND}"
        printf "find-file \"${FILE}\""
        printf "${VTERM_COMMAND_END}"
    }
    # Bridge `man' in Bash to `man' in Emacs.
    man() {
        printf "${VTERM_COMMAND}"
        printf "man \"$1\""
        printf "${VTERM_COMMAND_END}"
    }
    # Call 'vterm-clear-scrollback' in Emacs before 'clear' in Bash.
    clear() {
        printf "${VTERM_COMMAND}"
        printf "vterm-clear-scrollback"
        printf "${VTERM_COMMAND_END}"
        tput clear;
    }
fi