Nvuを使ってみたら・・・。その2


標準の設定のまま使ったのがいけなかったみたいだ。


設定を変更すれば、問題ないみたいだ。

  1. Nvuのメニューから[Tools] → [Preferences] を選ぶ。
  2. 左側のメニューから[General] を選ぶ。
  3. 右側の上から2番目の[When Saving or Publishing Pages] 欄で「Retain original source formatting」を選ぶ。


とりあえず、この設定で、ソースを改変せずに別名で保存して、エディタで開いてみたのだが、段下げは、クリアされなかったし、余計な改行コードだけの行が挿入されることもなかったのだが、既存の改行コードに「^M」という文字が付いていた。


改行コードを確認するために、バイナリエディタで調べてみたところ、先頭行の改行が何故か、「0A」(LF)になっていた。そのため、他の改行コードは、「0D」(CR)「0A」(LF)になっているため、「0D」(CR)部分が改行コードとして認識されていなかったみたいだ。


何故、こんなことになっているのかはわからないが、Windowsの場合、CR+LFでないとまずいので、修正することにした。


昨日のPerlスクリプトを改良して、下記のようにしてみたのだが・・・。

#! /usr/local/bin/perl
#********************************************************
# 最初の行の改行コードのみLF → CR+LFに変換するプログラム
#********************************************************

# 入出力ファイル定義部

open (IN,"software.html") || die "ファイルが見つかりませんでした。";
open (OUT,">softwar1.html");


# 処理部

while(<IN>){
          s/\n/\r\n/;
          print OUT;
      }


# 終了処理

close IN;
close OUT;


この出力結果をエディタで見てみると、最初の行にも「^M」が付いているが、これが見えている時点で駄目ということで、バイナリエディタで見て見ると、今度は、余分に、「0D」(CR)が付いている。つまり、CR+CR+LFになっている。


結局、下記のように修正し、処理したところ、うまくいった。

#! /usr/local/bin/perl
#*************************************************
# データを読み込み、別ファイルに保存するプログラム
#*************************************************

# 入出力ファイル定義部

open (IN,"software.html") || die "ファイルが見つかりませんでした。";
open (OUT,">softwar1.html");


# 処理部

while(<IN>){
          print OUT;
      }


# 終了処理

close IN;
close OUT;


本当にデータを読み込んで、別ファイルに移しているだけなのだが、これで、一応、うまくいった。(一部、気になる部分はあるが、とりあえず、問題ない。)


まだ、どこか設定が悪いのだろうか?


全然関係ないけど、バイナリコードの「09」が気になって、調べてみたら、どうやら、「TAB」だったみたいだ。