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