摘要:自從的浮動(dòng)窗口被合到以后,很多插件都利用了這個(gè)特性實(shí)現(xiàn)了很多很酷的功能,比如,另外和也利用了這一特性。首先是個(gè)配置項(xiàng)讓輸入上方,搜索列表在下方打開(kāi)的方式選擇還有個(gè)函數(shù)指定如何打開(kāi)浮動(dòng)窗口設(shè)置浮動(dòng)窗口打開(kāi)的位置,大小等。
fzf 是一個(gè)非常高效實(shí)用且美觀的命令行工具,并且配置有對(duì)應(yīng)的 vim 插件 fzf.vim, 相信很多人都用過(guò)。這里就不在贅述,如果你還沒(méi)有用過(guò),很推薦一試。
自從 neovim 的浮動(dòng)窗口 PR https://github.com/neovim/neovim/pull/6619 被合到 master 以后,很多插件都利用了這個(gè)特性實(shí)現(xiàn)了很多很酷的功能,比如 coc.nvim,另外 vim-which-key 和 vista.vim 也利用了這一特性 。
浮動(dòng)窗口的一個(gè)很大的特點(diǎn)就是不會(huì)像之前 split 的方式擾動(dòng)你的窗口布局,晃動(dòng)你的視線,而 fzf 也可以利用這一特性進(jìn)一步提升體驗(yàn)!
比如下面這個(gè)效果圖,我們可以讓 fzf 在中間進(jìn)行顯示,有點(diǎn)類(lèi)似于 IDEA 的搜索窗口:
要實(shí)現(xiàn)上面的效果,需要配置 3 個(gè)地方。首先是 2 個(gè)配置項(xiàng):
" 讓輸入上方,搜索列表在下方 let $FZF_DEFAULT_OPTS = "--layout=reverse" " 打開(kāi) fzf 的方式選擇 floating window let g:fzf_layout = { "window": "call OpenFloatingWin()" }
還有 1 個(gè)函數(shù)指定如何打開(kāi)浮動(dòng)窗口:
function! OpenFloatingWin() let height = &lines - 3 let width = float2nr(&columns - (&columns * 2 / 10)) let col = float2nr((&columns - width) / 2) " 設(shè)置浮動(dòng)窗口打開(kāi)的位置,大小等。 " 這里的大小配置可能不是那么的 flexible 有繼續(xù)改進(jìn)的空間 let opts = { "relative": "editor", "row": height * 0.3, "col": col + 30, "width": width * 2 / 3, "height": height / 2 } let buf = nvim_create_buf(v:false, v:true) let win = nvim_open_win(buf, v:true, opts) " 設(shè)置浮動(dòng)窗口高亮 call setwinvar(win, "&winhl", "Normal:Pmenu") setlocal buftype=nofile nobuflisted bufhidden=hide nonumber norelativenumber signcolumn=no endfunction
關(guān)于浮動(dòng)窗口的更多信息,可以 :help api-floatwin.
另外,如果你的浮動(dòng)窗口設(shè)置高亮無(wú)效,看看是否有設(shè)置 g:fzf_colors,這可能會(huì)重置浮動(dòng)窗口的高亮,有浮動(dòng)窗口的話就不用設(shè)置了。
因?yàn)檫€沒(méi)有 release, 目前要體驗(yàn)這個(gè)特性的話需要自己從 neovim master 編譯,macOS 用戶直接 安裝 HEAD 版本的 neovim 就行了。安裝好 neovim,然后進(jìn)行如上配置應(yīng)該就可以了,對(duì)于 https://github.com/liuchengxu/space-vim 用戶直接升級(jí) space-vim 即可。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/25092.html
摘要:比如下表是它可用的所有選項(xiàng)是一個(gè)函數(shù),用來(lái)創(chuàng)建自己的自動(dòng)補(bǔ)全功能。如果第一個(gè)參數(shù)是一個(gè)命令字符或一個(gè)那么它會(huì)被用作對(duì)于高級(jí)用戶,可以傳入一個(gè)字典選項(xiàng)。希望大家可以結(jié)合創(chuàng)造出更多的使用方法。 FZF and VIM 前言 fzf本身并不是一個(gè)vim 插件,本來(lái)作者只提供了基本的wrapper函數(shù)(比如fzf#run). 但后來(lái)作者發(fā)現(xiàn)很多人并不熟悉VIMScript, 所以就創(chuàng)建一個(gè)默認(rèn)...
摘要:是一個(gè)社區(qū)驅(qū)動(dòng)的模塊化配置集合,其中包含了多種功能模塊,并且針對(duì)做了功能優(yōu)化。有多種功能模塊可供選擇,用戶只需要選擇需要的模塊,就可以配置出一個(gè)適合自己的開(kāi)發(fā)環(huán)境。 SpaceVim 中文手冊(cè) showImg(https://segmentfault.com/img/remote/1460000007968382);showImg(https://segmentfault.com/im...
摘要:參考官網(wǎng)參考使用全指南安裝直接在插件管理器中其中會(huì)把命令行軟件安裝到本機(jī)的目錄中,然后在中就可以直接通過(guò)執(zhí)行來(lái)使用命令搜索文件了。使用最簡(jiǎn)單的話,直接在中輸入命令就會(huì)彈出當(dāng)前目錄下的所有文件列表,然后可以各種模糊搜索,按和上下選擇。 不同于Command-T只能用于VIM,大名鼎鼎的fzf是命令行工具,而且只在VIM中使用的話也不需要手動(dòng)去編譯任何依賴,直接用插件管理器安裝即可立馬使用...
摘要:比如,由于的一些命令,比如默認(rèn)是在當(dāng)前目錄下進(jìn)行,實(shí)際就變成了在項(xiàng)目根目錄下搜索。如果使用,那么也是必不可少。比如一個(gè)比較實(shí)用的就是用查找當(dāng)前光標(biāo)下的詞。今天就先講這么多了,下一篇可能更多講講如何配置更美觀的一些小細(xì)節(jié)。 我學(xué)習(xí)計(jì)算機(jī)不久就開(kāi)始用了 vim,到現(xiàn)在也三四年了,且算是對(duì) vim 有了一定的控制力。在這里分享一下使用過(guò)程中的一些心路歷程,說(shuō)實(shí)話,要留意的小地方有很多,但是由...
閱讀 1114·2021-09-22 15:37
閱讀 1141·2021-09-13 10:27
閱讀 2484·2021-08-25 09:38
閱讀 2456·2019-08-26 11:42
閱讀 1538·2019-08-26 11:39
閱讀 1565·2019-08-26 10:58
閱讀 2330·2019-08-26 10:56
閱讀 2578·2019-08-23 18:08