在vimrc中使用tabmove会给出E488尾随字符错误

时间:2011-09-08 05:54:30

标签: vim

我正在尝试在我的vimrc文件中的函数中使用tabmove命令,但每当我这样做时,我都会收到错误“E488:Trailing characters: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?

2 个答案:

答案 0 :(得分:2)

您正在尝试运行根据情况动态更改的命令 变量的值。要运行由Vim脚本在运行时形成的命令,请使用 :execute命令。 :execute包含单个字符串参数 要执行的命令。因此,要修复代码,请更改行

tabm l:x

exe 'tabm ' . l:x

答案 1 :(得分:0)

如果有人需要,这是最终代码。它向左或向右移动当前标签页。

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