From db3d51ddc421dad68abddb95d01ffdab440197d6 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sun, 19 Mar 2023 03:24:43 +0900 Subject: feat(content): specify heading id --- .../index.html | 112 ++++++++++----------- 1 file changed, 56 insertions(+), 56 deletions(-) (limited to 'public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html') diff --git a/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html b/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html index 44ee689..b9455f7 100644 --- a/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html +++ b/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html @@ -62,15 +62,15 @@

-
-

TL; DR

+
+

TL; DR

違いはない。ただのエイリアス。

-
-

調査記録

+
+

調査記録

Vim の autocmd events には似通った名前のものがいくつかある。大抵は :help に説明があるが、この記事のタイトルにある2つを含めた以下のイベントには、その違いについて説明がない。

@@ -109,8 +109,8 @@

-
-

vim のソースコード

+
+

vim のソースコード

以下は、autocmd events の名前と内部で使われている整数値とのマッピングを定義している箇所である。見ての通り、上でエイリアスではないかと述べた3組には、それぞれ同じ内部値が使われている。

@@ -139,8 +139,8 @@ {"BufWritePre", EVENT_BUFWRITEPRE},
-
-

neovim のソースコード

+
+

neovim のソースコード

neovim の場合でも同様のマッピングが定義されているが、こちらの場合は Lua で書かれている。以下にある通り、はっきり aliases と書かれている。

@@ -160,59 +160,59 @@ FileEncoding = 'EncodingChanged', ところで、上では取り上げなかった FileEncoding だが、これは :help FileEncoding にしっかりと書いてある。

-
                                                           *FileEncoding*
-  FileEncoding                    Obsolete.  It still works and is equivalent
+              
                                                              *FileEncoding*
+FileEncoding                    Obsolete.  It still works and is equivalent
                                 to |EncodingChanged|.
+
+ +
+

まとめ

+

+ 記事タイトルについて言えば、どちらも変わらないので好きな方を使えばよい。あえて言えば、次のようになるだろう。 +

-
-

まとめ

-

- 記事タイトルについて言えば、どちらも変わらないので好きな方を使えばよい。あえて言えば、次のようになるだろう。 -

+
    +
  • + BufAdd/BufCreate +
      +
    • + → BufCreate は歴史的な理由により ("for historic reasons") 存在しているため、新しい方 (BufAdd) を使う +
    • +
    +
  • -
      -
    • - BufAdd/BufCreate -
        -
      • - → BufCreate は歴史的な理由により ("for historic reasons") 存在しているため、新しい方 (BufAdd) を使う -
      • -
      -
    • - -
    • - BufRead/BufReadPost -
        -
      • - → BufReadPre との対称性のため、あるいは BufWritePost との対称性のため BufReadPost を使う -
      • -
      -
    • - -
    • - BufWrite/BufWritePre -
        -
      • - → BufWritePost との対称性のため、あるいは BufReadPre との対称性のため BufWritePre を使う -
      • -
      -
    • - -
    • - FileEncoding/EncodingChanged -
        -
      • - → FileEncoding`Obsolete'' と明言されているので、`EncodingChanged を使う -
      • -
      -
    • -
    +
  • + BufRead/BufReadPost +
      +
    • + → BufReadPre との対称性のため、あるいは BufWritePost との対称性のため BufReadPost を使う +
    • +
    +
  • -

    - ところでこの調査で知ったのだが、BufReadBufWrite は上にある通り発火するタイミングが「後」と「前」で対称性がない。可能なら Pre/Post 付きのものを使った方が分かりやすいだろう。 -

    -
+
  • + BufWrite/BufWritePre +
      +
    • + → BufWritePost との対称性のため、あるいは BufReadPre との対称性のため BufWritePre を使う +
    • +
    +
  • + +
  • + FileEncoding/EncodingChanged +
      +
    • + → FileEncoding`Obsolete'' と明言されているので、`EncodingChanged を使う +
    • +
    +
  • + + +

    + ところでこの調査で知ったのだが、BufReadBufWrite は上にある通り発火するタイミングが「後」と「前」で対称性がない。可能なら Pre/Post 付きのものを使った方が分かりやすいだろう。 +

    -- cgit v1.2.3-70-g09d2