問題タブ [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.
windows - WindowsでのAck.vim「そのようなファイルまたはディレクトリはありません」エラー
少し前に Windows XP マシンで Ack をセットアップし、Vim で問題なく動作していました。最近何をしたかわかりませんが、今はうまくいきません。
Vim での私の問題の例を次に示します。
次のエラー メッセージを返します。
Vim でコマンドを「手動で」実行しようとすると、次のようになります。
次のメッセージを含む cmd.exe ダイアログが開きます。
まだ運がありません。
奇妙なのは、START > Run
次のコマンドに移動して入力すると、次のようになります。
それは問題なく動作し、Ack は喜んで次の場所を探します。searchterm
理解できません。Vim が cmd.exe を呼び出す方法は、私がそれを呼び出す方法とどのように異なるrun
のでしょうか。結果は、私が考えていたものと同じになるはずです。
何か案は?
更新:
「そのようなファイルやディレクトリはありません」というメッセージが表示されるのは、Ack が次の形式の ack コマンドを実行していると認識しているためです。
filename は、検索するファイルです。問題は、ファイル名を提供していないことです。そのため、検索用語が実際に検索するファイルであると考える理由がわかりません。
どういうわけか、vimはcmd.exeに引数を間違って渡しています-しかし、それがどのように行われるのかわかりません
更新 2
Vim は問題ではありません。私のバージョンの Ack が何らかの形で盗聴されているに違いありません。
cmd.exeを開いて次のように入力すると:
次に、エラーメッセージも表示されます。
ack と入力すると、次のようになります。
それから検索を開始します...何かを...誰が何を知っていますか
それは、両方の例で私が期待するものではありません。近づいてるはずなのに…
filenames - ファイル名のみに基づいてファイルを確認できますか?
ack (ack-grep としてパッケージ化されることもあります) を使用すると、次のようにして特定の文字列を含むパスを見つけることができます。
ack -g somestring
しかし、ファイル名に「somestring」が含まれるファイルのみが必要な場合はどうすればよいでしょうか?
ack - .ackrc のサブディレクトリを無視する
.ackrc を構成して、ack が test/coverage フォルダー内を検索しないようにしたいと考えています。これまでのところ、私はこれで終わった:
--ignore-dir=coverage
これは機能しますが、次のように正しくはありません。
--ignore-dir=test/coverage
問題は、後者が機能せず、テスト/カバレッジ コンテンツが検索されることです。
何か不足していますか、それともサブディレクトリを処理する準備ができていませんか?
jquery - AckにjQueryファイルを無視させるにはどうすればよいですか?
私はVim+Ack.Vimを使用していて、Jqueryファイル内のヒットを無視する方法に夢中になっています。.ackrcファイルを定義しました(以下を参照)が、暗闇の中で刺しています。
ベテランのack+ack.vimユーザーはこの問題をどのように解決しますか?
emacs - Mx find-grepでackを使用する方法は?
参考のためにここに質問を残します。主だけがその理由を知っていますが、かつてはこれがうまくいかなかったのに対し、今日はそうです。典型的な血まみれのemacs。また、通常、少し取り組んだら、それは完全な喜びです。YMMV。
これらの2つのコマンド:
と
ターミナルで非常によく似た結果を出すように私には思えます。
それでも、emacsでコマンドとして2番目を使用しようとM-x find-grep
すると、最初の場合のようにハイパーリンクして強調表示するのではなく、結果を出力するだけです。
誰が何が起こっているのか知っていますか?コマンドラインでackを使用した最初の実験では、水からfindとgrepを吹き飛ばすことが示されているため、emacsからも使用できると便利です。
regex - フィルタとしての ACK の使用
コード ベースの検索にACKを使用してきましたが、これは素晴らしいツールです。ただし、(私の意見では) 重要な制限が 1 つあります。正規表現の複数行の一致は許可されません。
その制限を克服するために、特定の式を含む一連のファイルをフィルター処理してから、2 番目の式を探して再度フィルター処理したいと思います (両方の式が同じ行にない可能性が高いと仮定して)。次のコマンドを実行しようとしましたが、成功しませんでした (何も返されません)。
そしてgrep
、.cvsディレクトリ、.svnディレクトリなどを無視して、検索をJavaファイルに制限したいので、使用したくありません(ack
デフォルトで何かが行われます)何かアイデアはありますか?
string - ack を使用して文字列 '--branch' を検索するにはどうすればよいですか?
ack では -Q オプションを使用して検索文字列内のすべての文字をエスケープできますが、使用している検索文字列が ack のオプションのように見える場合はうまくいかないようです。
文字列「--branch」のファイルのグループを検索しようとしています。だから私はこのackコマンドを試します
応答しUnknown option: branch
ます。検索文字列が解釈されるオプションとして表示されています。--branch を文字列として使用するために使用できるエスケープ文字を知っている人はいますか?
grep - Ack: 権限が拒否された出力と結果
何かを確認すると、次のような出力が得られることがよくあります。
これは何ですか?どうすれば修正できますか?
編集: これは、Ack プラグインを使用したときに MacVim 出力でのみ発生します。通常の Ack はこれを行いません。
grep - grep/ack -o コンテキストの文字 (行ではない)
私は方法を見つけようとしています
grep -o "somepattern"
それは私に次のようなものを与えます
しかし、本当にいいのは、その試合の前後に数文字 (おそらく 20 文字) あることです。
前後の行 (コンテキスト) を表示する方法があることは知っていますが、コンテキストを文字で表示する方法はありますか? 例えば
私が質問する理由は、再帰的に grep を実行し、一致する縮小されたファイルをヒットすると、ファイル全体が出力されるため、非常に煩わしいからです。