在vimrc中使用tabmove会给出E488尾随字符错误
我试图在vimrc文件中的函数中使用tabmove命令,但每当我这样做时,就会出现错误“E488:尾随字符:tabm l:x”。代码如下:在vimrc中使用tabmove会给出E488尾随字符错误,vim,Vim,我试图在vimrc文件中的函数中使用tabmove命令,但每当我这样做时,就会出现错误“E488:尾随字符:tabm l:x”。代码如下: function! MoveTabPageLeft() let l:x = tabpagenr() if l:x == 0 else let l:x = l:x - 1 tabm l:x endif endfunction 如何让它调用tabm?您正在尝试运行该命令,该命令会根据 变量的值。要
function! MoveTabPageLeft()
let l:x = tabpagenr()
if l:x == 0
else
let l:x = l:x - 1
tabm l:x
endif
endfunction
如何让它调用tabm?您正在尝试运行该命令,该命令会根据 变量的值。要运行由Vim脚本在运行时形成的命令,请使用
:执行
命令<代码>:execute接受包含
要执行的命令。因此,要修复代码,请更改行
tabm l:x
到
如果有人需要,这是最后的代码。它将当前选项卡页向左或向右移动
function! MoveTabPageLeft()
let l:x = tabpagenr()
if l:x == 0
else
let l:x = l:x - 2
exe 'tabmove ' . l:x
endif
endfunction
function! MoveTabPageRight()
let l:x = tabpagenr()
if l:x == 0
else
exe 'tabmove ' . l:x
endif
endfunction
感谢您对我为什么/何时应该使用exe的描述-这真的很有帮助。您可以将这些函数简化为
sil!exe'tabm'。(tabpagenr()-2)
和sil!exe'tabm'。tabpagenr()
。
function! MoveTabPageLeft()
let l:x = tabpagenr()
if l:x == 0
else
let l:x = l:x - 2
exe 'tabmove ' . l:x
endif
endfunction
function! MoveTabPageRight()
let l:x = tabpagenr()
if l:x == 0
else
exe 'tabmove ' . l:x
endif
endfunction