1

x86_64 GNU/Linux で IBAMR モデル (没入境界問題を解決するためのコードのセット) を実行しています。スタートアップ コンフィギュレーション ファイルは、input2d と呼ばれます。vi で開くと、次のように表示されます。

"input2d" [noeol][dos] 251L、11689C

input2d を保存せずに IBAMR モデルをコンパイルすると、正常にコンパイルおよび実行されます。ただし、input2d を保存すると、次のようにコンパイラがクラッシュします。

Warning in input2d at line 251 column 5 : Illegal character token in input

明らかに、これは UNIX がファイルの最後に改行を追加することに関係しています。私の質問は次のとおりです。このファイルを dos 形式で保存し、UNIX システムの vi で末尾の改行なしで保存するにはどうすればよいですか?

4

2 に答える 2

4

vim -b <file>orを使用:set binaryして、ファイルの最後に改行を追加しないように vim に指示します。から:help binary:

ファイルを書き込むとき<EOL>、最後の行の は、元のファイルにある場合にのみ書き込まれます (通常、Vim は、<EOL>何もない場合、最後の行に を追加します。これにより、ファイルが長くなります)。'endofline' オプションを参照してください。

于 2013-02-12T21:15:59.053 に答える
0

Vim Tips で見つけたスクリプトがあります。

http://vim.wikia.com/wiki/Preserve_missing_end-of-line_at_end_of_text_files

eol がない場合は自動的に「バイナリ」を有効にしますが、ファイルの残りの部分で元の行末が保持されるようにします。

于 2015-03-09T21:49:51.113 に答える