Eshellの現在の行の内容をプログラムでコピーする正しい方法は何ですか?

I want to get the contents of the current active line in Eshell after the > or whatever you have there till the end of line (and parse it as an integer afterwards in my function), but it seems the procedure is not so trivial. I tried killing and yanking but the intricacies have overwhelmed me. Can someone please lend a hand?

0
eshell-parse-arguments 関数はインスピレーションを与えますか? M-x find-function RET eshell-parse-arguments RET
追加された 著者 lawlist,
探しているデータを分離する方法が必要です。複数の数値がある場合は、 while ループのようなものが必要です。 100.58 を含む同じ行の次のサンプル/スニペットを評価してみてください:(save-excursion(goto-char(行開始位置))(re-search-forward "[0- (バッファの部分文字列なしプロパティ(マッチ開始0)(マッチエンド0)))
追加された 著者 lawlist,
スニペットを *スクラッチ* バッファに次のような行でテストしました:こんにちは私の名前はフレッド100.58、今日はどうですかスニペットの評価は 100.58 たとえば、 Hello my 5 nameがFred 100.58であり、今日はどのように読み込まれているかの場合、スニペットを評価した結果は 5 となります。したがって、テストに使用しているテキスト行には、 100.58 の前に番号1を付ける必要があります。したがって、 while ループと、同じ行に複数の数字の出現を処理するための追加コードが必要な場合があります。 M-x eval-expression を使用すると、
追加された 著者 lawlist,
あなたの正規表現はEmacsのピリオドと一致しません。 M-x re-builder と入力して、正規表現を使って遊びます。それは私がいる真夜中であり、明日戻って確認する必要があります。良い仕事を続けてください。 。 。私の正規表現は迷い込んでしまったので、それも良いことではありません。
追加された 著者 lawlist,
私は実際には 100.58 のような非常に単純なものを扱うためのものが必要です。私は、 eshell-parse-arguments(point-at-bol)(point-at-eol)を助けることもできますが、私が使用しようとしている方法では残念です。ありがとう
追加された 著者 ShuddaBeenCodin,
それは、私が必要とするデータが無関係なものの後ろに隠されており、抽出することはそれほど明白ではないということだけです。
追加された 著者 ShuddaBeenCodin,
奇妙なことに、それは "1"、すなわちちょうど1を返します
追加された 著者 ShuddaBeenCodin,
あなたが正しい!私はシェルプロンプトで1つを持っています。愚かなことに申し訳ありません、文字列の次の番号(おそらく最後から検索)にどうやって行くのですか?
追加された 著者 ShuddaBeenCodin,
私はコードをに変更しました(setq val(save-excursion(goto-char(行末))(re-search-backward " - ?[0-9]。?[0-9] +" の後ろにたった58行しか得られません(行頭の位置)t)(バッファー部分文字列なしのプロパティー(マッチ開始0)(マッチエンド0))))
追加された 著者 ShuddaBeenCodin,
私はついにそれを正しく得ました、ありがとう@lawlist!私は試合の前で余分なチャーを得ましたが、私は簡単にそれを取り除くことができます。
追加された 著者 ShuddaBeenCodin,

答えはありません

0