From e652756fdb0495e58f3f4f3be3a82aa9f166731d Mon Sep 17 00:00:00 2001 From: Derek Wyatt Date: Tue, 20 Mar 2012 08:16:44 -0400 Subject: A plugin that makes it easier to interact with the (single) running instance of gvim --- plugins/vim-interaction/README.md | 69 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 plugins/vim-interaction/README.md (limited to 'plugins/vim-interaction/README.md') diff --git a/plugins/vim-interaction/README.md b/plugins/vim-interaction/README.md new file mode 100644 index 000000000..65e678b51 --- /dev/null +++ b/plugins/vim-interaction/README.md @@ -0,0 +1,69 @@ +# Vim Interaction # + +The plugin presents a function called `callvim` whose usage is: + + usage: callvim [-b cmd] [-a cmd] [file ... fileN] + + -b cmd Run this command in GVIM before editing the first file + -a cmd Run this command in GVIM after editing the first file + file The file to edit + ... fileN The other files to add to the argslist + +## Rationale ## + +The idea for this script is to give you some decent interaction with a running +GVim session. Normally you'll be running around your filesystem doing any +number of amazing things and you'll need to load some files into GVim for +editing, inspecting, destruction, or other bits of mayhem. This script lets you +do that. + +## Aliases ## + +There are a few aliases presented as well: + +* `v` A shorthand for `callvim` +* `vvsp` Edits the passed in file but first makes a vertical split +* `vhsp` Edits the passed in file but first makes a horizontal split + +## Examples ## + +This will load `/tmp/myfile.scala` into the running GVim session: + + > v /tmp/myfile.scala + +This will load it after first doing a vertical split: + + > vvsp /tmp/myfile.scala + or + > v -b':vsp' /tmp/myfile.scala + +This will load it after doing a horizontal split, then moving to the bottom of +the file: + + > vhsp -aG /tmp/myfile.scala + or + > v -b':sp' -aG /tmp/myfile.scala + +This will load the file and then copy the first line to the end (Why you would +ever want to do this... I dunno): + + > v -a':1t$' /tmp/myfile.scala + +And this will load all of the `*.txt` files into the args list: + + > v *.txt + +If you want to load files into areas that are already split, use one of the +aliases for that: + + # Do a ':wincmd h' first + > vh /tmp/myfile.scala + + # Do a ':wincmd j' first + > vj /tmp/myfile.scala + + # Do a ':wincmd k' first + > vk /tmp/myfile.scala + + # Do a ':wincmd l' first + > vl /tmp/myfile.scala -- cgit v1.2.3-70-g09d2 From c2e459ad43b060c9dc2548e378a2f2d412d6da60 Mon Sep 17 00:00:00 2001 From: Derek Wyatt Date: Fri, 30 Mar 2012 06:39:49 -0400 Subject: Updated the README to include documentation on the postCallVim callout --- plugins/vim-interaction/README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'plugins/vim-interaction/README.md') diff --git a/plugins/vim-interaction/README.md b/plugins/vim-interaction/README.md index 65e678b51..681648018 100644 --- a/plugins/vim-interaction/README.md +++ b/plugins/vim-interaction/README.md @@ -25,6 +25,19 @@ There are a few aliases presented as well: * `vvsp` Edits the passed in file but first makes a vertical split * `vhsp` Edits the passed in file but first makes a horizontal split +## Post Callout ## + +At the end of the `callvim` function we invoke the `postCallVim` function if it +exists. If you're using MacVim, for example, you could define a function that +brings window focus to it after the file is loaded: + + function postCallVim + { + osascript -e 'tell application "MacVim" to activate' + } + +This'll be different depending on your OS / Window Manager. + ## Examples ## This will load `/tmp/myfile.scala` into the running GVim session: -- cgit v1.2.3-70-g09d2