Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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