Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AstroNvim を使おう!

ybrliiu
March 24, 2023

AstroNvim を使おう!

YAPC::Kyoto 2023 前日祭のLTマッチで使用した資料です

ybrliiu

March 24, 2023
Tweet

More Decks by ybrliiu

Other Decks in Technology

Transcript

  1. AstroNvim を使おう!
    YAPC::Kyoto 2023
    株式会社モバイルファクトリー 楠田来安(id: ybrliiu)

    View Slide

  2. 自己紹介
    ● りーう(id: _ybrliiu)
    ● 所属 : 株式会社モバイルファクトリー
    ● 普段はPerlで書かれたサービスの開発運
    用をしていますいています

    View Slide

  3. みなさん Vim 使ってますか?

    View Slide

  4. Vim のいいところ
    ● キーボードだけで操作が完結する
    ● 作業を高速で行える機能が備わっている
    ● IDEやGUI主体のエディタと比べて利用できる環境が多い
    ● 様々なプラグインによって機能の拡張が可能

    View Slide

  5. Vim の良くないところ
    ● 学習コストが高い
    ● 環境構築に時間がかかる
    ● プラグインをたくさん追加したり設定を変更していくと管理が難しくなって
    いく

    View Slide

  6. Neovim とは
    ● Vim派生のテキストエディタ
    ● Vimをベースに新しい機能を積極的に取り入れている
    ● lua でも設定が書ける、vim scripts より書きやすい

    View Slide

  7. AstroNvim とは
    インストールするだけでNeovimでIDE並
    の機能が使えるように、プラグインマネー
    ジャ、プラグイン、設定をまとめたパッケー

    2022/03/19 にv1.0がリリースされる

    View Slide

  8. AstroNvim のいいところ
    ● セットアップが従来の vim の開発環境構築と比較すると非常に簡単
    ● 開発時に欲しいプラグインはだいたい入っているので管理が楽
    ● ヘルプが充実しており、AstroNvim のキーバインドになれていない人に
    も親切

    View Slide

  9. インストール & セットアップ
    ● 要求条件
    ○ Neovim v0.8+, Nerd Fonts
    ○ ターミナルが true color をサポートしていること
    ○ 必須ではないが, Tree-sitter CLI と ripgrep もあったほうが良い
    ● 公式ドキュメントの方法に従ってインストール
    ● :LspInstall で現在開いているファイルの言語のLSをインストール

    View Slide

  10. 基本的な使い方
    ● 基本的に space + コマンド で AstroNvim の機能を操作していく
    ● F7 でポップアップウィンドウでターミナル表示
    ● コマンドの最初の文字を入力して少し放置するとそのあとにどのような文
    字を入力すればどのようなコマンドかを示すヘルプが表示されて初心者
    でも使いやすい

    View Slide

  11. View Slide

  12. View Slide

  13. サイドパネル(Neo-tree)
    ● サイドパネルにはディレクトリ、ワークスペース内の開いているバッファ、
    git status が表示される
    ● space + e でタブを表示/非表示
    ● space + o でサイドパネルに移動
    ● サイドパネルのタブは >, < で移動する

    View Slide

  14. View Slide

  15. バッファ操作
    ● space + fb でバッファ一覧表示
    ● ウィンドウ内から選択してそのままバッファ切り替えも可能
    ● space + c で現在のバッファを閉じる
    ● 他はだいたい普通の vim と同じ

    View Slide

  16. View Slide

  17. 検索
    ● ウィンドウ内で検索してそのままファイルジャンプできる
    ● space + fo で直近で開いたファイルを検索
    ● space + ff でファイル名で検索
    ● space + fw で単語名で検索
    ○ 内部で ripgrep を使っているので非常に高速

    View Slide

  18. View Slide

  19. LSP(Null-ls, Native LSP)
    ● g + l でカーソル行の diagnostics を表示
    ● shift + k でホバーする
    ● g + d で定義元へコードジャンプ
    ● タグジャンプと同じ操作方法が使える

    View Slide

  20. View Slide

  21. git操作(Gitsigns)
    ● space + gt でgit status を実行
    ● space + gl でカーソル行を blame する
    ● space + gd でgit diff して diff を表示
    ● space + gs でバッファをステージング
    ● space + gb でブランチ一覧を表示
    ● space + gc でコミット一覧を表示
    ● カーソル行のハンク操作も可能

    View Slide

  22. View Slide

  23. View Slide

  24. Perl開発環境の構築
    ● LSPの設定に関してはVSCodeとあまり変わらない
    ● Carton で依存モジュールを管理しているプロジェクトは次のように
    includePaths に $workspaceFolder/lib,
    $workspaceFolder/local/lib/perl5,
    $workspaceFolder/local/lib/perl5/darwin-thread-multi-2level
    を設定することで文法チェックが正しく動くようになる

    View Slide

  25. View Slide

  26. Perl開発環境の構築
    ● includePaths をちゃんと設定すると syntax check, 自動補完, コードジャ
    ンプが有効になる
    ● perlcritic は Perl::Critic をインストールすると有効になる
    ● perlimports は App::perlimports をインストールし
    perlimportsLintEnabled か perlimportsTidyEnabled を true に設定す
    ると有効にできる

    View Slide

  27. Perl開発環境の構築
    ● LSを有効にした状態で ctags によるコードジャンプも機能する
    ● perl auto use や App::PRT の機能を使えるプラグインはまだないので
    ターミナルから頑張って実行するしかない
    ○ そのうち作りたい

    View Slide

  28. まとめ
    ● AstroNvim はセットアップが簡単で初心者にも使いやすい
    ● Perl の開発環境も VSCode とほぼ同じ環境を整えることができる
    ● 最近 vim から離れていた方や使ったこともない方も一度試してみてはど
    うでしょうか

    View Slide

  29. モバイルファクトリーはプログラミングが好き
    なエンジニアを募集しています!

    View Slide