3

尊敬されているMeldとEmacs/ESSのユーザー、

私がしたこと:

  1. Emacs/ESSを使用してscript.rを作成します。
  2. another_script.rからコードのいくつかの行をプルして、script.rにいくつかの変更を加えます
  3. Emacs / ESSでanother_script.r(またはscript.r)を再度開いて、作業を続行します。

script.rにプッシュされなかったanother_script.rのすべての行は、^Mで終わります。

逆の場合もあります。プッシュ/プルされた行だけが^Mで終わります。これまでのところ、^Mが配置される場所を決定するアクションを正確に特定していません。いずれにせよ、私はまだ^ Mがいたるところにあることになり、Meldを使用した後にそれらを取得することを避けたいです!

FWIW:ディレクトリはDropboxによって同期されています。Meldの[設定]>[エンコード]タブで、テキストボックスに「utf8」と入力します。すべてのアクションは、Meld v1.5.3、Emacs v23.3.1を使用するLinux(Ubunt 12.04)で実行されます。

現在の回避策はターミナルで実行されています:dos2unix /path/to/script.rこれは^Msを取り除きます。しかし、これは必要ではないはずです。ここの誰かがこれらを回避する方法を教えてくれることを願っています。

乾杯。

4

1 に答える 1

1

ターミナルで実行cat script.r | hexdump -C | headしたところ、返された出力の中に0d 0a、新しい行のDOSフォーマットであるが見つかりました(キャリッジリターン0dの直後に改行が続きます0a)。マージされていたanother_script.riで同じコマンドを実行しましたが、Unixフォーマットを示す0anoのみが観察されました。0d 0a

これが^M行末のソースであるかどうかをさらに確認するために、script.rは上記のようにhexdump -Cを使用して変換されたことをdos2unix script.r確認し、UNIX形式に変換されました。スクリプトで^M行の終わりを生成するプロセスを複製しようとして、Meldを使用してマージを実行しました。Emacs / ESSで両方のファイルを再実行しましたが、^M行の終わりが見つかりませんでした。script.rをdosフォーマットに戻し、上記の手順を繰り返して^ M行末が再表示されるかどうかを確認する以外に、^ Mの問題は解決したと思います。これは、私には知られていないことですが、私の1つです。ファイルはdos形式でした。私の持ち帰りメッセージ:Windowsが支配的な環境では、個人のLinux環境にDOSビットが含まれていないと思い込まないでください。または行末。0d 0a0a

于 2012-12-14T12:58:15.487 に答える