█████╗ ████████╗ ██████╗ ███╗ ███╗
██╔══██╗╚══██╔══╝██╔═══██╗████╗ ████║
███████║ ██║ ██║ ██║██╔████╔██║
██╔══██║ ██║ ██║ ██║██║╚██╔╝██║
██║ ██║ ██║ ╚██████╔╝██║ ╚═╝ ██║
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝
A lightning-fast, modal terminal editor written in Rust.
Atom is a modern, Vim-inspired terminal editor designed for speed and productivity. It combines the best of traditional modal editing with contemporary features like LSP, Tree-sitter, and a built-in package manager.
📚 Documentation Site | 🚀 Installation Guide | 📋 Prerequisites
- ⌨️ Vim-inspired Modal Editing: Powerful motions and operators including Visual Block mode (
Ctrl+V). - 🛠️ Nucleus Package Manager: Manage LSPs, DAPs, linters, and formatters with an intuitive UI (previously Mason).
- 🔭 Telescope-like Fuzzy Finder: Quickly find files, search text, and navigate your project.
- 🌳 Tree-sitter Integration: High-performance, language-aware syntax highlighting and indentation.
- 🚀 Native LSP Support: Auto-completion, diagnostics, go-to-definition, and refactoring out of the box.
- 📁 Integrated File Explorer: Navigate project structure with file previews (
Shift+P), splits, and vertical guides. - ⌨️ Command Wildmenu: Vim-style command-line completion with
TabandShift+Tab. - ⚙️ Lua Configuration: Customize Atom using a familiar
init.luawithvim.optandvim.keymap.set. - 🌿 Git Integration: Real-time branch status and file changes in the status line.
- 🎨 Beautiful UI: Modern aesthetics with rounded borders, icons, and customizable themes.
brew tap gnuzd/tap
brew install atomEnsure you have Rust installed.
git clone https://github.com/gnuzd/atom.git
cd atom
cargo build --releaseThe binary will be available at target/release/atom.
Simply run atom in your terminal:
atom [file or directory]i- Insert modev- Visual modeCtrl+v- Visual Block modeEsc- Back to Normal mode:w- Save file:q- Quit<Space>ff- Find files (Telescope)\- Toggle File Explorer<Space>tt- Toggle Trouble List<Space>m- Open Nucleus (Package Manager)gg/G- Jump to start/end (Editor or Explorer)PageUp/PageDown- Page scrolling (Editor or Explorer)
Atom is highly configurable via Lua. Create your configuration at ~/.config/atom/init.lua:
-- ~/.config/atom/init.lua
-- Options
vim.opt.colorscheme = "gruvbox-material"
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.tabstop = 4
-- Keymaps: vim.keymap.set(mode, lhs, rhs)
vim.keymap.set("i", "jk", "ExitMode")
vim.keymap.set("n", "<C-s>", "Save")Additional configuration files:
colorscheme.toml: Customize your editor's look.config.json: Legacy JSON configuration (optional).
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Made with ❤️ by gnuzd