On 11/06/11 19:03, Jussi Hirvi wrote:
Ok, that helped me along. For some reason the motions (like 1G0 for beginning of file, or G$ for last char in file) work, when the script is called from command-line with -s flag (vim -s myscript myfile). But they don't work when the script is called from inside vim (:source myscript). I wonder why.
Try adding :normal to every 'key stroke' command, i.e.,
:% s/\t/","/g :% s/\r\n/\r/g :% s/\n/"),\r("/g :normal 1G0I("^[ :normal Gdd :normal G$xa;^[ :w
off the top of my head, that should then work in both scenarios (not tested).
Yes, vim scripting is a bit weird, nowhere near as elegant as emacs lisp, but it does get the job done if you have the patience.
For debugging try the online help
:h debug-scripts
Happy Hacking!
Kal