問題タブ [icicles]
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.
emacs - Emacs: ディレクトリをナビゲートしてファイルを開くための良い戦術は何ですか?
先週、R と Perl のさまざまな IDE に対処しなければならないことに (再び) 腹を立てましたが、どちらも好きではなく、快適に使用するのに十分ではありませんでした。Emacs を試してみることにしました。この決定は、私の側に一定の不安がなければなされませんでした。私の主な用途は、Perl と cperl と R と ESS です。私の環境は Windows 7 Ultimate 64 ビットで、v23.4.1 を実行しています。これは、私に代わって ESS パッケージがインストールしたものだと思います。
ほぼ 1 週間経ちましたが、これまでのところ驚くほど痛みがなく、他のどの重要なソフトウェアよりも複雑ではありません。ctrl キーを caps-lock に再マップし、デフォルト フォルダを変更し、.emacs をいじり、自動インストール、yasnippet、color-theme、icicles などをいくつか追加しました。明らかに、非常に洗練されたものがいくつかあります。さらに、基本 Emacs の特定の機能はすぐに非常に強力で便利です。全体として、私はうれしい驚きと安心を感じています。
私が予想していたよりも粗いことの 1 つは、ファイルを見つけて開くプロセスです。さまざまなチュートリアルをざっと読んだ後、準魔法のようなファイルの場所とファイル名の自動補完のイメージが浮かびました。私のセットアップのメイン ディレクトリには、g:/roaming/code/perl または g:/roaming/code/R/ のようなパスがありますが、g:/pressuredata/support files/sector/project01/ のような完全に異なるパスに分岐する必要があることがよくあります。等々。
現在、別のフォークを取得する必要がある場合は、ファイル パスを骨の折れるまで削除してから、オートコンプリートを使用して、ファイル システムのそのブランチにさらに深く移動します。20 年前に Amiga で bash シェルを実行していたときの話に戻ります。
私は何を期待していましたか?(上記の例を使用して)「project01」と入力して、パスの下部にあるフォルダーにすぐにスキップするようなものです。何らかの理由で、Emacs がディレクトリをプリロードするという考えが頭に浮かびました。だから、これは現実的ではなかったのかもしれません。
私の推測では、私の困難はおそらく、Emacs の構造的な欠点ではなく、私自身の慣れの欠如に起因するものであり、私の質問につながります。十分なドキュメントがないことに文句を言うことはできません。むしろ無計画に散らばっている情報が豊富です。つららにも同様の問題があります-どちらかといえば多すぎます。
1) ミニバッファーでファイルを開こうとするとき、または他の方法を使用するときに、ファイルツリーのさまざまなブランチを移動するための最良の戦術は何ですか? ある場所から別の場所へのショートカットに使用できるエイリアスはありますか、またはプリロードするディレクトリを指定できますか? 人々はたくさん CD を演奏しますか? それとも、私は完全に間違った角度からこれに来ており、別の戦略を採用する必要がありますか?
2) 追加の設定により、オートコンプリートを使用して、ワイルドカードなどを前に付けることで、(たとえば) すぐ上の project01 内のファイルを検索できますか? ここでより効率的になるためには、何に焦点を当てるべきですか? つららなどのアドオンの力を利用していませんか?
これらの質問は、明確な答えがないという非推奨のカテゴリーに危険なほど近づいていることに気づきました。私の弁護は、悪い習慣や貧弱な長期的な解決策に自分自身をコミットする前に、この段階でいくつかのヒント/ガイダンスを歓迎し、その答えが切り替えを検討している可能性のある他の人に役立つと思う. 問題があれば、喜んで撤回または言い換えます。
emacs - Emacs: `load-path`を逆にするにはどうすればよいですか?
この問題は、ロードパスに子dirを追加する問題に関連して発生します。これが解決策です。残念ながら、ロードパスが元に戻っているようです。自分で直そうとしましたが、直せず助けが必要です。
だから私の質問は:どうすれば元に戻すことができますかload-path
。
私は試し(setq load-path (reverse load-path))
ましたが失敗しました-これはリストではないことを示唆してload-path
います...
編集:
ロードパスを逆にすることは確かに機能します-投稿する前に試したときに何が間違っていたのかわかりません。
私は非常に奇妙な問題のsimple.el
影に直面していますsunrise-commander.el
-それはその前にロードされるはずですが。私は思った-問題は私がロードパスにdirsを持っている順序にある-しかし今-私が逆にしたときload-path
--dirprogmodes
はそれの前にsunrise
ある-問題はまだ周りにある。困惑しています。
次に、質問を再定式化します。コアEmacsのコードの後に特定の拡張機能がロードされていることを確認するにはどうすればよいですか?
編集2:
シャドウが意味しない場合、私が思うに、私の実際の問題は、多くsunrise-commander
のicicles
キーがコアemacs関数にバインドされていることです。たとえば、私がつららを使用するときはにM-p
バインドされています
あるべきですがprevious-history-element
。同様に、私が使用するときsunrise-commander
M-u
はにバインドされています
それは本当にあるべきですがsr-history-next
。
編集3:
ああ、私はそれを解決しました!昔、私はシナプスパッケージマネージャーを介して、システム全体にemacsのものをインストールしていました。それから私は解決策を思いつきました-このように私と一緒に私のカスタマイズを持つことは不可能です。そしてその後、私はローカルのemacsとemacsパッケージを維持しています。だから私がしなければならないのは、システム全体のemacsのものをすべて削除することです。
**編集4**:
いいえ、そうではありません。それはErgoEmacsキーバインディング拡張の方法です。私がそれをコメントアウトした後、私は持っていてM-n
、M-p
でうまく働いていicicles
ます。RET
サンライズでは、司令官はまだdired関数を呼び出しますが、サンライズ関数ではありません。うまくいけば、後でそれを解決します。
emacs - Emacs: どうすれば Ms にバインドできますか?
縛りたい
M-s
emacsに?私は試した:
しかし、うまくいきません。問題は -M-s
がプレフィックス キーです。
編集2:
私は自分自身をひどく不明確にしました。にバインドしたかったswitch-to-next-frame
のM-s
です。私は試した:
うまくいきませんでしM-s-
たM-s
。私は思った-問題はM-s
プレフィックスキーであることだった。バインドを外すのに疲れましたが、うまくいきませんでした。それから私はここに来て、この質問をしました。後でわかったように、問題は私にありました.emacs
-コメントアウトするicicles
と、すべてが期待どおりに機能し始めました。
編集3:
実際には dired は実際にはM-s
プレフィックスキーを使用しています:
したがって、Ms にバインドすることは、本当に悪い考えです。
emacs - Emacs:number-or-marker-pエラー
つらら、dired、日の出の司令官、または他の人を台無しにしたときがあります-
エラーがポップアップします-そしてそれはemacsをほぼブロックします-query-find-replace
動作しません、もうありませido
ん。唯一の方法は、emacsを再起動することです。emacsにこのエラーを忘れさせる方法はありますか?
emacs - regexpによる拡張コマンド?
Emacsの場合-ミニバッファーで正規表現を使用して拡張コマンドを検索する方法はありますか?つまり、コマンドをregexpでフィルタリングしてから、IDOまたはIciclesを使用して必要なコマンドを選択します。
emacs - ミニバッファの空白モード?
whitespace-mode
ミニバッファで有効にする方法はありますか? 私はそれに固執するかどうかはわかりませんが、時にはそれが必要です. add-hook
私はすべてを試しましたM-x apropos RET minibuffer hook RET
:
しかし、うまくいきません。
emacs - デフォルトで起動時にemacsにicicle-modeをロードする
デフォルトでIcyモードがアクティブになるようにemacsを設定したいと思います。「icicles-doc1.el」で提案されているように、.emacs
ファイルの最後に次のコードを追加しました。
emacsを実行すると、*警告*バッファーが表示されます。
警告(初期化): `c:/ Users / USER / AppData / Roaming / .emacs'の読み込み中にエラーが発生しました:
ファイルエラー:ロードファイル、つららを開くことができません
通常の動作を保証するには、初期化ファイルのエラーの原因を調査して削除する必要があります。完全なエラーバックトレースを表示するには、`--debug-init'オプションを指定してEmacsを起動します。
デバッグオプションを実行すると、*Backtrace*バッファは次のようになります。
デバッガが入力されました--Lispエラー:(ファイルエラー"ロードファイルを開けません""つらら")require(icicles)eval-buffer(#nil "c:/ Users / USER / AppData / Roaming / .emacs" nil t); バッファ位置5062での読み取りload-with-code-conversion( "c:/ Users / USER / AppData / Roaming / .emacs" "c:/ Users / USER / AppData / Roaming / .emacs" tt)load( "〜/ .emacs "tt)#[0" \ 205 \ 262
.emacs
問題を引き起こしているこれらの2つの線の有無にかかわらず、つららモードは、を実行すると正常に機能するようM-x icicle-mode
です。
emacs - Emacs3つららのicicle-search-context-regexp変数を変更するにはどうすればよいですか
icicle-comint-search
で使用したいのですshell-mode
が、以前はこのようなエラー メッセージで失敗していました
もちろん、私のシェルプロンプトはzsh
その正規表現を満たしていません。B
プロンプトに合わせてicicle-search-context-regexp
経由を変更しようとしました。しかし、エラーメッセージを発行すると、再び表示されます。の変数値を調べると、再びデフォルト値にリセットされました。setq
zsh
icicle-comint-search
icicle-search-context-regexp
zsh
プロンプトに合わせて変更するにはどうすればよいですか?
search - Windows 7 の Emacs でつららを使用してファイルを検索する
質問の短いバージョン:icicles
ファイル名の部分的な一致のみが与えられた場合でも、ディレクトリとサブディレクトリ内のファイルを便利に検索するにはどうすればよいですか?
編集:簡単な答えはicicle-locate-file
、ディレクトリの最上位で使用し、プレーンタブではなく S-Tab (シフトタブ) を使用して補完を開始することです。この回答の詳細。
icicles
余談ですが、毎回、問題の(大きい)ディレクトリツリー内のファイルを探すのに10秒ほどかかっていたので、これ以降は断念しましたicicle-locate-file
。おそらく によって「収集」された一連のファイルを作成して、この遅延を回避する方法があるかもしれませんが、icicles
これを解決するための初期費用と、ファイル セットが更新されました。の作者がicicles
以下で指摘しているように、*nix のlocate
コマンドにアクセスするicicle-locate
と、 よりも高速なを使用できるようになりicicle-locate-file
ます。しかし、私は Windows で実行していて、Everything ユーティリティが機能しません。dired
それでは、バッファーに展開される IDO とブックマークの多用に戻りましょう。
==========
より長いバージョン... Emacs (24.3.1) が現在私のメインの開発環境であるため、特にファイル名の補完に関して、しばらくの間、効率を改善する方法を模索してきました。この質問に対するいくつかの優れた回答は、私が現在使用している と を示していますido-mode
。dired-x
もう 1 つの大きなお勧めは、Emacs のブックマークです。特に、バッファーをブックマークとして定義し、ミニバッファーを使用して、またはミニバッファーから呼び出すdired
ことでそれらにジャンプすること(このページは役に立ちました) は、2 つの非常に便利な戦略です。C-x r b mybook1
C-x r b
C-x C-f
言及された数人anything
とその後継者helm
。Windows 7 で動作するどちらのパッケージのファイルの場所の部分も取得できませんでした。どうやらそれらはEverythingのコマンド ライン バージョンに依存しているようですが、この質問で詳しく説明されているように、これは失敗します。答えます。*nix では問題なく動作するようですがhelm-locate
、Windows ではあまり議論されていません。そのため、ファイル名の補完のためhelm
に数えられます。anything
つららに私をもたらします。サブディレクトリでファイル検索を行うことについての質問で、質問者は「ido とつららを調べましたが、現在のディレクトリ内でのみ動作が浅いようです」とコメントしました。
これに応えて、icicles に関するコメントが寄せられました。「必要に応じて、ファイル名とパスの任意の部分に一致するシステム上の任意のファイルを検索できます」と、Icicles file name inputのページへのポインターが含まれています。つららのヘルプページに多大な労力を割いてくれたことには感謝していますが、これはあまり役に立ちませんでした。なぜなら、それは主につららの機能の説明のリストで構成されていたからです。私にとって役立つのは、ファイルを見つける方法を説明するチュートリアルです。
以下を想定してみましょう。
- Emacs 24.3.1 の Windows 7 インストールを実行しています。
- いくつかのファイルとフォルダーを含む最上位のディレクトリがあります。この場合は です
c:/iciclestest/
。 - ツリーのこのセクションのどこかに、ファイル名の一部として「grob」を含むファイルがあることを知っています。
- つららを使用してこのファイルを見つけたいです。init ファイル に
(require 'icicles)
andを入れました。(icy-mode 1)
では、出発です。スクラッチ バッファーで Emacs を起動します。Cx Cf を押します。プロンプトが表示され、左側に紫色のプラス記号が表示されます。これは、これがつららのマルチコマンドFile or directory
の 1 つであることを示していると思います。
タブを押すと、このミニフレームが表示され、現在のディレクトリの内容が表示されます。
サブディレクトリでタブをfolder1
押すと、予想どおり、つららがその内容を表示します。
名前に「grob」が含まれるファイルがいくつか表示されます。
そうです、Cg ですべてをクリアしてから、Cx Cf を再度実行します。「グロブ」と入力します。「プレフィックスの補完がありません」というメッセージが表示されます。つららが ido-mode のようなある種の気まぐれなファジー マッチングを持っていると思っていたので、これには少し驚きました。
わかりました、別のコマンドが必要かもしれません。試してみましょうM-x icicle-locate-file
。これにより、次のプロンプトが表示されます。
「grob」と入力して確認をクリックすると、以下のように新しいファイルが取得されます。
要約すると、私ができるようにしたいのは、文字列を入力してつららを動かし、その文字列を含むファイルまたはフォルダーを探すことです。私のメインの dev フォルダーには、何十ものディレクトリと何千ものファイルが含まれているため、Emacs 内ですばやく検索できると非常に便利です。
このlocate
コマンドは Windows には存在しないため、機能が制限されることはわかっていますが、ユーザーが入力した文字列に基づいて現在のディレクトリからファイルとサブディレクトリを再帰的に検索するのは簡単だと思いました。私は何が欠けていますか?私はこれを正しい方法で行っていますか?これはつららで行うことができますか?