問題タブ [line-endings]
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.
string - \nと\r\ nの違いは何ですか?
どちらも「改行」を意味しますが、どちらが使用されるのはいつですか。
git - git diff - 行末の変更を表示しますか?
エディタがソース ファイルの行末を変更しています。するとgit diff
、同じ行が 2 回表示されます。1 回目-
と 1 回+
目です。目に見える違いはありません。
git diff
この変更が実際にどのようなものであったかを示すにはどうすればよいですか?
git - 一部のファイルがcrlf、他のファイルがlfをチェックアウトするようにgitを設定するにはどうすればよいですか?
私は(とりわけ)*.wse
テキストファイルと*.sh
テキストファイルを含むgitリポジトリを持っています。行末のあるファイル*.wse
とCRLF
行末のあるファイルを常にチェックアウトするようにgitを設定するにはどうすればよいですか?*.sh
LF
java - JSch sftp Transfer Stripping Windows Line Endings
通常のFTP転送でのASCIIモードとバイナリモードの違いを理解していると思います-バイナリモードではファイルは正確にコピーされ、ASCIIモードではクライアントは行末を変更できます(Windowsからキャリッジリターンを削除する-> UNIXまたは追加する)反対方向に)。ただし、SFTP プロトコルはバイナリ モード スタイルの転送しかサポートしていないと思いました。ソース ファイルは変更されません。
ただし、JSch ライブラリを使用して Windows から UNIX にファイルをコピーすると、Windows スタイルの行末が削除されます。これらのファイルは、Windows マシン用にさまざまな方法を使用して他のユーザーによって取得されるため、これは問題です。クライアントが各改行の前にキャリッジ リターンを再度追加することは保証できません。
JSch がファイルを正確に転送するようにするためにできることはありますか? イライラするほどドキュメントが不足しているため、逐語転送を確実にするために指定できるパラメーターまたは追加の SSH プロパティがあるかどうかはわかりません。ASCII モード スタイルの変更が SFTP 標準の一部ではないのに、なぜこれがそもそも起こっているのでしょうか?
windows - プロセスバッファに^Mを表示するEmacs
現時点では、utf-8-auto
(emacs モードラインはバッファーを と報告しますutf-8-auto-dos
)CRLF
スタイルの改行を含むプロセスバッファーを持っています。複数行のテキストを aprocess-send-region
またはprocess-send-string
各行の末尾に^M
.
この問題を奇妙にしているのは、プロセスから直接プロセス バッファに書き込まれたテキストに^M
's' が含まれていないことです。
ソース テキストがどこから来ているかに違いはないようです。実際、マークされて送信された複数行の領域であっても、プロセス バッファー (含まれていない^M
) に既に表示されている場合でも、送信時にそれらが含まれます。
(複数行が Windows クリップボード インターフェイスからkillringに、または Emacs バッファーから killring に送信される場合、process-send-region のソース テキストは常に Emacs バッファー、process-send-string から取得されることに注意してください。 )
また、バッファへの着信テキストがafter-change-functions
フックによって解析されることも追加する必要があります(入力に基づいて色付けを行うため)。そのため、最後の手段regexp-replace-in-string
として、この着信テキストをそのフック関数の一部として追加します。間違っているように見えるため、それを避けるために、他に何も機能しない場合は、ハッキーなソリューションとして追加します。
補遺
バッファーのエンコード設定と、代わりに使用するプロセスを更新し、 が消えutf-8-dos
ました。utf-8-auto
^M
だから私のアプリのバッファ設定部分で、私は...
次に、これをちょうど...
そして、すべてがうまくいきました。
python - 行末とテキストファイルの読み取りと書き込み
私は、WindowsとLinux、そしておそらくMacでもテキストファイルの読み取りと書き込みを行う必要がある小さなスクリプトを書いています。スクリプトは、おそらくこれらすべてのプラットフォーム(確かにWindows)のユーザーによって、互換的に使用されます。したがって、X
Windowsでファイルに書き込んだユーザーは、スクリプトを使用してLinuxでファイルを読み取ることができます。
さまざまなプラットフォームで行末を処理できるように、どのような予防策を講じる必要がありますか、またはコードをどのように実装する必要がありますか?(読み書き)
または、これは問題ではなく、Pythonがすべてを処理しますか?
asp.net - HTML出力にスペースとしてインデントを挿入するVisual Studio
MVC Web サイト プロジェクトに Visual Studio 2010 を使用しています。私には大きな問題があり、それを解決する方法がわかりません。aspx ファイルと ascx ファイルの firebug インデントで html の出力を見ていると、同じ場所にスペースとして出力されます。ファイルの行末についてだと思いますが、修正方法がわかりません。問題についていくつかの写真を追加しています。
ブレークポイントを追加すると、スペースに赤い背景も追加されます (これは問題です) ctrl + kd を押した後にスペースを削除しようとしましたが、同じ問題が発生しました。すべてのインデントを削除すると、スペースのないページ 1 行が出力されますが、解決策にはなりません。
windows - Vim:MacとLinux^Mの問題
私はVimとGITを使用して、Linux/Ubuntuマシンでプロジェクトを開発しています。以前はWindowsを使用していました。つまり、行末はDOS形式でした。Linuxに移行した後、行末に^Mの紛らわしい/迷惑な文字が常に表示されます。ここの何人かの人々:
vimで開いたファイルで^Mの改行を「通常の」改行に変換するにはどうすればよいですか?
検索/置換を行うか、dos2unixなどのツールを使用する必要があることを提案しました。これらは良い提案ですが、バージョン管理されたプロジェクトでは、変更後にファイルに不要なコミットを追加する必要があり、とにかくそれに時間を費やす価値のない大きなタスクです。それで:
とにかくこれに対してVimを許容する方法はありますか?つまり、ファイルがDOS行末の場合、ファイルはこのように保持され、新しい改行などにそのフォーマットを使用します。
vim - Linux での DOS/Windows テキスト ファイルの読み取り
ご存じのとおり、DOS/Windows ファイルの行末は Unix/Linux の行末とは異なるため、Windows で作成したファイルを開くと、各行の後に何百もの ^M が表示されます。多くの人が、次を使用してこの問題を解決することを提案しました。
私はこれを試しましたが、うまくいきません。私が気づいた限り、ファイルを「読み取る」方法ではなく、ファイルを「保存」する方法をVimに指示するからです。私が望むのは、Linux、Windows、または MAC のいずれであっても、行末をそのまま維持し、それらを正しく読み取り、編集後に同じ形式を使用してファイルを保存することです。
何か案が?
django - django - max_length フォーム検証を行うときに Windows の行末を処理する
Windows の行末は実際には 2 文字 ( \r\n
) であるため、max_length はそれらを 2 文字として扱います。1キャラとして扱ってほしい。
これに対処する最善の方法は何ですか?行末を変換するのが最善だと思いますが、プロセスのどこでこれを行うのでしょうか?