開く・強調表示・整形
テキスト/コードファイルは、構文ハイライト付きのエディター(Scintilla)で開きます。 コメントの切り替え(Ctrl+/)、行の移動と複製、ブックマーク(Ctrl+F2)、 シンボル/関数の一覧、単語ベースの自動補完、インデントガイド、折り返し、ズーム、 ディスク上のファイル変更の検出があります。バージョン管理を有効にすると、 余白に最後のバージョン以降に追加/変更された行が示されます。
マクロ(一連の編集を記録/再生。Ctrl+Shift+R / F4、 ツール → 実行 → マクロ)、整形(beautify)(Shift+Alt+F)、 文字や罫線を挿入するためのタブツールバーの ASCII 表、スペルチェッカー (Hunspell)もあります。pt-BR と en-US は内蔵されており、その他の言語は 設定 → ノートと執筆 → スペルの表から必要に応じてダウンロードできます (言語ごとに1行、ダウンロード/削除ボタン付き)。 書き込まれているログファイルを追跡するには、タブ専用ツールバーの 監視(tail -f)ボタンを使ってください。非常に大きいファイル(約 1 MB 超)は、 表示中のチャンクだけを読み込む仮想化された軽量エディターで開きます。 開く → 軽量エディターで開く...から手動で強制することもできます。すべての行を索引化するだけのメモリがない場合は、エディターの帯に警告が出て、先頭の行だけが利用できます。
整形とチェック(リンター): Shift+Alt+F で文書を整形します。
JSON、XML、SQL は LightNote が単独で整形し、インストールは不要です。変わるのは空白だけで、
キーの順序、数値、文字列は書いたとおりに残ります。拡張子だけでなく、ステータスバーに表示された
種類が使われます。下書きタブに JSON を貼り付け、種類に JSON を選んで整形してください
({、[、< で始まるテキストは選ばなくても認識されます)。
エラーがあるとテキストは変わらず、その位置が赤い下線で示され、カーソルがそこへ移動し、
ステータスバーに行・列・理由(カンマがない、キーに引用符がない など)が表示されます。
整形ボタンの矢印には圧縮(JSON や XML を 1 行にする)があり、範囲を選択していると
どちらも選択部分だけに作用します。ログの 1 行に含まれる JSON などに便利です。
1 行に 1 つの完全な JSON があるテキスト(JSON Lines、NDJSON とも呼ばれ、ログやエクスポートでよく使われます)は認識され、1 つの文書にまとめずに行ごとに整形されます。
F7 はチェックです。JSON と XML は保存しなくてもテキストそのものを検証し、 その他の言語ではリンター(ruff、eslint、shellcheck、luacheck など)を実行して、 問題をエディターと問題パネル(下部ペイン、移動可能)に表示します。その他の言語の整形には 外部フォーマッタ(black、prettier、clang-format、gofmt、rustfmt など)を使います。その種類に まだフォーマッタがなければ、整形・F7・F5 でアシスタントが開き、その種類のツールだけを示して インストール済みかどうかを表示し、選んだものをワンクリックでインストールします(ほかのプログラムの コマンドを入力することもできます)。一覧の全体は設定 → コードツール → 言語ごとのフォーマッタと→ 言語ごとのリンターにあり、 保存時に整形 / 保存時にチェックのオプションもあります。ファイルを出力パネルで実行するには F6(終了コードと所要時間を取得、停止/再実行あり)、一部だけなら F8 を使います。
形式の変換: 変換サブメニューは編集、整形ボタンの矢印、ステータスバーの種類メニュー、エディターの右クリック(ノートも含む)にあります。選択範囲に、何も選択していなければテキスト全体に作用します。上部には認識した内容(「選択範囲: JSON」「テキスト全体: CSV」)が表示され、その内容に合う変換が先に並びます。その他はグループにまとめられ、当てはまらない場合は理由付きで灰色になります。JSON ↔ YAML、JSON ↔ XML(属性は @名前 になります)、JSON ↔ CSV、JSON → Markdown 表(入れ子のオブジェクトは a.b 列になります)、CSV ↔ Markdown 表、CSV → SQL の INSERT、JSON Lines (NDJSON) ↔ JSON 配列、HTML ↔ Markdown、URL パラメーター ↔ JSON、Base64、URL エンコード、HTML エンティティ、JSON 文字列、Unix タイムスタンプ ↔ ISO 8601 日付があります。キーの順序と数値は書いたとおりに残り、CSV は Excel の ; も認識します。テキスト全体を変換するとタブの種類も変わります(表にした CSV は Markdown になります)が、ファイルの拡張子はそのままで、ステータスバーがそれを知らせます。JSON では、フィールド名サブメニューがキーだけを camelCase、PascalCase、snake_case、kebab-case に変えます。値・数値・インデントはそのままで、同じオブジェクトの 2 つのフィールドが同じ名前になる場合は何も変更しません。名前のスタイル(camelCase、PascalCase、snake_case、kebab-case、CONSTANT_CASE)は編集 → 大文字小文字の、大文字・小文字・先頭を大文字の下にあります。選択範囲に、選択がなければカーソル位置の名前に働き、ファイル全体には働きません。変わるのは名前だけで、引用符・コロン・波かっこはそのまま残ります。語句だけの行(「customer name」)は 1 つの名前(customerName)になります。
コードとして開いた .md は、ワンクリックでノートに戻せます。 開いているファイルがノートのとき、エディターのバーに ノートとして開く が表示されます。ツリーメニューの次として開く → コードの逆で、タブを書式付き編集・読書・アウトライン・プロパティのあるノート表示に戻します。切り替えが可能なときだけ表示されます。大きすぎるノートはコードエディターのままです。
マルチカーソル・履歴・定義
その他の編集機能: 出現箇所ごとのマルチカーソル(Ctrl+D、すべては
Alt+F3)、行の複製(Ctrl+Shift+D)、行の結合(Ctrl+Shift+J)、
スコープ単位で選択を拡大/縮小(Ctrl+Shift+Space / Ctrl+Alt+Space)、
矩形選択(Alt+ドラッグ)、すべて折りたたみ/展開、スニペット(Ctrl+J、
設定 → エディターで編集可)、ファイル内のシンボルへ移動(パレットの
#)とプロジェクト内(Ctrl+T または ##)、
ナビゲーション履歴(Alt+←/→)、エディター上部のパンくずリスト、列の
ルーラー、括弧ペアの色分け、ペアの自動閉じ/囲み、保存時のクリーンアップ
(末尾スペースの除去、末尾改行)— すべて設定 → エディターにあります。
Tab でスニペット。トリガーを入力して Tab を押します。SQL ファイルでは sf が SELECT * FROM TABLE; になり、TABLE が選択された状態になります。テーブル名を入力すると Tab で次のフィールドへ移動します(Shift+Tab で戻る、Esc で終了)。sf、sc、sw、sj、sg、ins、upd、del が用意されています(最後の 2 つは最初から WHERE 付き)。各スニペットは 1 つの言語またはすべての言語で使え、設定 → エディターで任意の言語のスニペットを作成できます。フィールド ${1:NAME}、繰り返し $1、カーソルの終了位置 $0 が使えます。選択範囲を右クリックすると選択範囲からスニペットを作成が出ます。スニペットは補完リストにも表示されます。リストが開いている間は Tab はリストのものです。Tab でスニペットを展開しないようにするにはTab でスニペットを展開をオフにします。Ctrl+J は引き続き使えます。
ローカル履歴とクリップボード: 保存のたびに、LightNote は Git とは独立して ファイルのバージョンを保持します(ファイル → ローカル履歴…、復元可能)。 Ctrl+Alt+V はクリップボード履歴を開き、以前コピーした項目を貼り付けます。 Ctrl+Shift+T は最後に閉じたタブを開き直します。タブはピン留めでき (コンテキストメニュー)、非アクティブ時の解放から保護されます。
定義へ移動: 識別子の上で F12 または Ctrl+クリックすると、ワークスペース内で定義されている場所へジャンプします。Shift+F12 は使用箇所を探します。
ミニマップとテキスト操作
ミニマップ。 エディタの右端に文書全体のミニチュアが表示されます。コードの「形」(構文強調の色を縮小したもの)を示し、表示中の範囲をマークします。クリックまたはドラッグすると、ファイルの任意の位置へ移動できます。表示 → ミニマップ または 設定 → エディター で切り替えます。 コードタブ自身のツールバーにあるミニマップボタン(ASCII の隣)でも、エディタを離れずに切り替えられます。ミニチュアの左端にはマーク帯があります。青はブックマークのある行(余白の丸印と同じもの)、アンバーはクイック検索の該当箇所です。画面外の部分も含め、ファイル全体でどのように分布しているかが一目で分かります。
テキスト操作。 編集 メニュー(およびエディターの右クリックメニュー)に 行(移動・複製・削除・並べ替え・結合・反転・番号付け)と クリーンアップ(空白の除去、空行・重複行の削除、タブ ↔ スペース)のサブメニューがあります。選択があるときは右クリックメニューに 選択範囲を新しいファイルに保存… も表示され、選択部分を現在のファイルの隣に書き出してタブで開きます(元のファイルは変更されません)。
インデント・コメント・括弧
ファイルのインデント。ステータスバーの改行コードの隣にある スペース: 4(または タブ: 4)ボタンが、そのタブのインデント方法を示します。クリックするとメニューが開き、スペースでインデント/タブでインデント、インデントの幅(2・3・4・8 桁)、インデントをスペースに変換/タブに変換(既存の行のインデントを書き換えます)、内容から検出、選択を新しいファイルの既定として保存する 既定として使う が並びます。ここでの選択はそのタブにだけ適用されます。
インデントの決まり方。ファイルを開くと、LightNote はそのフォルダーと上位のフォルダーで .editorconfig を探し(root = true のものまで)、indent_style・indent_size・tab_width を適用します。trim_trailing_whitespace と insert_final_newline は保存時に、end_of_line と charset は新しいファイルにだけ効きます。.editorconfig がなければファイル自体の行を見て、はっきりしたインデントが見つかればそれを使い、なければ既定のままです。順序は .editorconfig、ファイル、設定 → エディター の既定です(既定のインデント、開くときに各ファイルのインデントを検出、ワークスペースの .editorconfig に従う もここにあります)。
スマートインデント。{・(・[ の後(Python では行末の : の後も)で Enter を押すと、次の行が 1 段深くなります。{} の間で Enter を押すとブロックが 3 行に開き、カーソルは中央の行に置かれます。Ctrl+Z 1 回で全部元に戻ります。空の行で }・)・] を入力すると、それを開いた行のインデントに戻ります。Enter で上の行のインデントをコピーするだけにしたい場合は、設定 → エディター でスマートインデントをオフにします。
コメント・括弧・補完。Ctrl+/ はタブが使っている言語の構文でコメントにします。ファイルのない下書きや、ステータスバーで構文の色分けを変えたときも同じで、ブロックコメントしかない言語(HTML、CSS)ではブロックコメントを使います。Ctrl+Shift+\ はカーソルのある丸括弧・角括弧・波括弧の対応する側へ移動し、Ctrl+Shift+Alt+\ はそこまで選択します。どちらも右クリックメニューにもあります。補完リストには、文書内の単語の後に言語のキーワード(def、return…)が、ファイルにまだないものも含めて並びます。表示 → 行番号 で行番号の欄を表示/非表示にできます。
最近のタブ (Ctrl+Tab)
Ctrl+Tab は、隣のタブではなく、同じペインで直前に使ったタブに戻ります。Ctrl を押したまま Tab を押すたびに、ペインの中央に表示される最近のタブの一覧を下へ進みます。Ctrl を離すと選んだタブが開き、Esc で取り消します。Ctrl+Shift+Tab は逆順に進みます。一覧はペインごとにあり、閉じたタブは一覧から消え、タブが 1 つだけのときは何も表示されません。
ペインの並列表示とグリッド
グリッド。編集領域は、それぞれにタブを持つペインに分かれ、行と列に並びます。1 つの行には 1 つ以上のペインが横に並び、行は縦に積み重なります。左上のペインがメインで、なくなることはありません。最後の行はターミナルの行です。ペインは求めたときにだけ作られ、最後のタブがなくなると自動的に消えます。
分割。ウィンドウ → 右に分割 は、アクティブなタブの 2 つ目のビューを、今いるペインのすぐ右の新しい列に開きます。ウィンドウ → レイアウト → 下に分割 は同じことを新しい行で行い、その行はアクティブなペインの行のすぐ下、ターミナルの行の上にできます。2 つのビューは同じテキストを編集します。もうペインを置く余地がないときは、ビューは隣のペインに開きます。ウィンドウ → 分割を解除 はメインの右のペインを閉じます。ツールバーの 分割 ボタンにも同じ項目があります。
タブのドラッグ。タブをドラッグしている間、各ペインの右端と下端に帯が表示されます。右の帯にドロップするとそのペインのすぐ右に列が、下の帯にドロップするとすぐ下に行ができます。領域の一番下の帯は、タブをターミナルの行に移します。余地がなくてペインを作れない帯は表示されません。タブのメニュー (右クリック) の 右側の新しいペインに移動 はドラッグせずに同じことを行い、次のペインに移動 と 前のペインに移動 はタブを隣のペインに移します。
用意されたレイアウト。ウィンドウ → レイアウト (分割 ボタンにもあります) で、グリッドを一度に並べ替えられます: 1 ペイン、2 列、3 列、2×2 グリッド。レイアウトを適用してもタブが閉じることはありません。余ったペインのタブは残る隣のペインにまとめられ、ターミナルは変わりません。サイズをそろえる は、各行の列の幅と行の高さをそろえます。この画面に収まらないレイアウトは無効になり、ツールチップに理由が表示されます。
空のペイン。レイアウトで空のまま作られたペインには ここにタブをドラッグするか、ここをクリックしてファイルを開きます と表示されます。クリックするとそのペインが選ばれ、次に開くファイルはそこに入ります。このペインは自動的には消えません。ペインを閉じる ボタンで取り除けます。
ペインがいくつ入るか。上限は数ではなく画面の大きさで決まります。新しい列ができるのは、その行の各ペインの幅が約 420 ピクセル以上残る場合だけで、新しい行ができるのは、各行の高さが約 240 ピクセル以上残る場合だけです。ただし、2 列と 2 行は常に入ります。ノート PC ではグリッドは 2 列のままで、ウルトラワイド モニターなら 4 列や 5 列が入ります。
キーボードで。Ctrl+Alt+PgDn と Ctrl+Alt+PgUp で、フォーカスを次と前のペインに移します。行ごとに進み、最後の次は最初に戻ります。ターミナルも含まれます。ウィンドウ → レイアウト には タブを次のペインに移動 と タブを前のペインに移動 もあります。
フォルダーを開き直したとき。グリッドは、行、列、サイズ、各ペインのタブ (選んだときに初めてファイルを読み込みます) まで、閉じたときのとおりに戻ります。小さい画面で開いた場合は、収まらない列は最後に収まった列にまとめられ、タブが失われることはありません。
プロジェクトのタスク
プロジェクトのビルド・テスト・lint は、ターミナルに行かずに ツール → プロジェクトのタスク から実行できます。LightNote は開いているフォルダーのタスクを自動で見つけます。package.json の scripts(ロックファイルに応じて npm・pnpm・yarn)、Makefile のターゲット、CMakePresets.json の buildPresets、Rust プロジェクトの cargo build/test/run/check、設定のある pyproject.toml の pytest、justfile のレシピです。
自分のタスク。手書きのタスクは VS Code 形式(バージョン 2.0.0)の tasks.json に書きます。.vscode/tasks.json と .lightnote/tasks.json の両方を読むので、VS Code のものがあれば何も書く必要はありません。使えるのは label、type(shell または process)、command、args、options.cwd と options.env、isDefault 付きの group、windows/linux/osx ブロック、コメント、変数 ${workspaceFolder}・${file}・${fileDirname}・${fileBasenameNoExtension} です。エラーのあるファイルは理由とともにメニューに表示され、無視されます。読み込むタスクは 200 件までです。
実行。メニューでタスクを選ぶか、Ctrl+Shift+B で既定のタスクを実行します。既定は ツール → プロジェクトのタスク → 既定のタスク で選んだもの(フォルダーごとに保存)、選んでいなければ tasks.json で isDefault を付けたもの、それもなければ LightNote が実行するタスクを尋ねます。出力は出力パネルに、終了コードと停止ボタン付きで表示されます。プロジェクトのタスクを編集 は .vscode/tasks.json があればそれを開き、なければ例の入った .lightnote/tasks.json を作ります。タスクのプログラムがインストールされていなければ、ステータスバーにその名前が表示され、外部プログラム が案内されます。
言語サーバー (LSP)
設定しなければ、定義へ移動・使用箇所を検索・名前を変更・補完は名前で探します。速いのですが、スコープは理解しません。言語サーバー(LSP)は、VS Code が使うものと同じ別のプログラムで、言語を本当に理解します。初期状態はオフです。設定 → コードツール の 言語サーバー (LSP) グループ、または ツール → 言語サーバー → 言語サーバーを使う (LSP) でオンにします。ファイルの種類ごとに専用のサーバーがあります:pyright(Python)、typescript-language-server(JavaScript と TypeScript)、clangd(C と C++)、gopls(Go)、rust-analyzer(Rust)、lua-language-server(Lua)、bash-language-server(シェル)。
変わること。サーバーが動いていると、F12 はサーバーが示す定義へ移動し、Shift+F12 は本当の使用箇所を検索パネルに一覧し、名前の変更は正しいシンボルだけを変えます。LightNote は「N 個のファイルで名前を変更しますか?」と尋ね、開いているタブを書き換え(各タブで Ctrl+Z 1 回で戻せます)、閉じているファイルは文字コードを保ったまま保存します。補完にはサーバーの候補が並び、エラーには下線が引かれて問題パネルにも表示され、名前の上のヒントには型とドキュメントが出ます。その種類に整形ツールが設定されていなければ、Shift+Alt+F はサーバーで整形します。サーバーが応答しない、遅い(補完は 1.5 秒待ちます)、答えがない場合は、これまでどおり名前で探します。設定済みのリンターは Ctrl+S でも引き続き動きます。
表示とインストール。ステータスバーの表示に、タブのサーバーとその状態(pyright · 準備完了、起動中…、エラー、未インストール)が出ます。クリックすると サーバーを再起動、サーバーを停止、ログを表示…、設定が表示されます。インストールは ツール → 言語サーバー → .py 用に設定… から行います。整形ツールと同じアシスタントがコマンドを示し、1 クリックでインストールします。タブを開いただけでインストールを勧めることはありません。サーバーはその種類の最初のタブで起動し、最後のタブを閉じて 5 分後に停止します。同時に動くのは 4 つまでで、1 MB を超えるファイルはサーバーに送らず、エラーは 1 ファイルにつき 500 件まで表示します。
目次
編集
- 概要
- はじめに
- ワークスペースとウィンドウ
- アクティビティセンター: タスクとメッセージ
- コードエディター
- Markdown とウィキリンク
- 図(Mermaid)
- 数式と化学(LaTeX)
- ノートの中のカレンダー
- 番号付けと相互参照
- 引用と参考文献
- 学術論文の規格
- コネクショングラフ
- テーブル(Parquet・CSV・JSON・Excel)
- 分析エリア: ピボットテーブルと複数のグラフ
- PDF と画像
- 画像:スクリーンショットに注釈を付ける
- HTML ページ(.html)
- 印刷
- フォルダーとしての Zip(.zip)
- ブロック(.lnb)
- タスク(カンバン / ガント)
- カスタムテーブル(.lnd)
- ベース(ノートの保存済みクエリ)
ツール
- ファイル内検索と未対応
- バージョン管理(やさしい Git)
- スナップショットとバックアップ
- 変更のレビュー(チェックポイント)
- ファイルの比較(差分)
- コードの実行(F5)
- ターミナルと AI CLI
- 選択範囲への AI アシスタント(Ctrl+K / Ctrl+I)
- お使いのコンピューターの AI
- AI セッション
- AI チャット
- HTTP API のテスト(.lnh)
- データベース(.lnc)
- SSH 接続(.lns)
- セキュリティ: セキュアフレーズ・PIN・セキュア Markdown
- デイリーノート・クイックキャプチャ・トレイ
- 古いメモを再発見
- スマートフォンでのノート
- 音声を録音(メモ・会議)して AI で文字起こし
- 付箋
- カレンダー
- コマンドパレット
自動化(AI / スクリプト)
リファレンス