Vim 的 virtualedit 與 GNU Make 內的 .PHONY

在「Writing a Book with Pandoc, Make, and Vim」這邊看到作者在講他怎麼用 Pandoc + GNU Make + Vim 寫書,不過我這邊看到兩個有趣的東西 (標題提到的那兩個),拉出來寫一下...

一個是 Vim 的 set virtualedit=all,可以不受限制的移動,等到實際編輯時再產生出對應需要的空白,這對於畫表格會方便不少:

另外一個是 GNU Make 的用法,平常我們都是在 .PHONY 裡指定實際上不會存在的 target:

.PHONY: clean
clean:
        rm -rf ./output

這邊作者提供的方式是產生一個叫做 phony 的 target,然後就不需要在 .PHONY 裡條列,而是各自在自己的 target 裡面引用 phony

.PHONY: phony
clean: phony
        rm -rf ./output

不過作者有提到效能問題:

Note that this trick can slow down huge Makefiles.

另外作者又提醒我 draw.io 這個好用的工具,之前用過幾次後就忘記了...

One thought on “Vim 的 virtualedit 與 GNU Make 內的 .PHONY”

  1. Eden says:

    分享另一個關於 Makefile .PHONY 的寫法:

    - https://unix.stackexchange.com/a/217308
    - https://clarkgrubb.com/makefile-style-guide#phony-targets

    範例:

    ```
    .PHONY: foo
    foo:
    echo "execute foo"

    .PHONY: bar
    bar:
    echo "execute bar"
    ```

Leave a Reply

Your email address will not be published. Required fields are marked *