問題タブ [ack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vim - Vim コマンドで % および # 文字をエスケープするにはどうすればよいですか?
私は Ack ( https://github.com/mileszs/ack.vim ) を--literal
フラグ付きで使用して、Vim でプロジェクトを検索しています。%
または#
文字を含む文字列を検索するたびに、検索が期待どおりに一致しないことに気付きました。いくつかの調査を行ったところ、Vim がコマンドでこれらの文字を展開するためであることがわかりました (%
は現在のファイルであり#
、何か他のものであることがわかりません)。
これらのシンボルがコード内でかなり頻繁に出てくることを考えると、これは検索を実行するときのかなり迷惑な動作です。検索が期待どおりに機能するように、できれば自動的にそれらをエスケープする方法はありますか? 私の現在のマッピングは次のとおりnnoremap <leader>al :Ack --literal<space>
です。
例
CSS ファイルのどこかにセレクター#body
があり、それを見つけたいとします。これらは私が試したことです(うまくいきませんでした):
ここでエスケープが通常どおり機能しない理由、またはこれが何を探しているのかについてのアイデアはありますか? これらの例は何にも一致しませんでした。
解決
文字をダブルエスケープすることで機能するようになりました。たとえば、結果ウィンドウのステータスラインに:Ack --literal "\\#body"
表示され、期待される結果が表示されます。:ack -H --nocolor --nogroup --column --literal "#body"
引用符も必要なようです。
ack - タイプ「.min.js」のファイルを除外する確認を取得します
その場で JavaScript ファイルを縮小し、既存のファイルの横に .min.js ファイルを生成します。ack を使用すると、これらが .js ファイルとして扱われ、縮小された JavaScript が結果画面に散らばって検索されるため、これは問題です。
これを .ackrc に追加しようとしましたが、うまくいきませんでした:
このタイプの拡張子を無視する ack を取得する方法はありますか?
PS .min.js を .min_js またはその他のバリエーションに単純に名前を変更するオプションはありません。
mysql - 一般に、ファイルを grep するか、blob を介して SQL LIKE %x% クエリを実行すると、どちらが高速ですか?
コード スニペットを PostgreSQL/MySQL データベースまたはファイル システムに保存するツールを設計しているとします。これらのスニペットを検索したいと思います。Sphinx のような検索エンジンを使用することは、コードを検索するときにコードの正確なテキスト一致が必要なため、実用的ではないようです。
grep
そしてack
、常にうまく機能していますが、データベースにデータを保存すると、特定の方法でデータの大きなコレクションがより管理しやすくなります。grep
ディレクトリのツリーを再帰的に実行することの相対的なパフォーマンスは、SQL の LIKE や MySQL の REGEXP 関数のようなクエリを TEXT blob を持つ同等の数のレコードに対して実行することと比較してどうなるのでしょうか。
regex - ack-grepを使用した複数のパターン?
私がgrepで慣れているように、パターンをack(Linuxの一部のディストリビューションではack-grep)でチェーンすることは可能ですか(そしてどのように)?
例えば
...すべての行を「foo」と一致させますが、「bar」は一致させません。
vim - (janusを使用して)vimのプロジェクトからファイルとディレクトリを除外するにはどうすればよいですか?
私はTextmateからvim(janusを使用)に移行しており、特にAckからいくつかのディレクトリ、およびNERDTreeを除外したいと考えています。
これを実行したい理由は、マーシャリングされたdbデータ(多くのサブディレクトリと数十万のファイルを含む)でいっぱいのディレクトリを含む私の大きなプロジェクトの1つでは、Ackが役に立たない(実行に数分かかり、結果が生成されない)ためです。
NERDTreeから(ディレクトリではなく)ファイルを除外する方法と、CommandTからパターンを除外する方法を知っています。これらのどちらも私のAckの問題を解決しません。
私は完全なvimn00bです。読んでくれてありがとう。
regex - 正規表現で確認する-単純なクエリとの混同
正規表現でack-is-better-than-grep(ack)を使用して、コードリポジトリ内の行とスニペットを検索しようとしています。私の理解では、ackはPerl派生の正規表現を使用していますが、それは正しいですか?
ただし、これらのクエリがどのように機能するかはわかりません。
彼らは異なる出力を与えることができますか?もしそうなら、なぜですか?
編集:私のテストでは、それらは異なる結果を出力します(たとえば、最初のテストは他のテストよりも多くの一致を出力します)。また、同じ行のさまざまな部分を強調表示します。
編集2:出力の違いは明らかにハイライト(出力の色)に関連しています。上記のコマンドの出力で実行ack
した場合、同じであることに気づきました。--nocolor
どうやらack
デフォルトの色で実行すると、出力の一部が私のマシン/構成で見えなくなります。Ubuntu11.04のbashからGNOMEターミナルで実行しています。
windows - Windowsのpowershellでackを使用してファイル内の「<」を検索する方法は?
「<」文字をエスケープする方法がわかりません。また、「指定されたファイルが見つかりません」というエラーが表示されて混乱しています。誰でも助けることができますか?
Windows XP の powershell で ack を使用しています。
質問ack-grep: chars escapingは私のものと非常に似ていますが、その質問に対して提供および受け入れられた解決策は私にはうまくいきません。
git - Ack は git フック スクリプトのパターンと一致しません
ローカル ファイルへのパスを含むコミットを禁止する目的で、git pre-commit フックを作成しました。多くの場合、git ユーザーは、コミットしてプッシュする前に、ローカル パスをサーバーに関連するパスに置き換えるのを忘れます。これが発生するたびに、多くの時間が無駄になります。
正規表現は、指定したファイルを使用して CLI で ack が呼び出されると正常に動作しますが、フック スクリプト内から呼び出されるとテキストの一致を拒否します。おそらくエコーが原因であるか、問題は改行/改行に関連していると思います。
私のスクリプト:
これにより、次のように git diff に表示されるように、新しいパスが追加されたコミットが防止されるはずです。
ただし、次のようにコメントアウトされたパスを受け入れる必要があります。
スクリプトがコメント解除されたローカル パスを正しく検出しないのはなぜですか?
objective-c - ack に .pbxproj ファイルを含めるには?
ack
Xcode プロジェクト内を検索するときにインクルードproject.pbxproj
ファイルを作成するにはどうすればよいですか?
search - Vim内でackで検索した時の検索状況を表示する
vim 内で ack を使用して検索するときに、検索ステータスを表示する方法はありますか? もしかしてパーセンテージ?