ブログ一覧へ

【Neovim】テンプレートと作り方

投稿日:2024-01-31

Zigの使い方第1部を投稿した後、この言語を辞めました。

理由は自由にフォーマット出来なかった事です。

しかし、解決方法を見つけましたが、それが結構面倒くさいと思います:

// zig fmt: off
// vim: set ts=2 sts=2 sw=2 et:

各「.zig」ファイルで上記のコメントを自分で貼る事が必要為、「neovimは自動で追加されたら良いなぁ」と思ったら、やっぱりそれが可能です!

~/.config/nvim/init.lua

vim.api.nvim_exec([[
  autocmd BufNewFile *.zig 0r ~/.config/nvim/template.zig
]], false)

~/.config/nvim/template.zig

// zig fmt: off
// vim: set ts=2 sts=2 sw=2 et:
const std = @import("std");

それで、毎回「`nvim ほげほげ.zig`」で使って新しい「.zig」ファイルを作ったら、自動で上記の行列を追加されます。

これを好みでしたので、他の言語のテンプレートを作りました。

~/.config/nvim/init.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

#include <stdio.h>

template.cc

#include <iostream>

template.h

#ifndef _H
#define _H



#endif

template.hh

#ifndef _HH
#define _HH

class i {
  public:

  private:

};

#endif

template.go

package main

import (
)

template.php

<?php

?>

以上