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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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.6k
Perl5.32の新機能
ybrliiu
0
190
Vue.jsで作ったサイトをバニラJSで書き直す悲しいお話
ybrliiu
1
1.2k
Perlにおける動的なモジュールロードのメリットとデメリット
ybrliiu
0
900
黒魔術で独自定義の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
[最強DB講義]推薦システム | 評価編
recsyslab
PRO
0
110
音声言語モデル手法に関する発表の紹介
kzinmr
0
130
AIはハッカーを減らすのか、増やすのか?──現役ホワイトハッカーから見るAI時代のリアル【MEGU-Meet】
cscengineer
PRO
0
200
需要創出(Chatwork)×供給(BPaaS) フライホイールとMoat 実行能力の最適配置とAI戦略
kubell_hr
0
850
MLOps導入のための組織作りの第一歩
akasan
0
370
扱える不確実性を増やしていく - スタートアップEMが考える「任せ方」
kadoppe
0
320
国内外の生成AIセキュリティの最新動向 & AIガードレール製品「chakoshi」のご紹介 / Latest Trends in Generative AI Security (Domestic & International) & Introduction to AI Guardrail Product "chakoshi"
nttcom
4
1.4k
データ定義の混乱と戦う 〜 管理会計と財務会計 〜
wonohe
0
150
AI時代における技術的負債への取り組み
codenote
1
1.7k
ServiceNow Knowledge 26 の歩き方
manarobot
0
160
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
1.2k
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
240
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How to build a perfect <img>
jonoalderson
1
5.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
530
Speed Design
sergeychernyshev
33
1.6k
The Curious Case for Waylosing
cassininazir
0
320
Designing Experiences People Love
moore
143
24k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.6k
Claude Code のすすめ
schroneko
67
220k
Designing for Timeless Needs
cassininazir
0
200
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
490
Build your cross-platform service in a week with App Engine
jlugia
234
18k
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 から離れていた方や使ったこともない方も一度試してみてはど うでしょうか
モバイルファクトリーはプログラミングが好き なエンジニアを募集しています!