title: 【Neovim】テンプレートと作り方 author: 凜 date: 2024-01-31 tags: jp,blog,neovim,開発,プログラミング,linux,bsd,freebsd,openbsd,zig,c言語,php,go言語 ---- [Zigの使い方第1部を投稿した後、この言語を辞めました。](/blog/zig-gengo-1.xhtml)\ 理由は自由にフォーマット出来なかった事です。\ しかし、解決方法を見つけましたが、それが結構面倒くさいと思います: ```zig // zig fmt: off // vim: set ts=2 sts=2 sw=2 et: ``` 各「.zig」ファイルで上記のコメントを自分で貼る事が必要為、「neovimは自動で追加されたら良いなぁ」と思ったら、やっぱりそれが可能です! ## ~/.config/nvim/init.lua ```lua vim.api.nvim_exec([[ autocmd BufNewFile *.zig 0r ~/.config/nvim/template.zig ]], false) ``` ## ~/.config/nvim/template.zig ```zig // zig fmt: off // vim: set ts=2 sts=2 sw=2 et: const std = @import("std"); ``` それで、毎回「`nvim ほげほげ.zig`」で使って新しい「.zig」ファイルを作ったら、自動で上記の行列を追加されます。\ これを好みでしたので、他の言語のテンプレートを作りました。 ## ~/.config/nvim/init.lua ```lua -- テンプレート vim.api.nvim_exec([[ autocmd BufNewFile *.c 0r ~/.config/nvim/template.c autocmd BufNewFile *.cc 0r ~/.config/nvim/template.cc autocmd BufNewFile *.h 0r ~/.config/nvim/template.h autocmd BufNewFile *.hh 0r ~/.config/nvim/template.hh autocmd BufNewFile *.go 0r ~/.config/nvim/template.go autocmd BufNewFile *.md 0r ~/.config/nvim/template.md autocmd BufNewFile *.zig 0r ~/.config/nvim/template.zig autocmd BufNewFile *.php 0r ~/.config/nvim/template.php ]], false) ``` ### template.c ```c #include ``` ### template.cc ```cpp #include ``` ### template.h ```c #ifndef _H #define _H #endif ``` ### template.hh ```cpp #ifndef _HH #define _HH class i { public: private: }; #endif ``` ### template.go ```go package main import ( ) ``` ### template.php ```php ``` 以上