AstroNvimに乗り換えました

先日、Neovimに入門しましたと書きました。

blog.hatena.ne.jp

しかし、困ったことが出ました。

数日立つとプラグインが消えていて管理が面倒くさい・・・

 

そこで出会ったのがAstroNvim。

 

github.com

これは、この前作ったような管理が楽だと感じています。

 

まだ、これからLSPだったり、copilotを設定しないと行けないというところです。

copilotの設定をしようとコマンドを入力したのだけれど、コマンドがないと怒られてしまう・・・

_aptのエラー

最近、ダウンロードをしてきたファイルをインストールしようとすると以下のエラーが出ます。

ユーザ '_apt' からアクセスできないため、ダウンロードは root でサンドボックスを通さずに行われます。

よくわからないエラーが出ました。 以下のサイトで紹介されている解決方法を試して見ました。

zenn.dev

改善することは、ありませんでした。 しかし、問題なく動作するためちょっと気持ち悪い感じになっています。

どこのサイトで見たのか忘れましたが、 インストールするファイルが安全か確認するためにキーの認証をしてるらしいのですが、そのあたりでうまく行っていないかもしれないとのことでした。

ちなみに、ChatGPTに聞いてみても解決には至りませんでした。

ls コマンドの -G コマンドに翻弄された話

先に結果から記載をすると、

  1. zshrcのaliasに ls='ls -G' となってた
  2. 知らず知らずの間に設定をしていたために、Ubuntuディストリビューションがそうなのか?Ubuntu自体で設定が変わってしまったのかと思ったがわからなかった
  3. 今流行りのchatGPTに聞いてみた
  4. 解決方法の中にzshrcの設定を見直すように書かれていたので見たら治った

という話でした。

確認したかったのはファイルのユーザーとグループを確認したかったのです。 ls -alとコマンドを入力しても、ユーザー?グループ?が消えた状態になって困ってしまいました。

最後に ls コマンドの -G オプションについて

       -G, --no-group
              詳細リスト形式の時にグループ名を表示しない

グループ名が表示されないはずでした。 そして、chatGPTをうまく使うと問題解決の時間が早くなりますね。

tmux 使い方備忘録

今回は tmux について、備忘録をまとめて行きます。

tmuxとは?

Terminal Multiplexerの略です。 1つのターミナルの中に複数のウィンドウ(仮想端末)を作成し、切り替えて使うことのできるソフトウェア。

まずは、Prefix keyを確認

tmuxはPrefix keyを使って操作を行います。 デフォルトでは、「Ctrl + b」が割当されています。 Prefix keyを変更しているときに確認する方法。 私の環境では設定がいつの間にか変わっていたので確認から行いました。

$ tmux show-options -g prefix

参考にしたサイト:

qiita.com

他にもPrefix keyを常時表示する方法などが記載されています。

基本的な使い方

tmuxの起動

$ tmux

これでtmuxの起動とセッションの作成ができます。

新しいセッションの作成

$ tmux new-session

セッションの確認

$ tmux ls

セッションのアタッチ

$ tmux attach -t <セッション番号>

セッションのデタッチ

<Prefix key> + dキー

セッションの削除

$ tmux kill-session [-t <セッション番号>]

セッションを指定しない場合は、直近に使用したセッションが削除されます。

セッションの全削除

$ tmux kill-server

チートシート

このサイトが参考になりました。

qiita.com

Neovim に入門

新年あけましておめでとうございます。

 

新年ということで、新しいことを始めたいと思い立ち前からやりたかった  vim についてやっていこうと思います。

まだ、プライベートでの環境に限っての環境移行になりますが、大変勉強になったのでその備忘録を書きます。

 

なぜ Neovim にしたのか?

前々からvimで開発ができたらと考えていました。

しかし、始める前に

  • サジェスト機能が使えないのはきつい
  • サジェスト機能を使えるようにするには設定が面倒そう
  • VSCodeのようなIDEに負けない機能がほしい

以上のような機能が使えるのであれば、VSCodeのようなIDEで良いのではないか?という考えが出てしまい、なかなか進まないままでした。

最近Youtubeで動画視聴しながら勉強するのにちょうどいいものはないかと探していて、次に紹介する動画が良かったので次の動画を参考にするにあたり、Neovim でやっていくことに決めました。

Youtubeの参考動画

www.youtube.com

こちらの動画は結構詳細に説明をしていてくれてわかりやすかったです。

あと、1つの設定ファイルに設定を詰め込まずに整理されていると感じたのでこの動画を参考にしようと思いました。

 

ここまで話をしていてですが、今回の記事はこの動画で設定を参考にneovimに入門しましたという記事です。中身を詳しく追っていくのは使っていって不満があってからにしようと思っています。

そのときに新しい記事でその内容を記事にしていきたいと思います。

 

動画で紹介されてる機能の一部紹介

備忘録としてコマンドのメモを残しました。

細かい設定や説明についてはコードを読むかプラグインの説明を参照ください。

 

コメントアウトの操作

gccコメントアウトまたはコメントアウトを戻す

gc9j → カーソル位置から9行目先までコメントアウトする

 

カーソルの戻る、進む

ctrl + o → 次のカーソル位置へ

ctrl + i → 前のカーソル位置へ

 

ファイルツリー

<leader> + e ファイル構成を表示

ファイルツリーを表示 + a → ファイルを作成

 

検索

<leader> + f + f → ファイル検索

<leader> + f + s → 単語検索

 

便利機能

gf → 参照先の情報を表示

gd → 参照先のコードを表示

gi → 定義先へジャンプ

] + d → エラー箇所へジャンプ

<leader> + c + a → エラーを解決するコードアクションを表示

<leader> + d → エラーの解決方法を実施

<leader> + r + n → リネーム

 

LSP

紹介動画ではmasonを使用している。

他にも以下の記事を見たときに候補があるらしいが、今回はそのまま使用してみて様子見をしてしていこうと思います。

joker1007.hatenablog.com

 

 

 

【備忘録】neovim + lua でキーマップを無効にしたいとき

kaoru6strings.hatenablog.com

上記を参考に以下のようにしました。

 

 

今回は`s`keyが`削除して挿入モードに入るという動きをするのが邪魔だったので無効化しました。

それが以下のコードです。

(本当にあってるかわかりません。)

vim.keymap.set("n", "s", "<Nop>")

 

とりあえず、無効化できたのでOK!

typescriptで返り値に型注釈を書くか

皆様はtypescriptを書いていますか?

 

今回は型をどの頻度で書くべきかについて語りたいです。

 

型があるとメソッド名と引数、返り値の型からどんなことをしてくれるということがわかります。

そこで、IDEの恩恵もあると型を書かなくても型を推論することができます。

余計に型を書かなくてもすみます。

 

では、IDEの推論がうまくいくいく場合は型注釈しなくてもよいのか?

 

個人的にはすべて書いてあることが望ましいと考えています。

typescriptはjavascriptに変換されるときに型に関することはすべて削除されます。

なので、バンドルサイズなど気にせず型を書いても問題がないのではないか?ということです。

 

特殊な場合としてあるクラスの型推論がうまく効いている場合は省略してもいいのかもしれません。

 

テストは大事というのであれば、まず自分のコードが正しいかチェックしてくれる型を用意することから始めると良いと思います。