摘要:比如,由于的一些命令,比如默認(rèn)是在當(dāng)前目錄下進行,實際就變成了在項目根目錄下搜索。如果使用,那么也是必不可少。比如一個比較實用的就是用查找當(dāng)前光標(biāo)下的詞。今天就先講這么多了,下一篇可能更多講講如何配置更美觀的一些小細(xì)節(jié)。
我學(xué)習(xí)計算機不久就開始用了 vim,到現(xiàn)在也三四年了,且算是對 vim 有了一定的控制力。在這里分享一下使用過程中的一些“心路歷程”,說實話,要留意的小地方有很多,但是由于很多不可抗(_懶_)因素,本系列并不保證還有后續(xù) :)
以下內(nèi)容適用于對 vim 有一定使用經(jīng)驗的用戶,相關(guān)的具體配置參見 space-vim。有些內(nèi)容我雖然給出了鏈接,但是可能并沒有完整貼出代碼,需要你自行查找,理解并抽取整合對自己有用的地方。
projectvim 本身并沒有 project 的概念,只有工作目錄 working directory, :echo getcwd() 可以查看當(dāng)前的工作目錄。vim-rooter 可以給 vim 引入 project 的概念,它會自動將 vim 的工作目錄切換到項目根目錄。在 vim-rooter 中,所謂 project,是指符合某些“特征”的目錄,比如有些目錄含有 Rakefile,.git 等,這些目錄就會被認(rèn)為是項目的根目錄。
有了項目根目錄以后,我們就能夠以項目為單位進行各種查找搜索等等。比如,由于 fzf 的一些命令,比如 Ag 默認(rèn)是在當(dāng)前目錄下進行,實際就變成了在項目根目錄下搜索。當(dāng)然了,也可以顯式參考 space-vim 的 fzf 配置 指定 fzf Ag 的搜索目錄:
call fzf#vim#ag(a:query, extend({ "dir": spacevim#util#RootDirectory(), "options": "--prompt="".spacevim#util#RootDirectory()."> ""}, g:fzf_layout))
spacevim#util#RootDirectory() 對 vim-rooter 進行了簡單封裝,如果存在 vim-rooter 會直接進行調(diào)用,否則會進行簡單探測是否是 git 倉庫。
fzffzf 是一個命令行的模糊查找工具,用過的人應(yīng)該知道,單就一個 CTRL-R 查找歷史就值得強烈推薦,更不必說其他各種能夠提升生產(chǎn)力的地方。如果使用 fzf,那么 fzf.vim 也是必不可少。
fzf.vim 提供的各種功能就不細(xì)談了,這里談一下可能出現(xiàn)的槽點:有人覺得 fzf.vim 的模糊查找太模糊了,候選項太多,有時候由于對模糊查找的依賴性,導(dǎo)致輸入比較隨性,反而比精確查找要輸入更多字符。
這里提幾個建議:
指定項目目錄,縮小查找范圍,比如 :FZF ~/.vim/plugged。不要上來就 :FZF 默認(rèn)在用戶目錄下查找,那自然是候選項非常多。這一點只要用 vim-rooter 就可以實現(xiàn),現(xiàn)在大都用的都是 git,一般項目都是可識別的。
指定查找內(nèi)容。比如 Ag,比如不要直接 :Ag 打開 fzf 再輸入想要查找的內(nèi)容,交互式地查詢雖然比較酷,但是一般沒有在調(diào)用時就指定查找字符串更加高效。比如一個比較實用的就是用 Ag 查找當(dāng)前光標(biāo)下的詞。
call fzf#vim#ag(expand(""), extend({ "dir": spacevim#util#RootDirectory(), "options": "--prompt="".spacevim#util#RootDirectory()."> ""}, g:fzf_layout))
升級電腦 :)。這一點我深有感觸,14 款 13 寸的 MBP 我用了好幾年,雖然內(nèi)存 16 G,但是雙核四線程還是有些捉襟見肘,使用 fzf 在用戶目錄下查找感覺還是要些時間的。但是換了 18 款 的 15 寸 MBP,六核十二線程就連用戶目錄查找都是快的飛起。
狀態(tài)欄很多人的狀態(tài)欄一開始大都只是為了看起來酷而已,我也不能免俗 :)。最早的 space-vim 狀態(tài)欄效果是仿 spacemacs ,里面顯示了各種信息。
后來狀態(tài)欄部分被提取成了一個獨立的插件 eleline.vim。隨著時間的推移,我越來越覺得顯示的很多信息其實有點多余,于是就有了下面的精簡模式。
精簡模式安裝 eleline.vim 并在 .vimrc 中設(shè)置:
let g:eleline_slim = 1
就可以使用精簡模式,只顯示 buffer number, window number, filename 還有一些插件的信息。
如果想要在精簡模式查看多一些信息的話,可以用 CTRL-G,見 :h CTRL-G。如果對默認(rèn)的 CTRL-G 不滿意,也可以參考 space-vim 對 CTRL-G 進行增強.
nnoremap:call spacevim#vim#file#CtrlG()
默認(rèn)的 CTRL-G:
"/usr/local/etc/profile.d/z.sh" 243 lines --65%--
增強后:
"/usr/local/etc/profile.d/z.sh" 243 lines --65%-- Cursor 159:1 8.6K TOT:2 [sh]異步獲取 git branch
eleline.vim 現(xiàn)在采用異步的方式獲取 git branch 信息,代碼參考了 chemzqm 的 statusline.vim。因為 chemzqm 在 V2EX 的一個帖子提到,通過系統(tǒng)調(diào)用,也就是直接依賴 vim-fugitive 獲取 git branch 可能會對啟動時間有幾十毫秒的影響。不過他可能以 neovim 為主,并沒有支持 vim8,我在他的基礎(chǔ)上加入了 vim8 的支持 :)。
更多關(guān)于 vim 的啟動優(yōu)化,有興趣可以查看 chemzqm 的這篇文章:vim 啟動速度優(yōu)化的一些經(jīng)驗 。
今天就先講這么多了,下一篇可能更多講講如何配置更美觀的一些小細(xì)節(jié)。因為我高中是學(xué)美術(shù)的,大學(xué)也在傳播學(xué)院呆過一年多,所以對審美有一定要求,對死板的界面實在看不下去 :(。
總之,happy vimming :)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/25015.html
摘要:自從的浮動窗口被合到以后,很多插件都利用了這個特性實現(xiàn)了很多很酷的功能,比如,另外和也利用了這一特性。首先是個配置項讓輸入上方,搜索列表在下方打開的方式選擇還有個函數(shù)指定如何打開浮動窗口設(shè)置浮動窗口打開的位置,大小等。 fzf 是一個非常高效實用且美觀的命令行工具,并且配置有對應(yīng)的 vim 插件 fzf.vim, 相信很多人都用過。這里就不在贅述,如果你還沒有用過,很推薦一試。 自從 ...
摘要:本文首發(fā)于姐的教程網(wǎng)種提高工作效率的操作使用技巧,授權(quán)我原創(chuàng)發(fā)布。宏使用命令重復(fù)執(zhí)行一些比較簡單的任務(wù)時非常高效,但是當(dāng)需要執(zhí)行的操作比較復(fù)雜時,宏是更理想的選擇。每執(zhí)行一次宏就會把當(dāng)前行替換成的形式并自動將光標(biāo)移到下一行。 本文首發(fā)于VV姐的vim教程網(wǎng) 7種提高工作效率的Vim操作-Vim使用技巧(6),授權(quán)我原創(chuàng)發(fā)布。 Vim一直被認(rèn)為是一種非常高效的文本編輯器,但是對于普通用戶...
摘要:前端折騰記自從換了一個鍵盤之后,對的熱情遞增,終于找一個時間,靜下心來折騰一下,在下使用著實蛋疼,不過前端開發(fā)要求不高,之前用,其實也沒用到什么牛逼的插件,將就著用吧。 前端 window vim 折騰記 自從換了一個poker鍵盤之后,對vim的熱情遞增,終于找一個時間,靜下心來折騰一下vim,在window下使用vim著實蛋疼,不過前端開發(fā)要求不高,之前用sublime,vscod...
摘要:接下來我們開始創(chuàng)建一個實例,具體配置信息如下可自行抉擇之后點擊按鈕,實例就創(chuàng)建成功了,需要等上幾分鐘。但比起網(wǎng)盤而言還是差了很多,沒有網(wǎng)盤那種變態(tài)的下載速度,不過還是可以將就著用的,你不妨試試看 115又漲價了 記得115網(wǎng)盤剛出來那會,某寶不到一百一年會員,第二年漲到接近兩百,今天直接三百了,還讓不讓我們這些窮屌絲活了,看個小姐姐就這么貴嗎?本文基于自己年費過期又不想花那么多錢的背...
閱讀 2404·2021-10-14 09:43
閱讀 2435·2021-09-09 09:34
閱讀 1601·2019-08-30 12:57
閱讀 1198·2019-08-29 14:16
閱讀 716·2019-08-26 12:13
閱讀 3201·2019-08-26 11:45
閱讀 2282·2019-08-23 16:18
閱讀 2652·2019-08-23 15:27