我做了C#命令行程序,需要一个窗口句柄和一个字符串作为参数保存。它将带有句柄的窗口带到前台,使用SendKeys发送已传递的字符串,并将之前位于前景的窗口返回到前景。选择文本,并与键盘映射
我做了这个程序,这样我可以从VIM发送文本的选择,在任何程序我想,如Python交互。
我无法弄清楚如何将选择直接发送到程序,但我确实知道如何在可视模式下保存选定的文本(How can I save a text block in visual mode to a file in Vim? - 它可以节省整条线,但对我的目的来说没问题。 ,它不会保存行)。所以我把我的程序的风格化的标签改为一个文件名。我的计划是,vim会将选定的文本保存到一个文件中,然后用文件名称调用程序。
这里是我的vimrc
let g:send_keys_handle = 0
let g:send_keys_file = $home . "\\vim\\send.txt"
function! SendSelection()
if g:send_keys_handle
silent !cls
let x = "silent !cmdHost " . g:send_keys_handle . " " . "\"" . g:send_keys_file . "\""
echom x
execute x
endif
endfunction
command! SendS call SendSelection()
noremap <F5> <esc>va(a(a(a(a(a(a(a(a(a(a(a(a(a(a(a(:w ~\vim\send.txt<cr>
的一部分键映射是不完整的,但Vim不是即使是现在执行它的全部。当我按下F5时,它会按预期选择最上面的括号,但它不会将选择保存到文件中。
地发送命令做的工作,所以这不是问题。
为什么不能复制/粘贴? – romainl
你的意思是手动? – phil