Slide 1

Slide 1 text

軽量テキストエデ ィタの Lite-XL を試し ています Kenichiro Matohara(matoken) 1

Slide 2

Slide 2 text

matoken @ 鹿児島の右下の山奥から参加 好きなLinuxディストリビューションは Debian map: © OpenStreetMap contributors Kenichiro Matohara(matoken) https://matoken.org matoken@inari.opencocon.org 2

Slide 3

Slide 3 text

Lite-XL 軽量,シンプル,高速,多機能,拡張性の高いテキストエディター c, Lua製.MIT license マルチプラットホーム対応 → Linux/macOS/Windows サイズは約3MB,利用RAM 10MB以下 プラグインで機能拡張 Lite XL https://lite-xl.com/ 3

Slide 4

Slide 4 text

binary 入手 GitHub Releases Linux 版はx86_64 のバイナリがある addons 同梱,非同梱 と portable/AppImage の2タイプ addons 同梱, AppImage の LiteXL-v2.1.4-addons- x86_64.AppImage がお手軽に始められる https://github.com/lite-xl/lite- xl/releases/latest lite-xl-v2.1.4-addons-linux-x86_64-portable.tar.gz 1.96 MB lite-xl-v2.1.4-linux-x86_64-portable.tar.gz 1.81 MB LiteXL-v2.1.4-addons-x86_64.AppImage 2.26 MB LiteXL-v2.1.4-x86_64.AppImage 2.12 MB $ wget -c https://github.com/lite-xl/lite-xl/releases/download/v2.1.4/LiteXL-v2.1.4-x86_64.App $ chmod u+x LiteXL-v2.1.4-x86_64.AppImage $ ./LiteXL-v2.1.4-x86_64.AppImage 4

Slide 5

Slide 5 text

Raspberry Pi OS bookworm armhf で build 32bit ではあまりテストされていないらしいが Raspberry Pi OS armhf で動かしたいので build してみた 5

Slide 6

Slide 6 text

少し嵌る1 1 依存パッケージを導入 2 libdrm-dev の依存関係のせいで導入できないのでaptitude を使いダウングレード  恐らく Debian では問題ない $ sudo apt install libfreetype6-dev libsdl2-dev meson $ sudo aptitude install libdrm-dev 1 2 6

Slide 7

Slide 7 text

少し嵌る2 1 setup で ninja が古くて失敗,異様に古い ninja が居た…… 2 古い ninja を削除 3 念の為 ninja-build を reinstall  dist-upgrade 後に掃除し忘れていた…… $ meson setup --buildtype=release --prefix ~/local build : ERROR: Could not detect Ninja v1.8.2 or newer : $ ls -l /usr/sbin/ninja -rwxr-xr-x 1 root root 15400 Apr 26 2012 /usr/sbin/ninja $ sudo apt purge ninja $ sudo apt reistall ninja-build 1 2 3 7

Slide 8

Slide 8 text

通常はこれで行けるはず? $ wget https://github.com/lite-xl/lite-xl/archive/refs/tags/v2.1.4.tar.gz $ tar xvf v2.1.4.tar.gz && cd lite-xl-2.1.4 $ sudo apt install libfreetype6-dev libsdl2-dev meson $ meson setup --buildtype=release --prefix ~/local build $ meson compile -C build $ meson install --skip-subprojects -C build 8

Slide 9

Slide 9 text

build scritp(build-packages.sh) の利用例 build script が用意されている $ bash ./build-packages.sh -h $ bash ./build-packages.sh --prefix ~/local/ $ bash ./build-packages.sh --portable $ ls -s1 lite-xl-addons-linux-armv7l* 900 lite-xl-addons-linux-armv7l-portable.tar.gz 896 lite-xl-addons-linux-armv7l.tar.gz 9

Slide 10

Slide 10 text

日本語を使う最低限の設定 ~/.config/lite-xl/init.lua に日本語フォントを登録 font は fc-list コマンドなどで確認  addons だと GUI で設定出来, user_settings.lua に保 存されるが起動し直すと反映されない? init.lua なら反映さ れる style.font = renderer.font.load("/usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf", 14 style.code_font = renderer.font.load("/usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf 10

Slide 11

Slide 11 text

plugin の導入 ~/.config/lite-xl/plugins/ 以下に展開する plugin は以下などを vim Bindings の 導入例 lite-xl/lite-xl-plugins: Plugins for the Lite XL editor https://github.com/lite-xl/lite-xl-plugins lite-xl/lite-xl-lsp: LSP Plugin for Lite XL editor https://github.com/lite-xl/lite-xl-lsp lite-xl-vibe $ git clone https://github.com/eugenpt/lite-xl-vibe.git ~/.config/lite-xl/plugins/lite-xl-vibe 11

Slide 12

Slide 12 text

全部……重すぎる とりあえずプラグインリポジトリごと全部 git clone してみたら動作 が重すぎて使い物にならなく…… 必要なものだけ入れましょう 12

Slide 13

Slide 13 text

syntax highlighting 以下にいくつかの言語用のプラグインがある Go lang の例 https://github.com/lite-xl/lite-xl-plugins?tab=readme- ov-file#languages $ curl -s https://raw.githubusercontent.com/lite-xl/lite-xl-plugins/master/README.md | grep plu 97 $ wget 'https://github.com/lite-xl/lite-xl-plugins/blob/master/plugins/language_go.lua?raw=1' -O ~/.config/lite-xl/plugins/language_go.lua 13

Slide 14

Slide 14 text

14

Slide 15

Slide 15 text

LSP plugin(未検証) lite-xl/lite-xl-lsp: LSP Plugin for Lite XL editor $ cd ~/.config/lite-xl/ $ git clone https://github.com/lite-xl/lite-xl-lsp plugins/lsp $ git clone https://github.com/lite-xl/lite-xl-widgets libraries/widget $ git clone https://github.com/liquidev/lintplus plugins/lintplus $ wget https://raw.githubusercontent.com/vqns/lite-xl-snippets/main/snippets.lua \ -O plugins/snippets.lua $ wget https://raw.githubusercontent.com/vqns/lite-xl-snippets/main/lsp_snippets.lua \ -O plugins/lsp_snippets.lua 15

Slide 16

Slide 16 text

Lite XL プラグインマネージャ(lpm) usage lite-xl/lite-xl-plugin-manager: A lite-xl plugin manager. $ wget https://github.com/lite-xl/lite-xl-plugin-manager/releases/download/latest/lpm.x86_64-l $ chmod u+x lpm $ lpm -h $ lpm install ${PLUGIN} $ lpm uninstall ${PLUGIN} 16

Slide 17

Slide 17 text

手元の環境での重さ VS Code は electron にしては軽量,しかし RAM の使用量が大 きい アップデートがこまめにあるが毎回巨大なパッケージをダウンロー ドするのが辛い Space Vim は軽量だが,プアな端末では起動時間が気になる…… VS Codium(VS Code fork) > Space Vim > Lite XL > Vim $ apt show codium 2>&1 | grep Size Installed-Size: 366 MB Download-Size: 92.5 MB 17

Slide 18

Slide 18 text

まとめ 軽量で拡張性の高いエディタの Lite XL プラグインで機能拡張も出来,環境が出来あがったら便利に使えそう VS Code系 や Vim/emacs などに比べるとまだまだ手が届かない ことも多い Vim/emacs はとっつきにくい,VS Code は重いという向きにいい かもしれない これからに期待 18

Slide 19

Slide 19 text

奥付 発表 2024-04- 21(sun) 発表者 利用ソフトウェア + ライセンス 鹿児島Linux勉強会 2024.04(オンライン開催) Kenichiro Matohara(matoken) Lite XL Asciidoctor Reveal.js CC BY 4.0 19