Использование tabmove в vimrc дает ошибку E488 Trailing символов - PullRequest
1 голос
/ 08 сентября 2011

Я пытаюсь использовать команду tabmove в функции в моем файле vimrc, но всякий раз, когда я делаю это, я получаю ошибку «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?

Ответы [ 2 ]

2 голосов
/ 08 сентября 2011

Вы пытаетесь запустить команду, которая изменяется динамически в зависимости от значение переменной. Чтобы запустить команду, сформированную во время выполнения скриптом Vim, используйте команда :execute. :execute принимает однострочный аргумент, содержащий команда для выполнения. Итак, чтобы исправить код, измените строку

tabm l:x

до

exe 'tabm ' . l:x
0 голосов
/ 08 сентября 2011

Вот окончательный код, если кому-то это нужно.Перемещает текущую вкладку влево или вправо.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...