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

このコミットが含まれているのは:
守矢諏訪子 2024-02-01 17:17:53 +09:00
コミット 4d0d6c9b60
5個のファイルの変更335行の追加37行の削除

ファイルの表示

@ -3,13 +3,120 @@
<id>gemini://technicalsuwako.moe</id>
<title>テクニカル諏訪子</title>
<updated>2024-01-30T00:00:00Z</updated>
<updated>2024-01-31T00:00:00Z</updated>
<author><name>テクニカル諏訪子</name></author>
<link href="gemini://technicalsuwako.moe" rel="alternate"></link>
<entry>
<id>blog/neovim-code-template.gmi</id>
<author><name>凜</name></author>
<title type="html">【Neovim】テンプレートと作り方</title>
<published>2024-01-31T00:00:00Z</published>
<category term="jp"></category>
<category term="blog"></category>
<category term="neovim"></category>
<category term="開発"></category>
<category term="プログラミング"></category>
<category term="linux"></category>
<category term="bsd"></category>
<category term="freebsd"></category>
<category term="openbsd"></category>
<category term="zig"></category>
<category term="c言語"></category>
<category term="php"></category>
<category term="go言語"></category>
<link href="gemini://technicalsuwako.moe/blog/neovim-code-template.gmi" rel="alternate"></link>
<content type="html">
&lt;p&gt;&lt;a href=&#34;/blog/zig-gengo-1.xhtml&#34;&gt;Zigの使い方第部を投稿した後、この言語を辞めました。&lt;/a&gt;&lt;br /&gt;
理由は自由にフォーマット出来なかった事です。&lt;br /&gt;
しかし、解決方法を見つけましたが、それが結構面倒くさいと思います:&lt;/p&gt;
&lt;pre&gt;&lt;code lang=&#34;&#34;&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;// zig fmt: off
&lt;/span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;// vim: set ts=2 sts=2 sw=2 et:
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;各「.zig」ファイルで上記のコメントを自分で貼る事が必要為、「neovimは自動で追加されたら良いなぁ」と思ったら、やっぱりそれが可能です&lt;/p&gt;
&lt;h2 id=&#34;confignviminitlua&#34;&gt;~/.config/nvim/init.lua&lt;/h2&gt;
&lt;pre&gt;&lt;code lang=&#34;&#34;&gt;vim.api.nvim_exec(&lt;span style=&#34;color:#b44&#34;&gt;[[
&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt; autocmd BufNewFile *.zig 0r ~/.config/nvim/template.zig
&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;]]&lt;/span&gt;, &lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;false&lt;/span&gt;)
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;confignvimtemplatezig&#34;&gt;~/.config/nvim/template.zig&lt;/h2&gt;
&lt;pre&gt;&lt;code lang=&#34;&#34;&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;// zig fmt: off
&lt;/span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;// vim: set ts=2 sts=2 sw=2 et:
&lt;/span&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;const&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;std&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#a2f&#34;&gt;@import&lt;/span&gt;(&lt;span style=&#34;color:#b44&#34;&gt;&amp;#34;std&amp;#34;&lt;/span&gt;);&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#bbb&#34;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;それで、毎回「&lt;code lang=&#34;&#34;&gt;nvim ほげほげ.zig&lt;/code&gt;」で使って新しい「.zig」ファイルを作ったら、自動で上記の行列を追加されます。&lt;br /&gt;
これを好みでしたので、他の言語のテンプレートを作りました。&lt;/p&gt;
&lt;h2 id=&#34;confignviminitlua-1&#34;&gt;~/.config/nvim/init.lua&lt;/h2&gt;
&lt;pre&gt;&lt;code lang=&#34;&#34;&gt;&lt;span style=&#34;color:#080;font-style:italic&#34;&gt;-- テンプレート&lt;/span&gt;
vim.api.nvim_exec(&lt;span style=&#34;color:#b44&#34;&gt;[[
&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt; autocmd BufNewFile *.c 0r ~/.config/nvim/template.c
&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt; autocmd BufNewFile *.cc 0r ~/.config/nvim/template.cc
&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt; autocmd BufNewFile *.h 0r ~/.config/nvim/template.h
&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt; autocmd BufNewFile *.hh 0r ~/.config/nvim/template.hh
&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt; autocmd BufNewFile *.go 0r ~/.config/nvim/template.go
&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt; autocmd BufNewFile *.md 0r ~/.config/nvim/template.md
&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt; autocmd BufNewFile *.zig 0r ~/.config/nvim/template.zig
&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt; autocmd BufNewFile *.php 0r ~/.config/nvim/template.php
&lt;/span&gt;&lt;span style=&#34;color:#b44&#34;&gt;]]&lt;/span&gt;, &lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;false&lt;/span&gt;)
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;templatec&#34;&gt;template.c&lt;/h3&gt;
&lt;pre&gt;&lt;code lang=&#34;&#34;&gt;&lt;span style=&#34;color:#080&#34;&gt;#include&lt;/span&gt; &lt;span style=&#34;color:#080&#34;&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#080&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#080&#34;&gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;templatecc&#34;&gt;template.cc&lt;/h3&gt;
&lt;pre&gt;&lt;code lang=&#34;&#34;&gt;&lt;span style=&#34;color:#080&#34;&gt;#include&lt;/span&gt; &lt;span style=&#34;color:#080&#34;&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#080&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#080&#34;&gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;templateh&#34;&gt;template.h&lt;/h3&gt;
&lt;pre&gt;&lt;code lang=&#34;&#34;&gt;&lt;span style=&#34;color:#080&#34;&gt;#ifndef _H
&lt;/span&gt;&lt;span style=&#34;color:#080&#34;&gt;#define _H
&lt;/span&gt;&lt;span style=&#34;color:#080&#34;&gt;&lt;/span&gt;
&lt;span style=&#34;color:#080&#34;&gt;#endif
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;templatehh&#34;&gt;template.hh&lt;/h3&gt;
&lt;pre&gt;&lt;code lang=&#34;&#34;&gt;&lt;span style=&#34;color:#080&#34;&gt;#ifndef _HH
&lt;/span&gt;&lt;span style=&#34;color:#080&#34;&gt;#define _HH
&lt;/span&gt;&lt;span style=&#34;color:#080&#34;&gt;&lt;/span&gt;
&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#00f&#34;&gt;i&lt;/span&gt; {
&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;public&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;:&lt;/span&gt;
&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;private&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;:&lt;/span&gt;
};
&lt;span style=&#34;color:#080&#34;&gt;#endif
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;templatego&#34;&gt;template.go&lt;/h3&gt;
&lt;pre&gt;&lt;code lang=&#34;&#34;&gt;&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;package&lt;/span&gt; main
&lt;span style=&#34;color:#a2f;font-weight:bold&#34;&gt;import&lt;/span&gt; (
)
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;templatephp&#34;&gt;template.php&lt;/h3&gt;
&lt;pre&gt;&lt;code lang=&#34;&#34;&gt;&lt;span style=&#34;color:#666&#34;&gt;&amp;lt;?&lt;/span&gt;php
&lt;span style=&#34;color:#080&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span style=&#34;&#34;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以上&lt;/p&gt;
</content>
</entry>
<entry>
<id>blog/freebsd-nas-auto-backup.gmi</id>
<author><name>凜</name></author>
@ -31,7 +138,7 @@
&lt;p&gt;&lt;a href=&#34;/blog/digital-autonomy-076video-hosting.gmi&#34;&gt;先月は「076動画ホスティングの解決策」という投稿を書きました。&lt;/a&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href=&#34;/blog/digital-autonomy-076video-hosting.xhtml&#34;&gt;先月は「076動画ホスティングの解決策」という投稿を書きました。&lt;/a&gt;&lt;br /&gt;
先週の週末、このNASに4 TiBのSSDを追加しましたので、それによりGitlerと動画のストレージ容量が増大出来ました。&lt;br /&gt;
でも、バックアップならどうすれば良いですか?&lt;br /&gt;
今回はこれを解決すると思いますが、ちゃんと理解するには、まずは「076動画ホスティングの解決策」をご覧下さい。&lt;/p&gt;
@ -358,40 +465,5 @@ Linux向けウィルスも存在しますが、その数は格段に少ないで
</content>
</entry>
<entry>
<id>blog/byobu-52.gmi</id>
<author><name>凛</name></author>
<title type="html">【】byobu 5.2登場</title>
<published>2023-12-12T00:00:00Z</published>
<category term="jp"></category>
<category term="blog"></category>
<category term="ウエブ開発"></category>
<category term=""></category>
<category term="byobu"></category>
<link href="gemini://technicalsuwako.moe/blog/byobu-52.gmi" rel="alternate"></link>
<content type="html">
&lt;h2 id=&#34;heading&#34;&gt;変更&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;今度から、テクニカル諏訪子ちゃんは更新します。&lt;/li&gt;
&lt;li&gt;メモリ、ディスク、CPU温度、及びCPUプロセスがLinux、OpenBSD、及びFreeBSDに対応する様にしました。&lt;/li&gt;
&lt;li&gt;「.byobu」→「.config/byobu」、「.byoburc」→「.config/byoburc」&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;heading-1&#34;&gt;ソースコード&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://gitler.moe/suwako/byobu&#34;&gt;Gitler&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;以上&lt;/p&gt;
</content>
</entry>
</feed>

ファイルの表示

@ -2,6 +2,7 @@
# 記事一覧
=> /blog/neovim-code-template.gmi 2024年01月31日 【Neovim】テンプレートと作り方
=> /blog/freebsd-nas-auto-backup.gmi 2024年01月30日 【FreeBSD】簡単にNASの自動的にバックアップする方法
=> /blog/rice-productive.gmi 2024年01月04日 【プログラミング】生産力を増大する方法
=> /blog/anti-virus-dangerous.gmi 2023年12月25日 【セキュリティ】ウィルス対策ソフトは危険

112
gemini/blog/neovim-code-template.gmi ノーマルファイル
ファイルの表示

@ -0,0 +1,112 @@
=> /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
?>
```
以上

ファイルの表示

@ -3,6 +3,7 @@
# avatar = gemini://076.moe/static/suwako.jpg
# description = テクニカル諏訪子様のtwtxtフィード
# link = ホームページ gemini://technicalsuwako.moe
2024-01-31T00:00:00Z09:00 【Neovim】テンプレートと作り方 - gemini://technicalsuwako.moe/blog/neovim-code-template.gmi
2024-01-30T00:00:00Z09:00 【FreeBSD】簡単にNASの自動的にバックアップする方法 - gemini://technicalsuwako.moe/blog/freebsd-nas-auto-backup.gmi
2024-01-04T00:00:00Z09:00 【プログラミング】生産力を増大する方法 - gemini://technicalsuwako.moe/blog/rice-productive.gmi
2023-12-25T00:00:00Z09:00 【セキュリティ】ウィルス対策ソフトは危険 - gemini://technicalsuwako.moe/blog/anti-virus-dangerous.gmi

112
src/blog/neovim-code-template.md ノーマルファイル
ファイルの表示

@ -0,0 +1,112 @@
title: 【Neovim】テンプレートと作り方
author: 凜
date: 2024-01-31
tags: jp,blog,neovim,開発,プログラミング,linux,bsd,freebsd,openbsd,zig,c言語,php,go言語
----
[Zigの使い方第部を投稿した後、この言語を辞めました。](/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 <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
?>
```
以上