How to "Edit with Vim" as administrator in Windows?

6

4

When you install gvim in Windows, you get a right-click Explorer context menu item: "Edit with Vim". Is there a way of either adding a "Edit with Vim as Administrator", or just changing the existing shortcut to always open the file with Vim in Administrator mode? I tried setting gvim.exe to always run as administrator, but that seems to break the context menu item; it gives the error "Error creating process: Check if gvim is in your path!"

UPDATE: magicandre1981 showed me a nice way of using nircmd to partially achieve what I want. Once I installed nircmd.exe to the windows system32 directory, adding this to the registry (putting it in a .reg file and running it) added a context menu item that let me edit files as admin:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Edit with Vim as Administrator]

[HKEY_CLASSES_ROOT\*\shell\Edit with Vim as Administrator\command]
@="nircmd.exe elevate \"C:\\Program Files (x86)\\Vim\\vim74\\gvim.exe\" \"%1\""

It's still not quite as nicely integrated as I'd like though, as it doesn't use the Vim helper DLL and requires the use of the additional nircmd tool.

Jez

Posted 2015-02-05T15:37:46.457

Reputation: 2 612

You should mark his answer as the correct one. – AzP – 2015-02-24T11:27:54.177

Wait, what? Is the solution now in the question and the answer, which is actually only a hint that doesn't have anything to do with vim, is selected as correct? This is not how StackOverflow works. Please clean this up. – Bruno Bronosky – 2018-07-26T20:12:11.963

Answers

4

I use the tool nircmd which has an option elevate to run programs as admin.

Here is an option to open Visual Studio projects (sln files) as admin:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln\Shell\Open Solution elevated]
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\VisualStudio.Launcher.sln\Shell\Open Solution elevated\Command]
@="\"C:\\Windows\\nircmd.exe\" elevate \"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\MSEnv\\VSLauncher.exe\" \"%1\""

I have no idea how gvim adds itself to the rightclick, so modify the entries. The HasLUAShield entry adds the UAC shield to the entry to make it easier to see that this run a task as admin.

magicandre1981

Posted 2015-02-05T15:37:46.457

Reputation: 86 560

magicandre1981's idea indeed works. Thanks. I have just attached a screenshot here. One thing to add: when you save the .reg file, you had better save it using Encoding of Unicode. Also Check the Vim version and path in the .reg file to see if it is correct for your case. it works!

– Bianco – 2016-06-29T08:57:12.837

I don't think this actually contains the answer for vim. I think it is a hint based on Visual Studio. Can we get an actual answer for vim? – Bruno Bronosky – 2018-07-26T20:08:36.957

@BrunoBronosky come on, have a bit of own initiative and look for the key as I don't have vim installed. – magicandre1981 – 2018-07-27T14:46:21.590

In fairness to you I should admit I’m using windows for the first time since about 1997. That said, this might be plenty of info for someone more familiar. But to me, it’s more like an inside joke. I did figure it out. But this was very un-StackOverflow. – Bruno Bronosky – 2018-07-27T14:50:25.617