我可以配置跳转列表中条目的最大数量

时间:2013-12-31 01:50:26

标签: vim vi

我只想列出使用(:跳转列表)时我刚刚找到的最新动作位置(比方说,10或更少),默认值100太大,我必须翻到最近的。

2 个答案:

答案 0 :(得分:1)

首先,没有命令:jumplist,我想你的意思是:jumps

该设置没有选项。但你可以做的是,像往常一样:jumps,当显示“长”列表时,按G会将你带到最新的列表。

答案 1 :(得分:0)

这是:Tail(以及相应的:Head)命令的定义,它允许您将任何Vim命令的输出限制为10行:

:Tail jumps
(showing only the last 10 jumps)

Scriptlet中

":[N]Head {cmd}     Show only the first 10 / [N] lines of {cmd}'s output.
":[N]Tail {cmd}     Show only the last 10 / [N] lines of {cmd}'s output.
function! s:CaptureCommand( command )
    redir => l:commandOutput
        silent! execute a:command
    redir END
    redraw  " This is necessary because of the :redir done earlier.
    return split(l:commandOutput, "\n")
endfunction
function! s:Head( count, command )
    let l:lines = s:CaptureCommand(a:command)
    for l:line in l:lines[0:(a:count ? a:count : 10)]
        echo l:line
    endfor
endfunction
function! s:Tail( count, command )
    let l:lines = s:CaptureCommand(a:command)
    for l:line in l:lines[-1 * min([(a:count ? a:count : 10), len(l:lines)]):-1]
        echo l:line
    endfor
endfunction
command! -range=0 -nargs=+ Head call <SID>Head(<count>, <q-args>)
command! -range=0 -nargs=+ Tail call <SID>Tail(<count>, <q-args>)

更多想法

您也可以使用它来定义自定义:Jumps命令:

command! -range=0 Jumps <count>Tail jumps

使用cmdalias.vim - Create aliases for Vim commands插件,您甚至可以使用它覆盖内置:jumps