我正试图在Ctrl-f上打开一个文件。如果命令是 在存在空缓冲区的情况下键入 希望在该缓冲区中打开文件,但如果 没有空缓冲区我想用 :tabnew,然后在其中打开文件。 为此,我有一个函数OpenFile 已调用。你知道吗
function! OpenFile()
python << EOF
import vim
import re
buffer = vim.current.buffer
name = str(buffer.name)
if re.match('None', name):
vim.command(':e ')
else:
vim.command(':tabnew')
vim.command(':e ')
EOF
endfunction
"Open file
:map <C-f> :call OpenFile()<CR>
:imap <C-f> <Esc>:call OpenFile()<CR>
你知道吗vim.命令执行命令,使其等效于 :w!输入我要做的是设置命令的一部分。。 :e文件名输入
所以我想通过 python函数,并让用户键入文件名 然后按回车键
首先,为什么要用Python写这个?当然,Vimscript有点奇怪(但是因为vim7已经变得很像Python了),无论如何,您需要了解集成点,而且这个任务中几乎没有真正的逻辑。你知道吗
这是通过映射表达式(
:help map-expression
)最容易解决的:如果必须的话,可以将条件提取到函数中并用Python编写代码,但是我建议坚持使用Vimscript,除非逻辑非常复杂或者您可以从某些库中受益。你知道吗
相关问题 更多 >
编程相关推荐