/
usr
/
share
/
vim
/
vim91
/
doc
/
/usr/share/vim/vim91/doc
mkdir
upload
Name
Size
Mode
Actions
arabic.txt
12204
0644
edit
dl
rm
autocmd.txt
77872
0644
edit
dl
rm
builtin.txt
432001
0644
edit
dl
rm
change.txt
80714
0644
edit
dl
rm
channel.txt
59103
0644
edit
dl
rm
cmdline.txt
53181
0644
edit
dl
rm
debug.txt
6896
0644
edit
dl
rm
debugger.txt
5443
0644
edit
dl
rm
develop.txt
23118
0644
edit
dl
rm
diff.txt
18341
0644
edit
dl
rm
digraph.txt
62443
0644
edit
dl
rm
editing.txt
77499
0644
edit
dl
rm
eval.txt
173232
0644
edit
dl
rm
farsi.txt
523
0644
edit
dl
rm
filetype.txt
30622
0644
edit
dl
rm
fold.txt
24730
0644
edit
dl
rm
ft_ada.txt
18212
0644
edit
dl
rm
ft_context.txt
5161
0644
edit
dl
rm
ft_mp.txt
4706
0644
edit
dl
rm
ft_ps1.txt
2187
0644
edit
dl
rm
ft_raku.txt
4219
0644
edit
dl
rm
ft_rust.txt
19800
0644
edit
dl
rm
ft_sql.txt
30694
0644
edit
dl
rm
gui.txt
53499
0644
edit
dl
rm
gui_w32.txt
19123
0644
edit
dl
rm
gui_x11.txt
29318
0644
edit
dl
rm
hangulin.txt
598
0644
edit
dl
rm
hebrew.txt
5666
0644
edit
dl
rm
help.txt
9491
0644
edit
dl
rm
help.txt.vim-tiny
1350
0644
edit
dl
rm
helphelp.txt
16060
0644
edit
dl
rm
howto.txt
2916
0644
edit
dl
rm
if_cscop.txt
19325
0644
edit
dl
rm
if_lua.txt
18546
0644
edit
dl
rm
if_mzsch.txt
11941
0644
edit
dl
rm
if_ole.txt
7117
0644
edit
dl
rm
if_perl.txt
11451
0644
edit
dl
rm
if_pyth.txt
40820
0644
edit
dl
rm
if_ruby.txt
8516
0644
edit
dl
rm
if_sniff.txt
271
0644
edit
dl
rm
if_tcl.txt
22948
0644
edit
dl
rm
indent.txt
43699
0644
edit
dl
rm
index.txt
82373
0644
edit
dl
rm
insert.txt
88124
0644
edit
dl
rm
intro.txt
39623
0644
edit
dl
rm
map.txt
81176
0644
edit
dl
rm
mbyte.txt
58640
0644
edit
dl
rm
message.txt
31931
0644
edit
dl
rm
mlang.txt
8160
0644
edit
dl
rm
motion.txt
54387
0644
edit
dl
rm
netbeans.txt
37957
0644
edit
dl
rm
options.txt
419402
0644
edit
dl
rm
os_390.txt
4741
0644
edit
dl
rm
os_amiga.txt
5466
0644
edit
dl
rm
os_beos.txt
293
0644
edit
dl
rm
os_dos.txt
15495
0644
edit
dl
rm
os_haiku.txt
8543
0644
edit
dl
rm
os_mac.txt
6856
0644
edit
dl
rm
os_mint.txt
391
0644
edit
dl
rm
os_msdos.txt
523
0644
edit
dl
rm
os_os2.txt
299
0644
edit
dl
rm
os_qnx.txt
4071
0644
edit
dl
rm
os_risc.txt
328
0644
edit
dl
rm
os_unix.txt
2607
0644
edit
dl
rm
os_vms.txt
33743
0644
edit
dl
rm
os_win32.txt
14912
0644
edit
dl
rm
pattern.txt
63653
0644
edit
dl
rm
pi_getscript.txt
21077
0644
edit
dl
rm
pi_gzip.txt
1547
0644
edit
dl
rm
pi_logipat.txt
4196
0644
edit
dl
rm
pi_netrw.txt
181735
0644
edit
dl
rm
pi_paren.txt
2274
0644
edit
dl
rm
pi_spec.txt
4127
0644
edit
dl
rm
pi_tar.txt
7191
0644
edit
dl
rm
pi_vimball.txt
11859
0644
edit
dl
rm
pi_zip.txt
7778
0644
edit
dl
rm
popup.txt
40382
0644
edit
dl
rm
print.txt
31445
0644
edit
dl
rm
quickfix.txt
85701
0644
edit
dl
rm
quickref.txt
73061
0644
edit
dl
rm
quotes.txt
12748
0644
edit
dl
rm
README.Debian
324
0644
edit
dl
rm
recover.txt
10727
0644
edit
dl
rm
remote.txt
8626
0644
edit
dl
rm
repeat.txt
46502
0644
edit
dl
rm
rileft.txt
5063
0644
edit
dl
rm
russian.txt
3024
0644
edit
dl
rm
scroll.txt
14356
0644
edit
dl
rm
sign.txt
26860
0644
edit
dl
rm
spell.txt
64205
0644
edit
dl
rm
sponsor.txt
6776
0644
edit
dl
rm
starting.txt
74540
0644
edit
dl
rm
syntax.txt
237597
0644
edit
dl
rm
tabpage.txt
17246
0644
edit
dl
rm
tags
391091
0644
edit
dl
rm
tags.vim-tiny
1935
0644
edit
dl
rm
tagsrch.txt
40475
0644
edit
dl
rm
term.txt
55685
0644
edit
dl
rm
terminal.txt
63169
0644
edit
dl
rm
testing.txt
22507
0644
edit
dl
rm
textprop.txt
20478
0644
edit
dl
rm
tips.txt
21336
0644
edit
dl
rm
todo.txt
316358
0644
edit
dl
rm
uganda.txt
13052
0644
edit
dl
rm
undo.txt
17811
0644
edit
dl
rm
userfunc.txt
20624
0644
edit
dl
rm
usr_01.txt
7076
0644
edit
dl
rm
usr_02.txt
24228
0644
edit
dl
rm
usr_03.txt
23934
0644
edit
dl
rm
usr_04.txt
19131
0644
edit
dl
rm
usr_05.txt
27946
0644
edit
dl
rm
usr_06.txt
10639
0644
edit
dl
rm
usr_07.txt
15995
0644
edit
dl
rm
usr_08.txt
19379
0644
edit
dl
rm
usr_09.txt
11502
0644
edit
dl
rm
usr_10.txt
29200
0644
edit
dl
rm
usr_11.txt
13025
0644
edit
dl
rm
usr_12.txt
13433
0644
edit
dl
rm
usr_20.txt
13733
0644
edit
dl
rm
usr_21.txt
18456
0644
edit
dl
rm
usr_22.txt
14904
0644
edit
dl
rm
usr_23.txt
12744
0644
edit
dl
rm
usr_24.txt
20827
0644
edit
dl
rm
usr_25.txt
19176
0644
edit
dl
rm
usr_26.txt
8259
0644
edit
dl
rm
usr_27.txt
17709
0644
edit
dl
rm
usr_28.txt
16020
0644
edit
dl
rm
usr_29.txt
20259
0644
edit
dl
rm
usr_30.txt
22658
0644
edit
dl
rm
usr_31.txt
10399
0644
edit
dl
rm
usr_32.txt
5378
0644
edit
dl
rm
usr_40.txt
23554
0644
edit
dl
rm
usr_41.txt
65272
0644
edit
dl
rm
usr_42.txt
13853
0644
edit
dl
rm
usr_43.txt
7409
0644
edit
dl
rm
usr_44.txt
28948
0644
edit
dl
rm
usr_45.txt
17680
0644
edit
dl
rm
usr_50.txt
4554
0644
edit
dl
rm
usr_51.txt
25517
0644
edit
dl
rm
usr_52.txt
13498
0644
edit
dl
rm
usr_90.txt
16778
0644
edit
dl
rm
usr_toc.txt
9886
0644
edit
dl
rm
various.txt
32432
0644
edit
dl
rm
version4.txt
13911
0644
edit
dl
rm
version5.txt
308529
0644
edit
dl
rm
version6.txt
576942
0644
edit
dl
rm
version7.txt
674698
0644
edit
dl
rm
version8.txt
1599852
0644
edit
dl
rm
version9.txt
1611325
0644
edit
dl
rm
vim9.txt
91753
0644
edit
dl
rm
vim9class.txt
41040
0644
edit
dl
rm
visual.txt
22625
0644
edit
dl
rm
vi_diff.txt
57404
0644
edit
dl
rm
windows.txt
58706
0644
edit
dl
rm
workshop.txt
371
0644
edit
dl
rm
Edit:
/usr/share/vim/vim91/doc/if_ole.txt
(7117B)
*if_ole.txt* For Vim version 9.1. Last change: 2023 Nov 19 VIM REFERENCE MANUAL by Paul Moore The OLE Interface to Vim *ole-interface* 1. Activation |ole-activation| 2. Methods |ole-methods| 3. The "normal" command |ole-normal| 4. Registration |ole-registration| 5. MS Visual Studio integration |MSVisualStudio| {only available when compiled with the |+ole| feature. See src/if_ole.INSTALL} An alternative is using the client-server communication |clientserver|. ============================================================================== 1. Activation *ole-activation* Vim acts as an OLE automation server, accessible from any automation client, for example, Visual Basic, Python, or Perl. The Vim application "name" (its "ProgID", in OLE terminology) is "Vim.Application". Hence, in order to start a Vim instance (or connect to an already running instance), code similar to the following should be used: [Visual Basic] > Dim Vim As Object Set Vim = CreateObject("Vim.Application") [Python] > from win32com.client.dynamic import Dispatch vim = Dispatch('Vim.Application') [Perl] > use Win32::OLE; $vim = new Win32::OLE 'Vim.Application'; [C#] > // Add a reference to Vim in your project. // Choose the COM tab. // Select "Vim Ole Interface 1.1 Type Library" Vim.Vim vimobj = new Vim.Vim(); Vim does not support acting as a "hidden" OLE server, like some other OLE Automation servers. When a client starts up an instance of Vim, that instance is immediately visible. Simply closing the OLE connection to the Vim instance is not enough to shut down the Vim instance - it is necessary to explicitly execute a quit command (for example, :qa!, :wqa). ============================================================================== 2. Methods *ole-methods* Vim exposes four methods for use by clients. *ole-sendkeys* SendKeys(keys) Execute a series of keys. This method takes a single parameter, which is a string of keystrokes. These keystrokes are executed exactly as if they had been typed in at the keyboard. Special keys can be given using their <..> names, as for the right hand side of a mapping. Note: Execution of the Ex "normal" command is not supported - see below |ole-normal|. Examples (Visual Basic syntax) > Vim.SendKeys "ihello<Esc>" Vim.SendKeys "ma1GV4jy`a" These examples assume that Vim starts in Normal mode. To force Normal mode, start the key sequence with CTRL-\ CTRL-N as in > Vim.SendKeys "<C-\><C-N>ihello<Esc>" CTRL-\ CTRL-N returns Vim to Normal mode, when in Insert or Command-line mode. Note that this doesn't work halfway a Vim command *ole-eval* Eval(expr) Evaluate an expression. This method takes a single parameter, which is an expression in Vim's normal format (see |expression|). It returns a string, which is the result of evaluating the expression. A |List| is turned into a string by joining the items and inserting line breaks. Examples (Visual Basic syntax) > Line20 = Vim.Eval("getline(20)") Twelve = Vim.Eval("6 + 6") ' Note this is a STRING Font = Vim.Eval("&guifont") < *ole-setforeground* SetForeground() Make the Vim window come to the foreground This method takes no arguments. No value is returned. Example (Visual Basic syntax) > Vim.SetForeground < *ole-gethwnd* GetHwnd() Return the handle of the Vim window. This method takes no arguments. It returns the hwnd of the main Vimwindow. You can use this if you are writing something which needs to manipulate the Vim window, or to track it in the z-order, etc. Example (Visual Basic syntax) > Vim_Hwnd = Vim.GetHwnd < ============================================================================== 3. The "normal" command *ole-normal* Due to the way Vim processes OLE Automation commands, combined with the method of implementation of the Ex command :normal, it is not possible to execute the :normal command via OLE automation. Any attempt to do so will fail, probably harmlessly, although possibly in unpredictable ways. There is currently no practical way to trap this situation, and users must simply be aware of the limitation. ============================================================================== 4. Registration *ole-registration* *E243* Before Vim will act as an OLE server, it must be registered in the system registry. In order to do this, Vim should be run with a single parameter of "-register". *-register* > gvim -register If gvim with OLE support is run and notices that no Vim OLE server has been registered, it will present a dialog and offers you the choice to register by clicking "Yes". In some situations registering is not possible. This happens when the registry is not writable. If you run into this problem you need to run gvim as "Administrator". Once vim is registered, the application path is stored in the registry. Before moving, deleting, or upgrading Vim, the registry entries should be removed using the "-unregister" switch. *-unregister* > gvim -unregister The OLE mechanism will use the first registered Vim it finds. If a Vim is already running, this one will be used. If you want to have (several) Vim sessions open that should not react to OLE commands, use the non-OLE version, and put it in a different directory. The OLE version should then be put in a directory that is not in your normal path, so that typing "gvim" will start the non-OLE version. *-silent* To avoid the message box that pops up to report the result, prepend "-silent": > gvim -silent -register gvim -silent -unregister ============================================================================== 5. MS Visual Studio integration *MSVisualStudio* The old "VisVim" integration was removed from Vim in patch 9.0.0698. Using Vim with Visual Studio .Net~ .Net studio has support for external editors. Follow these directions: In .Net Studio choose from the menu Tools->External Tools... Add Title - Vim Command - c:\vim\vim63\gvim.exe Arguments - --servername VS_NET --remote-silent "+call cursor($(CurLine), $(CurCol))" $(ItemPath) Init Dir - Empty Now, when you open a file in .Net, you can choose from the .Net menu: Tools->Vim That will open the file in Vim. You can then add this external command as an icon and place it anywhere you like. You might also be able to set this as your default editor. If you refine this further, please post back to the Vim maillist so we have a record of it. --servername VS_NET This will create a new instance of vim called VS_NET. So if you open multiple files from VS, they will use the same instance of Vim. This allows you to have multiple copies of Vim running, but you can control which one has VS files in it. --remote-silent "+call cursor(10, 27)" - Places the cursor on line 10 column 27 In Vim > :h --remote-silent for more details [.Net remarks provided by Dave Fishburn and Brian Sturk] ============================================================================== vim:tw=78:ts=8:noet:ft=help:norl:
Save
cmd:
run