Vimプラグインのack.vim


純粋な個人記録のバックアップだけで、もし間違いがあれば、指摘を歓迎して、2018/5/13に更新します
検索はripgrep ackに変更されており、ripgrepはRustで書かれた次世代検索エンジンで、現在最も速い検索エンジンと呼ばれており、ackでripgrpを呼び出して検索する方法は以下の通りである.
"  rg    
if executable('rg')
  let g:ackprg = 'rg --vimgrep'
endif
debianにripgrepをインストールする方法は次のとおりです.
$ curl -LO https://github.com/BurntSushi/ripgrep/releases/download/0.8.1/ripgrep_0.8.1_amd64.deb
$ sudo dpkg -i ripgrep_0.8.1_amd64.deb

Windowsの下でインストールする必要はありません.ripgrepプロジェクトのreleaseページでwindows-msvcバージョンの圧縮パッケージをダウンロードし、解凍してVimのインストールディレクトリの下に置くだけでいいです.例えばC:\Program Files (x86)\Vim\vim80ディレクトリです.その他の構成は以前と同じです.変更する必要はありません.
以下はctrlpと同様にack.vimもVim上の検索ツールであり、主にプロジェクト内の検索に用いられ、例えば関数を検索するなど非常に便利であり、githubにもackベースのコード検索プロジェクトvim-codequeryがあるが、依存が多い.ackの上には、The Silver Searcherベースのforkバージョンag.vimがあり、ackよりも高速ですが、機能はackほど豊富ではありません.16年の間にdeprecatedされていました(同じThe Silver Searcherベースのvim-agsもあります).またackはagを呼び出して検索することも許可されています.そのため、ackを使用するには、まずシステムにThe Silver Searcherをインストールし、Debianで実行する必要があります
$ sudo aptitude install ack silversearcher-ag

次は私の構成です.
"ack
"c    ,               "
map c :Ack! 
"  ag    
if executable('ag')
  let g:ackprg = 'ag --vimgrep'
endif
"       
let g:ackhighlight = 1
"           15
let g:ack_qhandler = "botright copen 15"
" QuickFix         ,    QuickFix  
let g:ack_autoclose = 1
"  ack     ,                    ,    1,    , 0               
let g:ack_use_cword_for_empty_search = 1
"      ,                   
"let g:ack_use_dispatch = 1

上記の構成では、最初に一致するファイルを自動的に開く場合は、次のように変更できます.
map c :Ack 

ack検索パラメータを設定する場合は、g:ack_default_optionsを使用してカスタマイズできます.デフォルトパラメータは「-s-H-nocolor-nogroup-column」です.したがって、検索結果を大文字と小文字に区別するには、次のように設定できます.
let g:ack_default_options = " -s -H --nocolor --nogroup --column --smart-case"

しかし、上記はagを呼び出して検索するため、g:ack_default_optionsは失効し、カスタマイズする検索パラメータはg:ackprgに書かなければならない.同様に--smart-caseを追加する例である.
let g:ack_prg = "ag --vimgrep --smart-case"

次はQuickFixウィンドウの下にあるショートカットキーです
キーを押す
機能
?
キーボードマッピングの表示
o
ファイルを開く
O
ファイルを開いてQuickFixウィンドウを閉じる
go
ファイルをプレビューしますが、ack検索結果にフォーカスが残ります.
t
新しいタブページでファイルを開く
T
新しいタブページで開きますが、そのタブページに切り替えません.
h
画面分割
H
スクリーンは開いていますが、ack検索結果に焦点が止まります.
v
縦分割
gv
縦分割スクリーンは開いていますが、ack検索結果に焦点が止まります.
q
QuickFixウィンドウを閉じる
またackはファイル検索もサポートしており、:AckFileを使えばいいのですが、私は一般的にctrlpとagを組み合わせてファイルを検索しています.具体的にはVimプラグインのctrlpを見ることができます.
Windowsでack.vimを使用する必要がある場合は、ackまたはagのサポートも必要です.WindowsでインストールするにはChocolateyを使用します.インストール方法は、まず管理者権限でcmdウィンドウを開き、次のコマンドを実行します.
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

インストールが完了したら、ackまたはagのインストールを続行し、cmdウィンドウで次のコマンドを実行します(元のcmdウィンドウを閉じてから、cmdウィンドウを再開してインストールします)
choco install ack 

ackをインストールする過程でStrawberryをダウンロードする必要があります.過程が遅くなります.辛抱強く待ってください.agのインストール方法は似ています.また、Win 7についてはデフォルトのPowerShellバージョンが2.0であり、Chocolateyについては3.0以上のバージョンが必要であるため、Win 7についてはPowerShellを更新する必要があり、具体的な方法はPowerShellをアップグレードする方法を参照することができる