vim fzf获取所选单词作为--查询参数

vim fzf获取所选单词作为--查询参数,vim,fzf,Vim,Fzf,我实际上是在用vim中的:FZF进行模糊搜索,但是像这样的参数:FZF-q/tmp/boulou 但是,用视觉模式中选择的单词替换/tmp/boulou,并将其绑定到vmap 你有办法帮我吗 谢谢,非常感谢根据xolox,您可以创建如下映射: function! s:getVisualSelection() let [line_start, column_start] = getpos("'<")[1:2] let [line_end, column_end] = getp

我实际上是在用vim中的
:FZF
进行模糊搜索,但是像这样的参数
:FZF-q/tmp/boulou

但是,用视觉模式中选择的单词替换
/tmp/boulou
,并将其绑定到vmap

你有办法帮我吗

谢谢,非常感谢

根据xolox,您可以创建如下映射:

function! s:getVisualSelection()
    let [line_start, column_start] = getpos("'<")[1:2]
    let [line_end, column_end] = getpos("'>")[1:2]
    let lines = getline(line_start, line_end)

    if len(lines) == 0
        return ""
    endif

    let lines[-1] = lines[-1][:column_end - (&selection == "inclusive" ? 1 : 2)]
    let lines[0] = lines[0][column_start - 1:]

    return join(lines, "\n")
endfunction

vnoremap <silent><leader>f <Esc>:FZF -q <C-R>=<SID>getVisualSelection()<CR><CR>
函数!s:getVisualSelection()

让[line\u start,column\u start]=getpos("'你已经走了多远?你已经有一个以范围为参数的函数了吗?你有一个
vmap
了吗?你知道如何在vimscript中调用
fzf
?如果选择了多行,你想做什么?在视觉块模式下该做什么?这个工作在命令中:
:fzf-q/tmp/boulou
,不,我没有一个func>对于这一点,我的vmap是这样的
vnoremap f:FZF-q
,我只想在您选择光标下的单词进行搜索时选择一条直线,而不是一行。因此,您总是希望搜索整行?或者只搜索所选的单词?只搜索所选的单词,很抱歉,确定,您应该将问题分成几个部分。我认为没有人会为您编写所有内容。1.在
.vimrc
中创建一个函数,该函数以范围为参数。2.创建一个
vmap
来调用该函数。3.提取函数中选定的文本。4.将thex馈送到fzf。这一切或多或少都是可以解决的一旦你有具体的问题,我很乐意再次帮助你。
nnoremap <silent><leader>f :FZF -q <C-R>=expand("<cword>")<CR><CR>