web-dev-qa-db-ja.com

vim + fzfでAGを有効にする方法

Vimは初めてです。 vimで最高のファジーファインダーの1つがfzfであるとオンラインで読みました。使い始めました。しかし、コマンドを書くときはいつでも:Ag ag is not found。それが何を意味するのか、またそれを修正する方法がわかりません。

7
eddard.stark

Macを使用している場合は、 ag をインストールする必要があります。

brew install the_silver_searcher

テストのための別のオプションとして fzf を使用することもできます ctrlp このマップを使用して:Filesを呼び出すには:

nnoremap <c-p> :Files<CR>

そして、:Filesを呼び出すときに ripgrep を使用できます。これには、デフォルトのFZF_DEFAULT_COMMANDを変更する必要があります。

export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow --glob "!.git/*"'

詳細については、こちらをご覧ください https://github.com/junegunn/fzf#usage

9
nbari
  1. デフォルトでは、fzfはシステムの「find」コマンドを使用します。これを変更するには、環境変数$ FZF_DEFAULT_COMMANDをサードパーティのユーティリティに変更します。これらのツールを使用する利点は、無視ファイルを監視することです。シルバーサーチャー(agなど)を使用すると、デフォルトのコマンドは次のようになります。

    _$echo $FZF_DEFAULT_COMMAND ag -l --path-to-ignore ~/.ignore --nocolor --hidden -g ""_

    使用されているFZFコマンドに関係なく、シェルでは、基準に一致するファイル名を収集しています。

  2. Fzfに加えて追加のプラグインであるFZF + Vimは、(g)vimで使用する:Agコマンドを提供します。 :Agコマンドを使用すると、ファイルのcontentsを検索できますが、:Filesコマンドはファイル名のみを検索します。

    FZF + Vimを使用するときに必要な.vimrcのカスタマイズがいくつかあります。たとえば、私が好きなTweakは、全画面検索とプレビューウィンドウで:Agを実行するオプションです(:Agではなく:Ag!を使用します)。

    command! -bang -nargs=* Ag \ call fzf#vim#ag(<q-args>, \ <bang>0 ? fzf#vim#with_preview('up:60%') \ : fzf#vim#with_preview('right:50%:hidden', '?'), \ <bang>0)

9
gregory

検索中にカーソルの下にあるファイルのプレビューウィンドウを表示するには、以下を。vimrcまたはinit.vimに追加できます。

command! -bang -nargs=* Ag
  \ call fzf#vim#grep(
  \   'ag --column --numbers --noheading --color --smart-case '.shellescape(<q-args>), 1,
  \   fzf#vim#with_preview(), <bang>0)

次に、:Ag mySearchTermを使用して、右側のプレビューで結果を確認します。

ctrl-gをマップして、便利にすることもできます。

map <C-g> :Ag

1
LeOn - Han Li