1

我刚得到答案,可以通过键入以给定字符开头跳到行

/+ ^[字符]

但我认为它没有f跳到一行中的字符那么快。所以我想将它映射到一个组合键,比如

go+ [字符]

通过做类似的事情.vimrc

nmap go<expr> /^<expre>

4

2 回答 2

4

:help map-expression; 您可以使用以下命令查询单个字符getchar()

:nnoremap <expr> go '/^' . nr2char(getchar()) . '<CR>'
于 2013-04-24T09:36:32.173 回答
0

很难直接映射这个函数。因为字母/字符可以是任何东西。

但是这个小功能可能对您有用:

function! GoToLine()
    call inputsave()
    let c= input('Enter chars:')
    call inputrestore()
    call search ('^' . c)
    let @/ = '^'.c
endfunction

您可以映射例如:

nnoremap <leader>go call GoToLine()

然后输入您需要的字符,该功能会将您带到那里。这样,您可以输入多个字符。

希望能帮助到你。

于 2013-04-24T09:35:39.503 回答