{"id":21206606,"url":"https://github.com/oncomouse/vim-autorepl","last_synced_at":"2026-01-02T22:08:03.213Z","repository":{"id":149628511,"uuid":"308935005","full_name":"oncomouse/vim-autorepl","owner":"oncomouse","description":"Start REPLs quickly and easily in Vim and Neovim","archived":false,"fork":false,"pushed_at":"2020-11-06T15:09:43.000Z","size":5,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-21T15:48:37.329Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Vim script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oncomouse.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-31T17:23:43.000Z","updated_at":"2020-12-17T20:47:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"b4966961-8f72-4716-9172-7bbcc21f4836","html_url":"https://github.com/oncomouse/vim-autorepl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oncomouse%2Fvim-autorepl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oncomouse%2Fvim-autorepl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oncomouse%2Fvim-autorepl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oncomouse%2Fvim-autorepl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oncomouse","download_url":"https://codeload.github.com/oncomouse/vim-autorepl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243658270,"owners_count":20326467,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-20T20:56:12.855Z","updated_at":"2026-01-02T22:08:03.191Z","avatar_url":"https://github.com/oncomouse.png","language":"Vim script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vim-autorepl\n\n**vim-autorepl** starts [REPLs (Read, Evaluate, Print Loop)](https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop) quickly and easily in Vim and Neovim. It can be configured to start a REPL when you load a file of a particular type or only when you need it.\n\nThe plugin optionally integrates with [vim-slime](https://github.com/jpalardy/vim-slime), to create an easy-to-use setup for evaluating code within vim.\n\n## Configuring\n\n**vim-autorepl** is configured using a dictionary stored in `g:autorepl_commands`, where each key is a `\u0026filetype` value recognized by Vim. The values of each key can either be a string or a dictionary. If a string, the command will automatically load and is assumed to be interactive (see below). If a dictionary, automation and interactivity can be set.\n\nHere's an example:\n\n~~~vim\nlet g:autorepl_commands = {\n\t\\'haskell': '~/.ghcup/bin/ghci',\n\t\\'javascript': {'command': '/usr/local/bin/node', 'auto': 0},\n\t\\'janet: {'command': '/usr/local/bin/janet -e \"(import spork/netrepl) (netrepl/server)\"', 'interactive': 0},\n\t\\}\n~~~\n\nThe entry for Haskell starts `ghci` interactively and automatically when a Haskell file is opened. The entry for Javascript starts Node in REPL mode but will not do so automatically (see \"Interface\" for how to start). The entry for [Janet](https://janet-lang.org/) starts without interactivity and could be used with a plugin such as [Conjure](https://github.com/Olical/conjure) (you could also use this setup with something like Clojure and [vim-fireplace](https://github.com/tpope/vim-fireplace) to start `lein` or `boot`).\n\n## Interface\n\nIf you are using the automatic start, there isn't anything to do. However, **vim-autorepl** provides a few functions to make working with REPLS easier.\n\n### I Need to Start A REPL\n\nIf you are not using automatic start or you accidentally closed an automatic REPL, run `call autorepl#start_repl()` from within a buffer with a configured `\u0026filetype` and the REPL will start.\n\n### Other Things\n\nThe rest of the plugin interface is related to support for [vim-slime](https://github.com/jpalardy/vim-slime), which is discussed below.\n\n## `vim-slime` Support (optional)\n\n**vim-autorepl** will automatically connect [vim-slime](https://github.com/jpalardy/vim-slime) to REPLs it starts, if you configure vim-slime correctly.\n\nTo use **vim-autorepl** with vim-slime connectivity, add `let g:slime_target='neovim'` (for Neovim) or `g:slime_target='vimterminal'` (for Vim) to your vim start-up script.\n\n### I've Closed My REPL!\n\nRun `call autorepl#start_repl()` will create a new REPL (or open one if you aren't using automatic starting) and will automatically re-connect vim-slime\n\n### A Buffer Isn't Connected to My REPL!\n\nIf you have a REPL open but some buffers were opened before and are not connected, in each buffer, run `call autorepl#attach_repl()` to connect vim-slime to a running REPL.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foncomouse%2Fvim-autorepl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foncomouse%2Fvim-autorepl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foncomouse%2Fvim-autorepl/lists"}