diff options
Diffstat (limited to 'content/posts/2006-09-16-vim-shell-why-hasn-t-vim-had-this-all-along.html')
-rw-r--r-- | content/posts/2006-09-16-vim-shell-why-hasn-t-vim-had-this-all-along.html | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/content/posts/2006-09-16-vim-shell-why-hasn-t-vim-had-this-all-along.html b/content/posts/2006-09-16-vim-shell-why-hasn-t-vim-had-this-all-along.html new file mode 100644 index 0000000..1f07bd5 --- /dev/null +++ b/content/posts/2006-09-16-vim-shell-why-hasn-t-vim-had-this-all-along.html @@ -0,0 +1,57 @@ +--- +date: "2006-09-16T03:38:15Z" +title: 'VIM-Shell: Why Hasn''t Vim Had This All Along?' +--- + +<p>I stumbled across <a href="http://www.wana.at/vimshell/" title="Best Vim extension ever.">VIM-Shell</a> completely on accident. it's a patch +against <a href="http://www.vim.org/">Vim</a> that does exactly what it sounds like; adds +rudimentary shell support to Vim. Check it out:</p> + +<table border='0'> +<tr><td> +<a href='http://pablotron.org/gallery/misc/vimshell.png'><img + src='http://pablotron.org/gallery/misc/vimshell-thumb.png' + width='320' height='200' border='0' style='border: 1px solid black;' + title='Vim with a bunch of shell apps.' + alt='Vim with a bunch of shell apps.' /></a> +</td></tr><tr><td style='text-align: center; font-size: 80%; font-weight: bold;'> +VIM-Shell with a bunch of apps (1680x1050 <acronym title='Portable Network Graphics Image File'>PNG</acronym>). +</td></tr></table> + +<p>The default patch kind of blows, so I cleaned it up and fixed a couple +bugs (namely, the <a href="http://www.wogri.at/pipermail/vimshell/2005-January/000089.html" title="Description of the VIM-Shell red terminal bug.">red terminal o' death</a> bug reported on the +<a href="http://www.wogri.at/pipermail/vimshell/" title="The VIM-Shell mailing list.">mailing list</a>). I've submitted the my fixes upstream, but they +haven't been incorperated into the official version yet. In the mean +time, you can get my improved patch by following the link below.</p> + +<p><a href="http://pablotron.org/files/vim-7.0.72-vimshell-pabs-1.diff.gz" title="My improved VIM-Shell patch against Vim 7.">Download vim-7.0.72-vimshell-pabs-1.diff.gz</a> (<a href="http://pablotron.org/files/vim-7.0.72-vimshell-pabs-1.diff.gz.asc" title="OpenPGP signature for my improved VIM-Shell patch against Vim 7.">Signature</a>)</p> + +<p><em>Note:</em> If you compile it under Linux, you'll need to add a link to +<code>libutil</code>, either via <code>configure</code> or <code>make</code>, like so:</p> + +<blockquote> + <p><code>$ ./configure LDFLAGS=-lutil</code></p> +</blockquote> + +<p>or</p> + +<blockquote> + <p><code>$ make LDFLAGS=-lutil</code></p> +</blockquote> + +<p>If you don't, you'll get an undefined reference to <code>forkpty()</code>. I +believe this is a problem with the original patch as well. Now that +you're all excited, here's what VIM-Shell still needs:</p> + +<ul> +<li>Slightly better color emulation. Occasionally things seem to "bleed".</li> +<li>Session support. I use sessions pretty regularly, and it'd be nice to +at least restore a blank shell. Even better would be pwd and history.</li> +<li>A way to send a literal <code>Ctrl-W</code> to the shell. Lots of apps use <code>^W</code>, +including Vim and Bash, so not having it is kind of annoying. Maybe a +<a href="http://www.gnu.org/software/screen/">Screen</a>-style escape like <code>^Ww</code>?</li> +</ul> + +<p>Even with all these relatively minor gotchas, VIM-Shell is still damn +cool.</p> + |