# 🏆MVP
## Fenice Vim対応
今週も7回ほど[[🦉Fenice]]のリリースをしたが、さらに一週間前から着手してv0.15.0でリリースした機能と、その改善対応がほぼほぼを占めた。
その機能の名前は **『投稿フォームの[[Vim]]対応』** である。
![[2024-05-19-23-06-29.mp4]]
この動画では大したことはしていないが、なんとなく[[Vim]]の[[ノーマルモード]]で操作ができてそうなことは分かってもらえると思う。
今まで[[textareaタグ]]を使っていたところを、[[CodeMirror 6]] (ライブラリは[[vue-codemirror]]) を使うようにした。[[CodeMirror 6]]は[[Obsidian]]でも使っているものであり、それはすなわち **[[🦉Fenice]]は[[Obsidian]]の[[Vim]]モード相応のことはできる** ということを意味する。COOL.
見せられない情報が出てきてしまうので、動画には登場しないが、絵文字やメンションの補完機能も、以前[[vue-mention]]で実装したものよりパワーアップしている。表示が自然になり、表示残りがなくなり、速度も上がったはずだ。
やろうと思えば、メンションなどの特殊なトークンをハイライトさせることも、[[CodeMirror 6]]なら可能だろう。ただ、そこまで時間や気力がなかったのと、現時点でそのハイライトはそこまで必要ないため、今は見送った。言語的な解析が不要で、正規表現によるマッチだけで実現できるのであれば、対応もアリかもしれない。
# ✨Highlights
- [[📜2024-05-18 Neovim 0.10にバージョンアップ]]
- [[Neovim]]一本エンジニアとしては一大イベント. 思ったより楽にバージョンアップできた
- [[📕NeovimでInlay hintsを表示]]
- [[Neovim]] 0.10 から対応された機能. [[Rust]]くらいしか使わないけど一応設定しておく
- [[📝NeovimでInlay hintsの設定をしてもInlay hintsが表示されない]]
- 開いたらすぐ表示されると勘違いしており、ゴールを長い時間見過ごしていた...
- [[📝Neovim0.10にアップデートしたらlua-language-serverからUndefined global vim.の警告が出る]]
- 直接的な原因は分からなかったけど、[[neodev.nvim]]を入れるきっかけにもなったのでヨシ..!!
- [[📝neodev.nvimが有効にならない]]
- READMEちゃんと読んでいれば解決した問題だけど、ハマるときはハマるかなと
- [[📝no-neck-pain.nvimのv1.12.2ですべてのバッファを閉じるとCannot close last windowエラーになる]]
- 報告したら24時間以内に修正・リリースしてくれた!
- [[📝nvim-commentでビジュアルモードで範囲選択してgcでコマンド実行するとNoiceを利用している場合に処理が遅い]]
- いつからこの問題が起こっていたか分からないけど、コードをいじれば回避はできる. 根本解決方法はPRが作成されていたので、リアクションだけしておいた
- [[📜2024-05-18 codemirror-vimでクリップボードとyankを同期する]]
- サクっとはできず、putは対応できなかったけど、yankだけでも対応する価値はあったのでとりあえず対応した
- [[📝CodeMirrorのオートコンプリートサジェストが勝手にファジーマッチスコア順に並びかわってしまう]]
- 暗黙的なフィルタ機能の存在にしばらく気づかずハマった...
# 🚀Releases
- [[🦉Fenice]]
- [Fenice v0.21.1リリース](https://github.com/tadashi-aikawa/fenice/releases/tag/v0.21.1)
- [Fenice v0.21.0リリース](https://github.com/tadashi-aikawa/fenice/releases/tag/v0.21.0)
- 投稿フォームの編集モードとプレビューモードのデザインをほぼ統一
- [Fenice v0.20.0リリース](https://github.com/tadashi-aikawa/fenice/releases/tag/v0.20.0)
- [Fenice v0.19.0リリース](https://github.com/tadashi-aikawa/fenice/releases/tag/v0.19.0)
- 投稿フォームのプレビュー表示タイミング改善 など
- [Fenice v0.18.0リリース](https://github.com/tadashi-aikawa/fenice/releases/tag/v0.18.0)
- 投稿フォーム、[[ヤンク]]のクリップボード同期 (putは未対応) など
- [Fenice v0.17.0リリース](https://github.com/tadashi-aikawa/fenice/releases/tag/v0.17.0)
- [Fenice v0.16.0リリース](https://github.com/tadashi-aikawa/fenice/releases/tag/v0.16.0)
- [Fenice v0.15.0リリース](https://github.com/tadashi-aikawa/fenice/releases/tag/v0.15.0)
- 投稿フォームのVim対応 ([[vue-codemirror]]を使用) など
# 👑Page Ranking
| 位 | ノート | 閲覧数 | 前週 |
| --------- | ----------------------------------------------------------------------------------------------- | ------ | ---- |
| ↗️**1** | [[📝pip installするとexternally-managed-environmentエラーが出る]] | 105 | 2 |
| ↗**2** | [[📘丸3年Obsidianを利用して培ったノート戦略を体系化してみた]] | 69 | 5 |
| ️**3** | [[📘果てなきデイリーノートの旅路 with Obsidian]] | 68 | 3 |
| ↗4 | [[📘VimmerエンジニアのObsidian利用方法 ~1年半使ってみて~]] | 63 | 8 |
| ↘️5 | [[📘3ヶ月使ったHHKB StudioからHHKB Professional HYBRID Type-Sへ戻すことを本気で検討してみた]] | 62 | 4 |
# 👀Reading
## What's New in Neovim 0.10 | g.p. anders
<div class="link-card">
<div class="link-card-header">
<img src="https://gpanders.com/favicon-32x32.png" class="link-card-site-icon"/>
<span class="link-card-site-name">gpanders.com</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">What's New in Neovim 0.10 | g.p. anders</p>
<p class="link-card-description">Neovim 0.10 was the longest release cycle since the heady days of the 0.5 release. There are a ton of new features in this release (as well as some breaking changes), so be sure to check the full release notes. You can vie ... </p>
</div>
</div>
<a href="https://gpanders.com/blog/whats-new-in-neovim-0.10/"></a>
</div>
~~~
Neovim 0.10 にチャレンジするときはこれを参考に。
https://gpanders.com/blog/whats-new-in-neovim-0.10/
~~~
## 成長の為にアウトプットがなぜ必要なのか。mattn氏が語る持続的なアウトプットのススメ
<div class="link-card">
<div class="link-card-header">
<img src="https://levtech.jp/media/wp-content/themes/lv-media/favicon.ico" class="link-card-site-icon"/>
<span class="link-card-site-name">レバテックラボ(レバテックLAB)</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">成長の為にアウトプットがなぜ必要なのか。mattn氏が語る持続的なアウトプットのススメ</p>
<p class="link-card-description">『Go 言語プログラミングエッセンス』などの著書で知られるmattnさんと送る、持続的なアウトプットのススメシリース。第1回はアウトプットの習慣化についてお話いただきます。 ... </p>
</div>
<img src="https://levtech.jp/media/wp-content/uploads/2021/04/Group-1-1-e1618880312398.jpg" class="link-card-image" />
</div>
<a href="https://levtech.jp/media/article/column/detail_433/"></a>
</div>
~~~
ほぼ完全同意。メンタルも結構大事なんよなぁ。
https://levtech.jp/media/article/column/detail_433/
~~~
## 【新連載】アウトプットこそ最高のインプット。鹿野壮が語る「自分が一番トクする」アウトプットの力
<div class="link-card">
<div class="link-card-header">
<img src="https://levtech.jp/media/wp-content/themes/lv-media/favicon.ico" class="link-card-site-icon"/>
<span class="link-card-site-name">レバテックラボ(レバテックLAB)</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">【新連載】アウトプットこそ最高のインプット。鹿野壮が語る「自分が一番トクする」アウトプットの力</p>
<p class="link-card-description">本連載では第一線で活躍するITエンジニアに、キャリアに訪れた転機との向き合い方をお話しいただきます。 「技術発信の達人」であ ... </p>
</div>
<img src="https://levtech.jp/media/wp-content/uploads/2023/10/231023_lab_engineer_71.jpg" class="link-card-image" />
</div>
<a href="https://levtech.jp/media/article/column/detail_329/"></a>
</div>
~~~
アウトプットはやったことない人であればあるほど他人のためと思われがちだけど、完全に自分のため。個人的に発表当日は消化試合みたいなものです。それまでの間にメインディッシュは終わってる。
https://levtech.jp/media/article/column/detail_329/
~~~
## GPT-4o API:料金、利用方法などを完全解説
<div class="link-card">
<div class="link-card-header">
<img src="https://assets.apidog.com/static/logo/apidog-logo-256.png" class="link-card-site-icon"/>
<span class="link-card-site-name">Apidogブログ - Apiに関する先端知識を取得する</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">GPT-4o API:料金、利用方法などを完全解説</p>
<p class="link-card-description">米国時間5月13日に、新しいChatGPTモデルのGPT-4oを発表しました。以前のモデルより、GPT-4oは反応時間が倍増し、テキスト、画像、音声、ビデオをも理解できるようになりました。本文では、OpenAIの最新モデルのGPT-4oの基本情報を完全に解説した上、GPT-4o APIを利用して、それを自分のサービスにも連携する方法を紹介 ... </p>
</div>
<img src="https://assets.apidog.com/blog-ja/2024/05/gpt-4o-api.png" class="link-card-image" />
</div>
<a href="https://apidog.com/jp/blog/gpt-4o-api/"></a>
</div>
~~~
コストが半額でトークン数が2/3なら、実質1/3の価格になるのか!? 応答速度速いだけでも御の字なのに。。
https://apidog.com/jp/blog/gpt-4o-api/
~~~
## 【要約】とにかくメンタル強くしたいんですが、どうしたらいいですか?【下園 壮太】
<div class="link-card">
<div class="link-card-header">
<img src="https://www.youtube.com/s/desktop/5ee39131/img/favicon_32x32.png" class="link-card-site-icon"/>
<span class="link-card-site-name">YouTube</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">【要約】とにかくメンタル強くしたいんですが、どうしたらいいですか?【下園 壮太】</p>
<p class="link-card-description">今回のお話は!【はい!望月りんです!今回は心理カウンセラーで元陸上自衛隊の心理教官である下園 壮太さんの書かれた「とにかくメンタル強くしたいんですが、どうしたらいいですか?」を解説していき ... </p>
</div>
<img src="https://i.ytimg.com/vi/XYeQSFlM6lQ/maxresdefault.jpg" class="link-card-image" />
</div>
<a href="https://www.youtube.com/watch?v=XYeQSFlM6lQ"></a>
</div>
~~~
滅茶苦茶良かった。
https://www.youtube.com/watch?v=XYeQSFlM6lQ
まあ、たしかに平日も忙しくて、休日は別の半ば仕事みたいなのに2ヶ月弱追われていたときメンタルぶっ壊したからよく分かる。
あの時期はコロナで1人♨とか外食にも行ってなかったし、色々重なっていたんだなぁと納得した。
~~~
# 📚New Notes
- [[LSP inlay hints (Neovim)]]
- [[VeeValidate]]
- [[VimのexコマンドにObsidianのコマンドを割り当て (Obsidian)]]
- [[neodev.nvim]]
- [[rga]]
- [[shadcn-vue]]
- [[オートコンプリート (CodeMirror)]]
- [[オートコンプリートの候補選択後に処理を実行 (CodeMirror)]]
- [[オーバーレイを表示 (shadcn-vue)]]
- [[フォームがvalidかどうかの値 (VeeValidate)]]
- [[ボタンにローディング表示 (shadcn-vue)]]
- [[入力が長くなったら折り返す (CodeMirror)]]
- [[💽2024-05 更新履歴]]
- [[📕NeovimでInlay hintsを表示]]
- [[📜2024-05-18 Neovim 0.10にバージョンアップ]]
- [[📜2024-05-18 codemirror-vimでクリップボードとyankを同期する]]
- [[📝CodeMirrorのオートコンプリートサジェストが勝手にファジーマッチスコア順に並びかわってしまう]]
- [[📝Neovim0.10にアップデートしたらlua-language-serverからUndefined global vim.の警告が出る]]
- [[📝NeovimでInlay hintsの設定をしてもInlay hintsが表示されない]]
- [[📝neodev.nvimが有効にならない]]
- [[📝no-neck-pain.nvimのv1.12.2ですべてのバッファを閉じるとCannot close last windowエラーになる]]
- [[📝nvim-commentでビジュアルモードで範囲選択してgcでコマンド実行するとNoiceを利用している場合に処理が遅い]]
- [[📰2024年19週 Weekly Report]]
- [[📰2024年20週 Weekly Report]]