technicalsuwako.moe/gemini/blog/neovim-code-template.gmi

113 行
2.0 KiB
Plaintext
Raw Blame 履歴

このファイルには曖昧(ambiguous)なUnicode文字が含まれています

このファイルには、他の文字と見間違える可能性があるUnicode文字が含まれています。 それが意図的なものと考えられる場合は、この警告を無視して構いません。 それらの文字を表示するにはエスケープボタンを使用します。

=> /blog.gmi ブログ一覧へ
#【Neovim】テンプレートと作り方
投稿日2024-01-31
=> /blog/zig-gengo-1.gmi Zigの使い方第部を投稿した後、この言語を辞めました。
理由は自由にフォーマット出来なかった事です。
しかし、解決方法を見つけましたが、それが結構面倒くさいと思います:
```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 <stdio.h>
```
### template.cc
```cpp
#include <iostream>
```
### 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
<?php
?>
```
以上