Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AstroNvim を使おう!
Search
ybrliiu
March 24, 2023
Technology
0
4.3k
AstroNvim を使おう!
YAPC::Kyoto 2023 前日祭のLTマッチで使用した資料です
ybrliiu
March 24, 2023
Tweet
Share
More Decks by ybrliiu
See All by ybrliiu
これまでと、これからのPerlコミュニティ
ybrliiu
0
140
Perlでも関数の型をチェックしたい
ybrliiu
0
3k
Perl5.32の新機能
ybrliiu
0
150
Vue.jsで作ったサイトをバニラJSで書き直す悲しいお話
ybrliiu
1
1k
Perlにおける動的なモジュールロードのメリットとデメリット
ybrliiu
0
810
黒魔術で独自定義のenum型制約を満たす値のリ ストを取得する話
ybrliiu
0
390
Perlにおけるクラスの実装パターン.pdf
ybrliiu
0
1.6k
Presentation.pdf
ybrliiu
0
250
ぼくがPerlで開発を行う時に工夫していること
ybrliiu
0
520
Other Decks in Technology
See All in Technology
30代からでも遅くない! 内製開発の世界に飛び込み、最前線で戦うLLMアプリ開発エンジニアになろう
minorun365
PRO
16
5.1k
更新系と状態
uhyo
8
2.2k
バクラクの認証基盤の成長と現在地 / bakuraku-authn-platform
convto
4
910
意思決定を支える検索体験を目指してやってきたこと
hinatades
PRO
0
400
Serverlessだからこそコードと設計にはこだわろう
kenichirokimura
2
220
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
150
時間がないなら、つくればいい 〜数十人規模のチームが自律性を発揮するために試しているいくつかのこと〜
kakehashi
PRO
19
3.5k
グループ ポリシー再確認 (2)
murachiakira
0
210
3D生成AIのための画像生成
kosukeito
2
590
企業が押さえるべきMCPの未来
takaakikakei
1
430
正式リリースされた Semantic Kernel の Agent Framework 全部紹介!
okazuki
1
570
LLM アプリケーションのためのクラウドセキュリティ - CSPM の実装ポイント-
osakatechlab
0
250
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
179
53k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Fireside Chat
paigeccino
37
3.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Agile that works and the tools we love
rasmusluckow
329
21k
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Typedesign – Prime Four
hannesfritz
41
2.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Transcript
AstroNvim を使おう! YAPC::Kyoto 2023 株式会社モバイルファクトリー 楠田来安(id: ybrliiu)
自己紹介 • りーう(id: _ybrliiu) • 所属 : 株式会社モバイルファクトリー • 普段はPerlで書かれたサービスの開発運
用をしていますいています
みなさん Vim 使ってますか?
Vim のいいところ • キーボードだけで操作が完結する • 作業を高速で行える機能が備わっている • IDEやGUI主体のエディタと比べて利用できる環境が多い • 様々なプラグインによって機能の拡張が可能
Vim の良くないところ • 学習コストが高い • 環境構築に時間がかかる • プラグインをたくさん追加したり設定を変更していくと管理が難しくなって いく
Neovim とは • Vim派生のテキストエディタ • Vimをベースに新しい機能を積極的に取り入れている • lua でも設定が書ける、vim scripts
より書きやすい
AstroNvim とは インストールするだけでNeovimでIDE並 の機能が使えるように、プラグインマネー ジャ、プラグイン、設定をまとめたパッケー ジ 2022/03/19 にv1.0がリリースされる
AstroNvim のいいところ • セットアップが従来の vim の開発環境構築と比較すると非常に簡単 • 開発時に欲しいプラグインはだいたい入っているので管理が楽 • ヘルプが充実しており、AstroNvim
のキーバインドになれていない人に も親切
インストール & セットアップ • 要求条件 ◦ Neovim v0.8+, Nerd Fonts
◦ ターミナルが true color をサポートしていること ◦ 必須ではないが, Tree-sitter CLI と ripgrep もあったほうが良い • 公式ドキュメントの方法に従ってインストール • :LspInstall で現在開いているファイルの言語のLSをインストール
基本的な使い方 • 基本的に space + コマンド で AstroNvim の機能を操作していく •
F7 でポップアップウィンドウでターミナル表示 • コマンドの最初の文字を入力して少し放置するとそのあとにどのような文 字を入力すればどのようなコマンドかを示すヘルプが表示されて初心者 でも使いやすい
None
None
サイドパネル(Neo-tree) • サイドパネルにはディレクトリ、ワークスペース内の開いているバッファ、 git status が表示される • space + e
でタブを表示/非表示 • space + o でサイドパネルに移動 • サイドパネルのタブは >, < で移動する
None
バッファ操作 • space + fb でバッファ一覧表示 • ウィンドウ内から選択してそのままバッファ切り替えも可能 • space
+ c で現在のバッファを閉じる • 他はだいたい普通の vim と同じ
None
検索 • ウィンドウ内で検索してそのままファイルジャンプできる • space + fo で直近で開いたファイルを検索 • space
+ ff でファイル名で検索 • space + fw で単語名で検索 ◦ 内部で ripgrep を使っているので非常に高速
None
LSP(Null-ls, Native LSP) • g + l でカーソル行の diagnostics を表示
• shift + k でホバーする • g + d で定義元へコードジャンプ • タグジャンプと同じ操作方法が使える
None
git操作(Gitsigns) • space + gt でgit status を実行 • space
+ gl でカーソル行を blame する • space + gd でgit diff して diff を表示 • space + gs でバッファをステージング • space + gb でブランチ一覧を表示 • space + gc でコミット一覧を表示 • カーソル行のハンク操作も可能
None
None
Perl開発環境の構築 • LSPの設定に関してはVSCodeとあまり変わらない • Carton で依存モジュールを管理しているプロジェクトは次のように includePaths に $workspaceFolder/lib, $workspaceFolder/local/lib/perl5,
$workspaceFolder/local/lib/perl5/darwin-thread-multi-2level を設定することで文法チェックが正しく動くようになる
None
Perl開発環境の構築 • includePaths をちゃんと設定すると syntax check, 自動補完, コードジャ ンプが有効になる •
perlcritic は Perl::Critic をインストールすると有効になる • perlimports は App::perlimports をインストールし perlimportsLintEnabled か perlimportsTidyEnabled を true に設定す ると有効にできる
Perl開発環境の構築 • LSを有効にした状態で ctags によるコードジャンプも機能する • perl auto use や
App::PRT の機能を使えるプラグインはまだないので ターミナルから頑張って実行するしかない ◦ そのうち作りたい
まとめ • AstroNvim はセットアップが簡単で初心者にも使いやすい • Perl の開発環境も VSCode とほぼ同じ環境を整えることができる •
最近 vim から離れていた方や使ったこともない方も一度試してみてはど うでしょうか
モバイルファクトリーはプログラミングが好き なエンジニアを募集しています!