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
2.8k
AstroNvim を使おう!
YAPC::Kyoto 2023 前日祭のLTマッチで使用した資料です
ybrliiu
March 24, 2023
Tweet
Share
More Decks by ybrliiu
See All by ybrliiu
これまでと、これからのPerlコミュニティ
ybrliiu
0
93
Perlでも関数の型をチェックしたい
ybrliiu
0
2.1k
Perl5.32の新機能
ybrliiu
0
120
Vue.jsで作ったサイトをバニラJSで書き直す悲しいお話
ybrliiu
1
860
Perlにおける動的なモジュールロードのメリットとデメリット
ybrliiu
0
680
黒魔術で独自定義のenum型制約を満たす値のリ ストを取得する話
ybrliiu
0
300
Perlにおけるクラスの実装パターン.pdf
ybrliiu
0
1.3k
Presentation.pdf
ybrliiu
0
230
ぼくがPerlで開発を行う時に工夫していること
ybrliiu
0
420
Other Decks in Technology
See All in Technology
開発生産性大幅アップ!Postman VS Code拡張機能
nagix
2
370
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
350
JSON攻略法.pdf
miyakemito
8
5k
元インフラエンジニアに成る / Human Resources to Human Relations
bobtani
4
910
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
5
380
Vertex AI を中心に 生成AIのアップデートを共有します
kaz1437
0
300
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
430
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
420
複雑な構成要素を持つUIとの向き合い方 〜新・支出グラフでの実例〜 / B43 TECH TALK
nakamuuu
0
140
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.9k
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
120
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
2
240
Featured
See All Featured
The Language of Interfaces
destraynor
151
23k
The Invisible Customer
myddelton
114
12k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Happy Clients
brianwarren
92
6.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Visualization
eitanlees
136
14k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
121
39k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
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 から離れていた方や使ったこともない方も一度試してみてはど うでしょうか
モバイルファクトリーはプログラミングが好き なエンジニアを募集しています!