If editing some script in vim, a file with .py or .sh extension, is it any build-in vim command that allows to run such file? I know it's a lot of IDE-like addons for VIM that allows to execute files vim edit, but is it possible without addons?
Asked
Active
Viewed 1,183 times
1 Answers
9
I hope I'm not offending you by answering, that to run the current file (not buffer) you just
:!%
UPD: To run buffer to interpreter's standard input (without saving to a file first):
:w !/bin/sh
The latter can be also used with python
, with perl -w
, etc.
By the way, a super useful technique is to filter a buffer through external command:
1G!Ggrep -v unwanted_regex
All these are vi compatible.
kubanczyk
- 13,502
- 5
- 40
- 55
-
Thanks! I suppose vim don't know about file extension and #!/bin/python in order to run file via correct interpreter? – grigoryvp Jun 22 '09 at 09:34
-
Updated with additional tip. Of course, the "#!/xxx" header is parsed inside execve() system call (i.e. when you run an executable file), so it will definately work with the :!% way. But I don't know how to script vim to automatically execute the proper interpreter in the :w !interpreter way. This can be trivially done with external shell script. File extension does not matter in these cases at all. – kubanczyk Jun 22 '09 at 09:51
-
Fantastic idea! Simple too - one of those "Why didn't *I* think of that?" moments.... – Mei Jun 23 '09 at 18:22