$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AstroNvim を使おう!
Search
ybrliiu
March 24, 2023
Technology
0
4.9k
AstroNvim を使おう!
YAPC::Kyoto 2023 前日祭のLTマッチで使用した資料です
ybrliiu
March 24, 2023
Tweet
Share
More Decks by ybrliiu
See All by ybrliiu
これまでと、これからのPerlコミュニティ
ybrliiu
0
170
Perlでも関数の型をチェックしたい
ybrliiu
0
3.4k
Perl5.32の新機能
ybrliiu
0
170
Vue.jsで作ったサイトをバニラJSで書き直す悲しいお話
ybrliiu
1
1.1k
Perlにおける動的なモジュールロードのメリットとデメリット
ybrliiu
0
880
黒魔術で独自定義のenum型制約を満たす値のリ ストを取得する話
ybrliiu
0
430
Perlにおけるクラスの実装パターン.pdf
ybrliiu
0
1.7k
Presentation.pdf
ybrliiu
0
280
ぼくがPerlで開発を行う時に工夫していること
ybrliiu
0
560
Other Decks in Technology
See All in Technology
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
5
1.4k
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
13
5k
バグハンター視点によるサプライチェーンの脆弱性
scgajge12
3
1k
pmconf2025 - データを活用し「価値」へ繋げる
glorypulse
0
700
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
4
1k
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
210
AWS CLIの新しい認証情報設定方法aws loginコマンドの実態
wkm2
5
570
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
1
160
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
290
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
210
Ruby で作る大規模イベントネットワーク構築・運用支援システム TTDB
taketo1113
1
210
regrowth_tokyo_2025_securityagent
hiashisan
0
170
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Producing Creativity
orderedlist
PRO
348
40k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
A better future with KSS
kneath
240
18k
What's in a price? How to price your products and services
michaelherold
246
12k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
The Pragmatic Product Professional
lauravandoore
37
7.1k
BBQ
matthewcrist
89
9.9k
How GitHub (no longer) Works
holman
316
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.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 から離れていた方や使ったこともない方も一度試してみてはど うでしょうか
モバイルファクトリーはプログラミングが好き なエンジニアを募集しています!