サクラエディタで使える改行コードについて解説!改行コードと「正規表現」とは?
- システム
エンジニア - サクラエディタの使い方が知りたいです。
- プロジェクト
マネージャー - サクラエディは日本語テキストエディタです。サクラエディタの改行コードいついて見ていきましょう。
サクラエディタについて
まず「サクラエディタ」とは、Windowsで使用することができる日本語テキストエディタです。
Windowsの既存の「メモ帳」との相違点は、メモ帳のシンプルな機能に対して、サクラエディタは自分で好きなようにカスタマイズ出来る範囲が大きいことです。特に、C++やHTMLなどに対応したカスタマイズが出来ることが一番の相違点として挙げられます。
様々な機能を持つサクラエディタですが、今回はその中でも「改行コード」についてご紹介させていただきます。
改行コードとは?
改行コードとは、ワープロ専用機やコンピュータなどで、改行を表す制御文字であると解説されています。
元々はタイプライターの改行で使われていた用語が、制御文字に使われるようになりました。現在のキーボードの英字配置がタイプライターの文字配置と同じですから、意外とコンピュータ用語はタイプライター起源のものが残っていたりします。
このため、改行コードも「CR(キャリッジリターン)」と「LF(ラインフィード)」というタイプライター用語のまま名前が残っています。
用語の解説についてはタイプライター用語になるので割愛しますが、この2つがサクラエディタでも使用されています。
詳しくは「サクラエディタで使える改行コードについて」にて紹介します。
サクラエディタで使える改行コードについて
サクラエディタで使える改行コードは3種類存在します。
「CRLF」「LF」「CR」の3種類です。
「LF」と「CR」は元々タイプライター用語であると紹介しましたが、「CRLF」は存在していませんでした。この「CRLF」はWindowsで改行すると自動的に使われる改行コードです。つまり、Windows上で動作するソフト等で改行をした場合は、基本はこのコードが使われています。
したがって、基本はサクラエディタも設定しない限り、改行は「CRLF」が使われています。
ちなみに、「CRLF」は「CR+LF」とも呼ばれています。両方の改行コードはセットで使われていますので、そのまま「CRLF」と表現されることが多く、実際にサクラエディタは「CRLF」が使用されています。
つまり、設定をすればサクラエディタでも改行をすると「CR」や「LF」の改行コードを自動的に使用する事も出来ます。
サクラエディタではこの改行コードを視覚的に確認することが出来ます。
そして、この改行コードを検索/置換することも出来ます。
3種類の改行コードについて
そもそも、なぜ改行コードが3つ存在するかという話ですが、前述したタイプライターが起源ということと、元々は「CR(キャリッジリターン)」は文頭最初にカーソルを持ってきて「LF(ラインフィード)」は下段に下がるという別々の処理を行っていました。
つまり、下段に下がって文頭にカーソルを移動させる今の改行とは違い、改行には2つの処理が必要だったのです。
コンピュータの歴史が進み、2つの処理が必要だった改行処理を1つの処理で出来るようになったとき、Microsoft社のWindowsは2動作を行っているため「CRLF」というコードを採用し、Apple社のMacは「CR」を採用し、のちの新型OSとUNIX系OSは「LF」を採用しました。
このため、現在ではOSによって、異なる3つの改行コードが存在することになったのです。
改行コードと「正規表現」
サクラエディタには「正規表現」と記述されている単語があります。
正規表現とはざっくりとした解説になりますが、サクラエディタにおいてはプログラムで使用するときに使用する記述と認識してよいでしょう。
サクラエディタではいくつもの正規表現が取り扱われていますが、今回は改行コードのみ記述します。
対応する改行コードと正規表現は以下のテーブルに記載します。
改行コード | 正規表現 |
---|---|
CRLF | \r\n |
LF | \n |
CR | \r |
正規表現を使った小技
サクラエディタで改行コードは視覚的に確認が出来ると上記で記載しましたが、サクラエディタにて改行を行うと、その改行マークが改行コードごとに違うからです。
視覚的に違うため、改行コードの検索が行なえます。
「CRLF」は「\r\n」、「LF」は「\n」、「CR」は「\r」と検索すれば、該当する改行コード部分の色が変わります。色は設定によって変わりますが、初期状態で行う場合は黄色に色付けされています。
検索する場合は、検索ボックスを表示させたときに「正規表現」というチェックボックスがありますので、そのチェックボックスにチェックを入れて検索を行いましょう。
そして、検索が出来るということは置換も出来ます。
置換方法も検索する場合と同じです。
置換ボックスを表示させたときに「正規表現」というチェックボックスがありますので、そのチェックボックスにチェックを入れて、置換前の改行コードと置換後の改行コード、または文字を入力します。すると、改行コードが指定したものに変更されます。
かなり極端な例ですが、上記2つの方法を使って「プログラムの中で改行コードを入力して、出力したデータの中にそれぞれ違う改行コードが混じってしまったので、緊急的に修正を行いたい」という場合でも、該当する改行コードを検索、および修正することが出来ます。
改行コードを指定して保存する
「正規表現を使った小技」で改行コードを検索/置換出来る方法を紹介しましたが、サクラエディタでは改行コードを指定して保存することが出来ます。
保存するときに、ファイル名を付けるダイアログボックスが表示されますが、その左下に「改行コード」と記載されているドロップダウンリストが存在します。
初期設定では「変換なし」になっています。
この「変換なし」は文字通り指定されていませんので、改行コードは入力されたまま保存されます。
例えば、初期状態のまま改行コードが「CRLF」で入力している状態で、改行コードが「LF」のデータをコピーしてきて貼り付け、更に改行コードが「CR」のデータをコピーしてきて貼り付けて保存した場合、この3種類の改行コードが混在するデータが出来上がります。
なお、実際にこの状態で保存しようとすると、サクラエディタは改行コードが混在しているため、「CRLFに統一しますか?」と確認ダイアログを出してくれます。混在データで保存する場合は、このダイアログが出てきた場合「いいえ」を押して保存しましょう。混在データで保存することが出来ます。
※ただし混在したままデータを保存する場合は、筆者が実際に確認するために保存したときに、改行のみのデータで、なおかつ2行ずつ改行コードが違うデータという状況で保存しました。その結果、「CRLF」の改行コードは問題ありませんでしたが、「LF」と「CR」では1行減る現象を確認しましたので、正確なデータの保存を求められる場合は保証出来ない保存方法です。(サクラエディタ Ver. 2.2.0.1にて確認)
この「変換しない」を「CR+LF」「LF(UNIX)」「CR(Mac)」に変更して保存すると、改行がそれぞれ「CRLF」「LF」「CR」の改行コードになりますので、改行コードを統一して保存することができます。
例えば「LF」「CR」が混在するデータを保存する時に「CRLF」で保存した場合、すべての改行コードが「CRLF」で保存されます。もちろん「CRLF」の改行コードデータを別の改行コードで保存することも可能です。
- システム
エンジニア - サクラエディタの改行コードはCRLF・LF・CRの3種類があるんですね。
- プロジェクト
マネージャー - 実際に自分でコードを書いてサクラエディタを覚えていきましょう。
まとめ
ここまで、サクラエディタの改行コードについて記載させていただきました。
サクラエディタが使える正規表現は改行コードだけでありませんし、無料のテキストエディタですが、かなり様々な機能が備わっています。
是非自分の使いやすいようにカスタマイズして、趣味やお仕事などに役立ててください。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
新着案件New Job
-
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅) -
遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅) -
病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅) -
開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅) -
債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅) -
PMO/東京都豊島区/【WEB面談可】/在宅勤務
月給55万~55万円東京都豊島区(池袋駅)