From: Samir Benmendil Date: Mon, 18 Jan 2021 00:02:38 +0000 (+0000) Subject: vim: open files in parent vim instance if running inside vim :term X-Git-Url: https://git.rmz.io/dotfiles.git/commitdiff_plain/07f517faf8d0cbd8c12e35de06eac06f2348f44a vim: open files in parent vim instance if running inside vim :term This could possibly be a file in bin too, I'm not sure yet. --- diff --git a/aliases b/aliases index 5b30607..6fb1ae1 100644 --- a/aliases +++ b/aliases @@ -13,6 +13,26 @@ alias df='df -h' # human-readable sizes du() { /usr/bin/du -h ${@} | sort -h } alias free='free -m' # show sizes in MB +# run vim or drop file in parent vim instance if inside vim terminal +function vim { + if [[ -z "${VIM_TERMINAL}" ]]; then + # Not in VIM_TERMINAL, simply run vim with all arguments + command vim "$@" + return + fi + + for f in "$@"; do + if [[ "${f:0:1}" == "-" ]]; then + echo "Running in Vim's terminal, not accepting options!" >&2 + return 1 + fi + done + for f in "$@"; do + # drop the file onto the running vim instance + # see :h terminal-communication + echo -e "]51;[\"drop\", \"$f\"]" + done +} alias vi='vim' alias svi='sudo -e' #alias vp='vim PKGBUILD' # I have a script for that in ~/bin