There are two kinds of programmers; one uses Vim and the other uses Emacs. I don't think there are positive counter opinions about that Emacs is not an editor but an environment. On the other hand, there are some opinions that Vim is an editor or not, even though everyone agrees with the fact that vi is an editor. Some people, including the author of this article, claim that Vim is a virtual machine. Here I give you instructions of a Vim plugin shadow.vim instead of explaining why Vim is VM directly.
shadow.vim
The Vim plugin shadow.vim supports wrapping a virtual file with a program automatically with thin configuration.
Here it's a quote from a programmer:
"Nobody knows the Java code you committed is originally written in Scheme."
Usage
Assuming the product is a.pl
, create a.pl.shd
first.
a.pl (in Vim):
## ruby -e 'puts $<.read.gsub(/$/, ";")'
$a = 1
print($a)
Open a.pl
in Vim. The Vim actually shows the contents of a.pl.shd
. When you save the file, the command in the first line without ##
runs, then the actual a.pl
will be the result.
a.pl (actually):
$a = 1;
print($a);
Install
Unarchive the zip file into a directory that is under &rtp
of your Vim, which stands for run time path, including ~/.vim
dir.
Use Case
Here there are three examples, but you can use more general purposes.
Commit JavaScript files which was written in CoffeeScript
before
## coffee -csb f = (x) -> x + 1 print f 10 # vim: set ft=coffee :
after
var f; f = function(x) { return x + 1; }; print(f(10));
- Use
cpp
command before committing Java files. Markdown, Haml or something else to HTML
More examples
You can write code in C and save the file as GNU Assembly Language on your Linux automatically, so you can avoid portability.
No comments:
Post a Comment