NotePadPQ è un editor di testo avanzato, libero e open source, pensato per sviluppatori, scrittori tecnici e appassionati. Ispirato alla potenza di Notepad++ ma costruito con tecnologie moderne e multipiattaforma, offre un'interfaccia pulita e un set di funzionalità professionale, senza rinunciare alla leggerezza.
Scritto interamente in Python 3 con PyQt6 e QScintilla, gira nativamente su Linux, Windows e FreeBSD.
- Syntax highlighting per oltre 40 linguaggi: lexer nativi QScintilla (Python, JavaScript, TypeScript, C/C++, Java, C#, Bash, SQL, LaTeX, Markdown, HTML, CSS, XML, JSON, YAML, Ruby, Perl, Lua, Pascal, Fortran, Verilog…) più lexer Pygments per Go, Rust, PHP, Swift, Kotlin, Scala, Dart, R, TOML, Haskell, Elixir, Julia. La voce Automatico nel menu rileva il linguaggio da estensione, nome file e contenuto.
- Code folding: collassa blocchi di codice, classi e funzioni direttamente nel margine.
- Smart Highlight: al posizionamento del cursore su una parola, tutte le sue occorrenze vengono evidenziate automaticamente in tutto il documento, in modo fluido e senza rallentare la digitazione.
- Numeri di riga dinamici: la larghezza si adatta automaticamente alla dimensione del file.
- Minimap laterale per navigazione rapida nei file lunghi.
- Word wrap configurabile (
Alt+Z). - Autocompletamento intelligente: parole nel documento, snippet per linguaggio, dizionari API, supporto LSP.
- Auto-chiusura di parentesi, virgolette e tag.
- Mostra spazi/tab e caratteri di fine riga.
- Scorciatoie Markup:
Ctrl+B(Grassetto),Ctrl+I(Corsivo),Ctrl+Shift+X(Barrato): funzionano in Markdown (**,*,~~) e LaTeX (\textbf,\textit,\sout).
- Tab multipli con drag & drop, indicatore di modifica, ripristino sessione all'avvio.
- Split view orizzontale e verticale (
Ctrl+Alt+2/Ctrl+Alt+3). - Clona tab per lavorare sulla stessa vista in due posizioni.
- Gestione Progetti stile PSPad: raggruppa file in progetti salvati come
.npqproj(JSON); toolbar per creare gruppi, aggiungere/rimuovere file; doppio clic per aprire.
- Command Palette (
Ctrl+Shift+P): accesso fuzzy-search a tutti i comandi dell'editor. - Goto Anything (
Ctrl+Shift+G): navigazione rapida stile Sublime: file aperti,:riga,@simbolo,>comando. - Trova/Sostituisci con espressioni regolari (sintassi Python completa) e sostituzione con gruppi di cattura.
- Cerca in tutti i file aperti nei tab contemporaneamente.
- Cerca nei file su disco con filtro estensione e ricerca ricorsiva.
- Ricerca incrementale inline (
Ctrl+Shift+F2). - Vai alla riga (
Ctrl+G) e vai alla parentesi corrispondente. - Bookmark su righe: aggiungi (
Ctrl+F2), naviga (F2/Shift+F2), rimuovi. - Mark con 5 colori distinti per evidenziare blocchi (
Ctrl+1..5).
- Multi-cursore: seleziona occorrenza successiva (
Ctrl+D), tutte le occorrenze (Ctrl+Shift+D), aggiungi cursore sopra/sotto (Ctrl+Alt+↑↓), inserisci numeri incrementali. - Macro: registra, salva, carica ed esegui N volte.
- Conversione caso: MAIUSCOLO, minuscolo, Title Case, Invert Case.
- Commenta/decommenta righe (
Ctrl+E) con rilevamento automatico del linguaggio. - Indentazione smart, tabs↔spazi. Auto-indenta su incolla: le righe incollate si riallineano automaticamente al contesto del cursore.
- Ordina righe con 5 criteri: alfabetico, inverso, per lunghezza, casuale.
- Frequenza parole: analisi delle occorrenze sul documento o sulla selezione.
- Allineamento tabelle Markdown/LaTeX, avvolgimento in ambienti/tag.
- Traduttore colori: seleziona un colore e ottieni immediatamente nome HTML/CSS,
#HEX,rgb(),rgb(%),hsl(): pulsante inserisci/copia per ogni formato. - Generatore Lorem Ipsum: inserisce testo segnaposto con opzioni (paragrafi, frasi, separatore, primo paragrafo classico).
- Tester regex interattivo, convertitore numerico (dec/hex/bin/oct).
- Profili di build configurabili per linguaggio (LaTeX, Python, C/C++, Markdown, ecc.).
- Variabili nei comandi:
${FILE}(percorso completo),${DIR}(cartella),${BASENAME}(nome senza estensione),${BASEFILE}(percorso senza estensione),${FILENAME},${EXT},${LINE},${COL}. Accettate anche nella forma$(VAR). - Output in tempo reale con lista errori cliccabile; click su un errore salta direttamente alla riga.
- Rilevamento PDF automatico: il pulsante anteprima si abilita istantaneamente se è presente un PDF già compilato.
- Salvataggio automatico prima della compilazione.
- Anteprima live di Markdown, HTML, reStructuredText, LaTeX (struttura), PDF.
- Hover preview: passa il mouse su
\includegraphics{...},o<img src="...">per vedere l'anteprima dell'immagine in un popup; supporta anche i PDF vettoriali. - Rendering equazioni matematiche inline con hover (file LaTeX/Markdown con
$...$,$$...$$,\[...\]). - SyncTeX: sincronizzazione bidirezionale cursore editor ↔ posizione nel PDF.
- Smart Crop: elimina automaticamente i margini bianchi dei PDF (
✂). - Zoom con
Ctrl+Rotella, navigazione pagine con la rotella.
- Terminale completo basato su PTY nativo nel pannello inferiore (
Ctrl+`). - Supporta qualsiasi programma interattivo: vim, python REPL, ssh, git, compilatori.
- Nessuna dipendenza esterna; funziona su tutti i sistemi supportati.
Integrazione nativa con i Language Server: errori/warning in tempo reale, hover con documentazione, vai alla definizione, mostra riferimenti, rinomina simbolo, formatta documento.
Server supportati: pylsp (Python), clangd (C/C++), rust-analyzer (Rust), gopls (Go), typescript-language-server (TS/JS), texlab (LaTeX).
Tab dedicato nel pannello inferiore con auto-scoperta dei task dal progetto (Makefile, npm scripts, pyproject.toml) e campo per comandi manuali arbitrari.
Panel dock con chat AI multi-provider:
| Provider | Funzionalità speciali |
|---|---|
| Anthropic Claude | Streaming SSE, Extended Thinking (Opus), lista modelli dinamica dalla chiave API |
| OpenAI | GPT-4o, GPT-4o-mini, o3-mini |
| Google Gemini | gemini-2.0-flash, gemini-1.5-pro |
| Ollama | Modelli locali rilevati automaticamente (nessuna chiave, nessun costo) |
Azioni contestuali (Spiega, Refactoring, Docstring, Correggi bug, Test unitari, Review) direttamente da tasto destro nell'editor. Bring-your-own-key; ogni provider ha la propria chiave configurabile.
| Plugin | Funzione |
|---|---|
| AI Assistant | Chat AI multi-provider con streaming, Extended Thinking e lista modelli dinamica |
| Clipboard History | Cronologia degli appunti con selezione rapida |
| Compare & Merge | Confronto visuale side-by-side tra due file o versioni |
| Database | Browser e query editor per SQLite, PostgreSQL, MySQL/MariaDB con AI SQL generation |
| Editor Rich Text | Editor WYSIWYG per .doc, .docx, .odt, .rtf, .html basato su Jodit 4 |
| Encrypt/Decrypt | Cifratura/decifratura con AES-256-GCM e ChaCha20-Poly1305 |
| Foglio di Calcolo | Editing completo di CSV, TSV, XLSX, XLS, XLSM, ODS con ordinamento, filtro, formule e grafici |
| FTP Browser | Navigazione e modifica file su server FTP |
| Git Integration | Stato repo, commit, diff, branch, PR/MR direttamente dall'editor |
| Hex Viewer | Visualizzazione esadecimale dei file binari |
- Multilingua: 5 lingue (Italiano, English, Deutsch, Français, Español) cambiabili a caldo.
- Temi: 17 temi integrati + editor di temi con anteprima live; importa/esporta in JSON.
- Set icone: Lucide, Material, Sistema; download automatico al primo utilizzo.
- Orologio live nella barra dei menu con data e ora localizzate.
- Controllo ortografico (
F4): spell checker in tempo reale con sottolineatura rossa per IT, EN, DE, FR, ES. Lingua del dizionario selezionabile indipendentemente dalla lingua dell'interfaccia (Documento → Lingua dizionario). Click destro su una parola evidenziata per suggerimenti, "Aggiungi al dizionario" o "Ignora tutto". - Modalità testo semplice (
Ctrl+Alt+T): disabilita highlighting, brace matching e autocomplete per tab, ripristinabile in un click. - Modalità scrittura distraction-free (
F11): schermo intero senza toolbar, statusbar, menubar né pannelli. Ripristino completo all'uscita. - Sessioni: ripristino automatico all'avvio di tutti i file, posizioni cursore e layout pannelli. Auto-save opzionale su perdita del fuoco.
- Istanza singola: aprire un file da file manager lo invia alla finestra già aperta.
git clone https://github.com/buzzqw/NotePadPQ.git
cd NotePadPQ
bash setup.sh
python main.pyLo script rileva il sistema operativo (Arch Linux, apt, dnf, Windows) e installa le dipendenze base in modo nativo.
Dipendenze base (sempre richieste):
pip install PyQt6 PyQt6-QScintilla PyQt6-WebEngine chardet markdown docutils pygments pyspellchecker PyGithub python-gitlab keyringPlugin Editor Rich Text (opzionali):
pip install mammoth htmldocx # lettura/scrittura DOCX
# pandoc: installazione di sistema per ODT/RTF
# libreoffice: installazione di sistema per file .doc (Word 97-2003)Plugin Database (opzionali):
pip install psycopg2-binary # PostgreSQL
pip install pymysql # MySQL/MariaDB
pip install cx_Oracle # Oracle
# SQLite: incluso in Python standard libraryDipendenze LaTeX (opzionali, solo se usi NotePadPQ per scrivere/compilare LaTeX):
pip install pymupdf matplotlib sympy
# synctex: incluso in TeX Live (pacchetto di sistema)Se hai già TeX Live installato per compilare LaTeX, hai già tutto il necessario. Le funzionalità LaTeX avanzate (anteprima PDF hover, rendering equazioni, SyncTeX) si attivano automaticamente se le librerie sono presenti.
python main.py # apre con sessione precedente
python main.py file1.py file2.md # apre i file specificatiEditor con syntax highlighting, minimap, pannelli split view e Function List
Anteprima PDF integrata con SyncTeX, zoom e navigazione pagine
Plugin Foglio di Calcolo: apertura di CSV/XLSX/ODS con ordinamento, filtro e grafici
Filtro attivo e paginazione risultati (100 righe per pagina)
Editor WYSIWYG Jodit per file .doc, .docx, .odt, .rtf, .html
Apertura file ODT con formattazione completa
Browser database: schema tabelle, connessioni salvate, AI SQL generation
Query editor con risultati paginati, esportazione e navigazione ◀ ▶
NotePadPQ is an advanced, free and open source text editor built with Python 3, PyQt6, and QScintilla. Inspired by Notepad++ but cross-platform and modern, it offers a professional feature set without sacrificing performance.
Runs natively on Linux, Windows, and FreeBSD.
- Syntax highlighting for 40+ languages: native QScintilla lexers (Python, JavaScript, TypeScript, C/C++, Java, C#, Bash, SQL, LaTeX, Markdown, HTML, CSS, XML, JSON, YAML, Ruby, Perl, Lua, Pascal, Fortran, Verilog…) plus Pygments-backed lexers (Go, Rust, PHP, Swift, Kotlin, Scala, Dart, R, TOML, Haskell, Elixir, Julia). Auto-detect from extension, filename, or content.
- Code folding: collapse code blocks, classes, and functions from the gutter.
- Smart Highlight: all occurrences of the word under the cursor are highlighted automatically, with no typing lag.
- Dynamic line numbers: column width adapts to file size automatically.
- Minimap sidebar for quick navigation in long files.
- Word wrap configurable (
Alt+Z). - Smart autocomplete: words in document, per-language snippets, API dictionaries, LSP support.
- Auto-close brackets, quotes, and tags.
- Show whitespace/tabs and end-of-line characters.
- Markup shortcuts:
Ctrl+B(Bold),Ctrl+I(Italic),Ctrl+Shift+X(Strikethrough): work natively in Markdown (**,*,~~) and LaTeX (\textbf,\textit,\sout).
- Multiple tabs with drag & drop, modification indicator, session restore at startup.
- Horizontal and vertical split view (
Ctrl+Alt+2/Ctrl+Alt+3). - Clone tab to work on the same file at two positions simultaneously.
- Project Manager (PSPad-style): group files into named projects saved as
.npqproj(JSON); toolbar to create groups, add/remove files; double-click to open.
- Command Palette (
Ctrl+Shift+P): fuzzy-search over all editor commands. - Goto Anything (
Ctrl+Shift+G): Sublime-style quick navigation: open files,:line,@symbol,>command. - Find/Replace with full regular expressions (Python syntax) and capture group substitution.
- Search across all open tabs simultaneously.
- Search in files on disk with extension filter and recursive search.
- Inline incremental search (
Ctrl+Shift+F2). - Go to line (
Ctrl+G) and jump to matching bracket. - Bookmarks: add (
Ctrl+F2), navigate (F2/Shift+F2), remove. - 5-color Mark system for highlighting blocks of text (
Ctrl+1..5).
- Multi-cursor: select next occurrence (
Ctrl+D), all occurrences (Ctrl+Shift+D), add cursor above/below (Ctrl+Alt+↑↓), insert incremental numbers. - Macros: record, save, load, and run N times.
- Case conversion: UPPERCASE, lowercase, Title Case, Invert Case.
- Comment/uncomment lines (
Ctrl+E) with automatic language detection. - Smart indentation, tabs↔spaces. Auto-indent on paste: pasted lines align automatically to the cursor context.
- Sort lines by 5 criteria: alphabetical, reverse, by length, random.
- Word frequency: occurrence analysis on the document or selection.
- Table alignment for Markdown/LaTeX, wrap in environment/tag.
- Color Translator: pick a color and get HTML/CSS name,
#HEX,rgb(),rgb(%),hsl(): insert or copy each format individually. - Lorem Ipsum generator: insert placeholder text with configurable paragraphs, sentences, and separator.
- Interactive regex tester, numeric converter (dec/hex/bin/oct).
- Configurable build profiles per language (LaTeX, Python, C/C++, Markdown, etc.).
- Command variables:
${FILE}(full path),${DIR}(directory),${BASENAME}(name without extension),${BASEFILE}(full path without extension),${FILENAME},${EXT},${LINE},${COL}. Also accepted as$(VAR). - Real-time output with clickable error list; click an error to jump directly to the line.
- Automatic PDF detection: the preview button activates instantly if a compiled PDF is already present.
- Auto-save before compilation.
- Live preview for Markdown, HTML, reStructuredText, LaTeX (structure), PDF.
- Hover preview: mouse over
\includegraphics{...},, or<img src="...">to see a floating image thumbnail (including vector PDF). - Math equation rendering on hover in LaTeX/Markdown files (
$...$,$$...$$,\[...\]). - SyncTeX: bidirectional sync between editor cursor and PDF position.
- Smart Crop: auto-trim PDF white margins (
✂). - Zoom with
Ctrl+Wheel, page navigation with the scroll wheel.
- Full terminal based on native PTY in the bottom panel (
Ctrl+`). - Supports any interactive program: vim, Python REPL, ssh, git, compilers.
- No external dependencies; works on all supported platforms.
Native Language Server integration: real-time errors/warnings, hover documentation, go to definition, find references, rename symbol, format document.
Supported servers: pylsp (Python), clangd (C/C++), rust-analyzer (Rust), gopls (Go), typescript-language-server (TS/JS), texlab (LaTeX).
Dedicated tab in the bottom panel with auto-discovery of project tasks (Makefile, npm scripts, pyproject.toml) and a field for arbitrary manual commands.
Dock panel with multi-provider AI chat:
| Provider | Special features |
|---|---|
| Anthropic Claude | SSE streaming, Extended Thinking (Opus), dynamic model list from the API key |
| OpenAI | GPT-4o, GPT-4o-mini, o3-mini |
| Google Gemini | gemini-2.0-flash, gemini-1.5-pro |
| Ollama | Local models auto-detected (no key, no cost) |
Contextual actions (Explain, Refactor, Docstring, Fix bug, Unit tests, Review) directly from right-click in the editor. Bring-your-own-key; each provider has its own configurable API key.
| Plugin | Function |
|---|---|
| AI Assistant | Multi-provider AI chat with streaming, Extended Thinking, and dynamic model list |
| Clipboard History | Multi-entry clipboard with quick selection |
| Compare & Merge | Visual side-by-side file comparison |
| Database | Browser and query editor for SQLite, PostgreSQL, MySQL/MariaDB with AI SQL generation |
| Encrypt/Decrypt | AES-256-GCM and ChaCha20-Poly1305 encryption |
| Rich Text Editor | WYSIWYG editor for .doc, .docx, .odt, .rtf, .html powered by Jodit 4 |
| Spreadsheet | Full CSV, TSV, XLSX, XLS, XLSM, ODS editor with sort, filter, formulas, and charts |
| FTP Browser | Browse and edit files on FTP servers |
| Git Integration | Full Git panel: status, log, diff, branch, PR/MR |
| Hex Viewer | Hexadecimal view of binary files |
- 5 languages: Italian, English, German, French, Spanish; switch at runtime.
- 17 built-in themes + theme editor with live preview; import/export JSON.
- Icon sets: Lucide, Material, System; auto-downloaded on first use.
- Live clock in the menu bar with localized date and time.
- Spell checker (
F4): real-time spell checking with red squiggles for IT, EN, DE, FR, ES. Dictionary language is selectable independently from the UI language (Document → Dictionary Language). Right-click a highlighted word for suggestions, "Add to dictionary", or "Ignore all". - Plain text mode (
Ctrl+Alt+T): disable highlighting, brace matching and autocomplete per tab, restorable in one click. - Distraction-free writing mode (
F11): fullscreen with toolbar, statusbar, menubar, and panels hidden. Fully restored on exit. - Session restore: all files, cursor positions, and panel layout restored at startup. Optional auto-save on focus loss.
- Single instance: opening files from the file manager sends them to the running window.
git clone https://github.com/buzzqw/NotePadPQ.git
cd NotePadPQ
bash setup.sh
python main.pyCore dependencies (always required):
pip install PyQt6 PyQt6-QScintilla PyQt6-WebEngine chardet markdown docutils pygments pyspellchecker PyGithub python-gitlab keyringRich Text Editor plugin (optional):
pip install mammoth htmldocx # DOCX read/write
# pandoc: system-level install for ODT/RTF
# libreoffice: system-level install for .doc (Word 97-2003)Database plugin (optional):
pip install psycopg2-binary # PostgreSQL
pip install pymysql # MySQL/MariaDB
pip install cx_Oracle # Oracle
# SQLite: included in Python standard libraryLaTeX optional (only if you write/compile LaTeX):
pip install pymupdf matplotlib sympy
# synctex: included in TeX LiveIf you already have TeX Live for LaTeX compilation, all advanced LaTeX features (PDF hover preview, equation rendering, SyncTeX) activate automatically.
NotePadPQ is developed in spare time with passion. If you find it useful, consider a small donation; it helps keep the project alive.
Fatto con ❤️ in Italia · Made with ❤️ in Italy








