1

我正在尝试使用 autocmd 在打开文件时检查某个文件是否存在。如果文件存在,我想做一个vsplit,并将 vsplit 缓冲区向右移动。就像是:

function! CheckForFile()
    let file=expand("%:p:h")."/.".expand("%:t").".x"
    if filereadable(file)
        execute "vs " . file
        <C-w>L
   endif
endfunction
autocmd BufReadPost * call CheckForFile()

我不知道该怎么做<C-w>L。我得到的只是语法错误。

如何在 CheckForFile 函数中移动缓冲区?

4

1 回答 1

3
<C-w>L

是正常模式命令;因此,它不能在函数的上下文中按原样使用。<C-w>所有普通模式命令的等效 ex 命令都wincmd {char}可以在:help window-move-cursor.

所以正确的记法是:

wincmd L
于 2014-11-03T22:13:36.507 回答