15
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Insert Final Newlineの設定をしようという話

Posted at

TL;DR

ほとんどのエディタに存在するInsert Final Newlineの設定を、基本的にはしておきましょうという話です。

Why?

POSIXでLineの定義が 0個以上のNewLineでない文字と末尾のNewLineの集合 となっており、TextFileがLineの集合だからです。

ref: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206

ファイルの末尾が改行で終わっていないとCLIで diff を実行した際に \ No newline at end of file という表示が出たり cat を実行した際に以下のようにファイルの内容の右にpromptが表示されてしまったりします。

Terminal:~ user% cat foo.txt
barTerminal:~ user%

GitHubではPull RequestのFiles changed上で赤いアイコンが表示されますね。

no-newline-at-end-of-file-on-github.png

What?

おそらく皆さんが使っているエディタには "ファイルを保存した際に末尾に改行がなければ追加する" という設定があると思います。これを設定しましょう。

How?

VSCode, Emacs, Vim, IntelliJ-based IDEsの設定を記載しておきます。この4つを選んだのは私がよく使うエディタだからという理由です。

VSCode

Pasted_Image_2020_05_05_10_45.png

Emacs

(setq require-final-newline t)

Vim

デフォルトがそうなっていると思います。

IntelliJ-based IDEs

Pasted_Image_2020_05_05_10_57.png

ref

15
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?