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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ybrliiu
March 24, 2023
Technology
5.3k
0
Share
AstroNvim を使おう!
YAPC::Kyoto 2023 前日祭のLTマッチで使用した資料です
ybrliiu
March 24, 2023
More Decks by ybrliiu
See All by ybrliiu
これまでと、これからのPerlコミュニティ
ybrliiu
0
180
Perlでも関数の型をチェックしたい
ybrliiu
0
3.7k
Perl5.32の新機能
ybrliiu
0
190
Vue.jsで作ったサイトをバニラJSで書き直す悲しいお話
ybrliiu
1
1.2k
Perlにおける動的なモジュールロードのメリットとデメリット
ybrliiu
0
910
黒魔術で独自定義のenum型制約を満たす値のリ ストを取得する話
ybrliiu
0
450
Perlにおけるクラスの実装パターン.pdf
ybrliiu
0
1.8k
Presentation.pdf
ybrliiu
0
290
ぼくがPerlで開発を行う時に工夫していること
ybrliiu
0
580
Other Decks in Technology
See All in Technology
ServiceによるKubernetes通信制御ーClusterIPを例に
miku01
1
160
OWASP APTSを眺めてみた
su3158
0
130
全社統制を維持しながら現場負担をどう減らすか〜プラットフォームチームとセキュリティチームで進めたSecurity Hub活用によるAWS統制の見直し〜/secjaws-security-hub-custom-insights
mhrtech
1
440
拝啓、あの夏の僕へ〜あなたも知っているApp Runnerの世界〜
news_it_enj
0
240
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
100k
AI-Assisted Contributions and Maintainer Load - PyCon US 2026
pauloxnet
1
120
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8k
セキュリティ対策、何からはじめる? CloudNative環境の脅威モデリングと リスク評価実践入門 #cloudnativekaigi
varu3
5
830
続 運用改善、不都合な真実 〜 物理制約のない運用改善はほとんど無価値 / 20260518-ssmjp-kaizen-no-value-without-physical-constraints
opelab
1
140
Shiny New Tools Won't Fix Your Problem
trishagee
1
120
SLI/SLO、「完全に理解した」から「チョットデキル」へ
maruloop
5
440
AI時代の品質はテストプロセスの作り直し #scrumniigata
kyonmm
PRO
4
1.5k
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
220
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
A Tale of Four Properties
chriscoyier
163
24k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Speed Design
sergeychernyshev
33
1.6k
Music & Morning Musume
bryan
47
7.2k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
370
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
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 から離れていた方や使ったこともない方も一度試してみてはど うでしょうか
モバイルファクトリーはプログラミングが好き なエンジニアを募集しています!