簡體   English   中英

vim + fzf.vim-在:Files中指定項目根目錄

[英]vim + fzf.vim - specify project root in :Files

我的問題是關於在fzf.vim中使用vim- projectroot

我有一個打開的鍵映射:Files項目根目錄下的:Files是這樣的

nnoremap <leader>t :ProjectRootExe Files<CR>

但是問題是它干擾了set autochdir 除非我用:e/:sp/:vsp強制進行新的會話,否則當前目錄與以前的目錄相同。

所以我想到將目錄作為這樣的:Files path的第二個參數

function Guess()
  return projectroot#guess()
endfunction

nnoremap <leader>t :Files Guess()<CR>

但是由於顯而易見的原因,我無法弄清楚我無法使用該用法。 如何在vim映射中指定它將命令與函數輸出結合在一起?

我想要的是:Files output_of_Guess()被調用。

Vim的評估規則與大多數編程語言不同。 您需要使用:execute來評估變量(或表達式); 否則,將按字面意思使用; 即Vim使用函數名稱本身作為參數。

nnoremap <leader>t :execute 'Files ' . Guess()<CR>

映射的替代方法是使用:help :map-expr ; 基本上是:execute內置到:map的變體中:

nnoremap <expr> <leader>t ':Files ' . Guess() . "\<lt>CR>"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM