Vimプラグインのack.vim
純粋な個人記録のバックアップだけで、もし間違いがあれば、指摘を歓迎して、2018/5/13に更新します
検索は
Windowsの下でインストールする必要はありません.ripgrepプロジェクトのreleaseページでwindows-msvcバージョンの圧縮パッケージをダウンロードし、解凍してVimのインストールディレクトリの下に置くだけでいいです.例えば
以下はctrlpと同様にack.vimもVim上の検索ツールであり、主にプロジェクト内の検索に用いられ、例えば関数を検索するなど非常に便利であり、githubにもackベースのコード検索プロジェクトvim-codequeryがあるが、依存が多い.ackの上には、
次は私の構成です.
上記の構成では、最初に一致するファイルを自動的に開く場合は、次のように変更できます.
ack検索パラメータを設定する場合は、
しかし、上記はagを呼び出して検索するため、
次はQuickFixウィンドウの下にあるショートカットキーです
キーを押す
機能
?
キーボードマッピングの表示
o
ファイルを開く
O
ファイルを開いてQuickFixウィンドウを閉じる
go
ファイルをプレビューしますが、ack検索結果にフォーカスが残ります.
t
新しいタブページでファイルを開く
T
新しいタブページで開きますが、そのタブページに切り替えません.
h
画面分割
H
スクリーンは開いていますが、ack検索結果に焦点が止まります.
v
縦分割
gv
縦分割スクリーンは開いていますが、ack検索結果に焦点が止まります.
q
QuickFixウィンドウを閉じる
またackはファイル検索もサポートしており、
Windowsでack.vimを使用する必要がある場合は、ackまたはagのサポートも必要です.WindowsでインストールするにはChocolateyを使用します.インストール方法は、まず管理者権限でcmdウィンドウを開き、次のコマンドを実行します.
インストールが完了したら、ackまたはagのインストールを続行し、cmdウィンドウで次のコマンドを実行します(元のcmdウィンドウを閉じてから、cmdウィンドウを再開してインストールします)
ackをインストールする過程でStrawberryをダウンロードする必要があります.過程が遅くなります.辛抱強く待ってください.agのインストール方法は似ています.また、Win 7についてはデフォルトのPowerShellバージョンが2.0であり、Chocolateyについては3.0以上のバージョンが必要であるため、Win 7についてはPowerShellを更新する必要があり、具体的な方法はPowerShellをアップグレードする方法を参照することができる
検索は
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をアップグレードする方法を参照することができる