https://github.com/dknight/nes.nvim
Simple Neovim plugin for building and running NES or Famicom projects (6502).
https://github.com/dknight/nes.nvim
Last synced: 18 days ago
JSON representation
Simple Neovim plugin for building and running NES or Famicom projects (6502).
- Host: GitHub
- URL: https://github.com/dknight/nes.nvim
- Owner: dknight
- License: mit
- Created: 2026-04-22T19:33:52.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-12T14:21:28.000Z (about 1 month ago)
- Last Synced: 2026-05-12T16:10:13.588Z (about 1 month ago)
- Language: Lua
- Homepage:
- Size: 22.5 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

Simple Neovim plugin for building and running NES or Famicom (6502)
projects.
## Installation (lazy.nvim)
Basic config, here `fceux` is set as emulator, you can choose your own.
```lua
{
"dknight/nes.nvim",
name = "nes.nvim",
opts = {
emulator = "fceux", -- or your own emulator
},
-- If you wish to use snippets.
dependencies = {
"L3MON4D3/LuaSnip",
},
}
```
## Commands
- `:NesBuild` - compile + link;
- `:NesRun` - compile + link + run;
- `:NesClean` - remove `*.o` and `*.nes` files.
## Keymaps (asm\_ca65)
- `b` - build
- `r` - run
- `x` - clean
Or you can defined own keys in plugin's config, like:
```lua
{
"dknight/nes.nvim",
name = "nes.nvim",
opts = {
-- ...
build_key = "",
run_key = "",
clean_key = "",
},
```
## Configuration (Optional)
Configuration can be override on plugin initialization.
```lua
{
"dknight/nes.nvim",
name = "nes.nvim",
ft = { "asm_ca65" },
dependencies = {
"L3MON4D3/LuaSnip",
},
cmd = { "NesBuild", "NesRun", "NesClean" },
opts = {
save_before_compile = true,
compiler = "ca65",
linker = "cl65",
emulator = "fceux",
target = "nes",
build_key = "b",
run_key = "r",
clean_key = "x",
},
}
```