2016-10-24 5:56 GMT+03:00 Tony Mechelynck <[email protected]>: > On Mon, Oct 24, 2016 at 1:50 AM, Nikolay Aleksandrovich Pavlov > <[email protected]> wrote: >> 2016-10-24 2:03 GMT+03:00 Tony Mechelynck <[email protected]>: >>> On Mon, Oct 24, 2016 at 12:15 AM, Guido Milanese >>> <[email protected]> wrote: >>>> Dear all, >>>> I'm probably making a mountain out of a molehill, but I'm lost in a >>>> (probably) very simple problem. >>>> >>>> I have written a simple bash script that performs some transformations in >>>> a file, calls (g)vim, waits for the user to edit the file, and exits. The >>>> problem is: >>>> >>>> * I have defined one simple key map of the kind >>>> >>>> map <F11> do-this-and-this >>>> >>>> * I would like to save this mapping to a file, in order to add this >>>> particular key-map to other mapping(s) defined by users; I would like to >>>> load the mapping from an external file, in order for this mapping to be >>>> unloaded after the current session. Such as: >>>> >>>> (g)vim FILE-WITH-MAPPING FILE-TO-WORK >>>> >>>> I tried to use *mkexrc* but I did not obtain what I want, i.e. to save in >>>> a file *only* the particular mapping I need for this particular script. >>>> >>>> Could you please help me? >>>> >>>> Thank you! >>>> guido (Italy) >>> >>> Well, you could write your mapping to a file, and source that file >>> when needed; but unless it is a rather complex "do this and that" it >>> might be simpler to simply type the :map command at the command line, >>> or as argument to the -c command-line switch. >>> >>> For a complex mappinf (written to ./mymapping.vim) >>> >>> (g)vim -c "source ./mymapping.vim" >>> >>> would, I suppose, do the trick. (Vim accepts forward slashes as path >>> separators on all platforms including Windows, or backslashes on >>> Windows only.) >> >> vim -S ./mymapping.vim >> >> is a shortcut to `-c 'so ./mymapping.vim'`. Note: implementation used >> so far *literally* joins `so<space>` and a file name, saving this in a >> location where `-c` commads are saved, so `vim -S './$FOO'` is not >> going to open file `./$FOO` like you probably expected. You need to >> know this in case you happen to know your file name contains special >> characters (e.g. space), or in case you don’t know which characters >> your temporary file name can contain in advance, so the safest way >> which does not require you messing with escaping should be something >> like >> >> _MYMAPPING=./mymapping.vim vim -c 'source $_MYMAPPING' >> > > ... which unless things have changed a lot since I left Windows, would > work on Mac, Linux or Unix, or even in Cygwin bash, but not in > "vanilla" Windows and not in CMD.EXE.
“… I have written a simple bash script …” - this is a quote from original post. And this has reasons not to work on *nix: e.g. if OP was writing a fish script he would need to use `env` (not sure, but may be also possible in cmd.exe with some programs installed since there are ports of quite a few *nix tools). Also in cmd.exe the idea does not change, just you need a different syntax for it. > > Best regards, > Tony. > > -- > -- > You received this message from the "vim_use" maillist. > Do not top-post! Type your reply below the text you are replying to. > For more information, visit http://www.vim.org/maillist.php > > --- > You received this message because you are subscribed to the Google Groups > "vim_use" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_use" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
