{"id":13426737,"url":"https://github.com/slap-editor/slap","last_synced_at":"2025-04-29T18:48:26.735Z","repository":{"id":16233709,"uuid":"18981255","full_name":"slap-editor/slap","owner":"slap-editor","description":"Sublime-like terminal-based text editor","archived":false,"fork":false,"pushed_at":"2021-11-01T04:47:39.000Z","size":1583,"stargazers_count":6161,"open_issues_count":114,"forks_count":220,"subscribers_count":141,"default_branch":"master","last_synced_at":"2025-04-10T00:11:25.945Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slap-editor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-21T03:39:14.000Z","updated_at":"2025-04-09T19:52:49.000Z","dependencies_parsed_at":"2022-07-21T06:47:24.379Z","dependency_job_id":null,"html_url":"https://github.com/slap-editor/slap","commit_stats":null,"previous_names":[],"tags_count":117,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slap-editor%2Fslap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slap-editor%2Fslap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slap-editor%2Fslap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slap-editor%2Fslap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slap-editor","download_url":"https://codeload.github.com/slap-editor/slap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251563575,"owners_count":21609754,"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-07-31T00:01:43.116Z","updated_at":"2025-04-29T18:48:26.719Z","avatar_url":"https://github.com/slap-editor.png","language":"JavaScript","readme":"![Screenshot](https://raw.githubusercontent.com/slap-editor/slap/master/screenshot.png)\n\nslap :wave: [![Build Status](https://img.shields.io/travis/slap-editor/slap.svg)](https://travis-ci.org/slap-editor/slap) [![Donate](https://img.shields.io/gratipay/slap.svg)](https://gratipay.com/slap/)\n====\n\nslap is a Sublime-like terminal-based text editor that strives to make editing\nfrom the terminal easier. It has:\n\n* first-class mouse support (even over an SSH connection)\n* a Sublime-like file sidebar\n* double-click to select word, highlight other occurrences\n* configurable Sublime-like [keybindings](#default-keybindings)[*](#some-keys-dont-work) (\u003ckbd\u003eCtrl+S\u003c/kbd\u003e save, \u003ckbd\u003eCtrl+Z\u003c/kbd\u003e undo, etc.)\n* copying/pasting with OS clipboard support\n* infinite undo/redo\n* syntax highlighting for [100+ languages](https://github.com/isagalaev/highlight.js/tree/master/src/languages)\n* bracket matching\n* autoindentation\n* heavily customizeable via [plugins](#plugins)\n* ... many other features that will make you leave nano, vim, and emacs behind\n\nInstallation\n------------\n\n    $ curl -sL https://raw.githubusercontent.com/slap-editor/slap/master/install.sh | sh\n\nIf you already have [NodeJS](http://nodejs.org/download/) installed:\n\n    $ sudo npm install -g slap@latest\n\nUsage\n-----\n\n    $ slap fish.c\n    $ slap fish1.c fish2.c\n    $ slap redfish/ # open dir\n    $ slap # new file\n\n### Default keybindings\n\n* **Quit**: \u003ckbd\u003eCtrl+Q\u003c/kbd\u003e\n* **Movement**: mouse or arrow keys and \u003ckbd\u003ePageUp/Down\u003c/kbd\u003e/\u003ckbd\u003eHome\u003c/kbd\u003e/\u003ckbd\u003eEnd\u003c/kbd\u003e\n  * \u003ckbd\u003eShift\u003c/kbd\u003e or click+drag to select, \u003ckbd\u003eCtrl\u003c/kbd\u003e/\u003ckbd\u003eAlt\u003c/kbd\u003e to move faster\n* **Save**: \u003ckbd\u003eCtrl+S\u003c/kbd\u003e\n* **Undo**: \u003ckbd\u003eCtrl+Z\u003c/kbd\u003e, **redo**: \u003ckbd\u003eCtrl+Y\u003c/kbd\u003e\n* **List open tabs**: \u003ckbd\u003eCtrl+L\u003c/kbd\u003e\n* **Next/previous tab**: \u003ckbd\u003eCtrl+Alt+PageUp/Down\u003c/kbd\u003e\n* **Close tab**: \u003ckbd\u003eCtrl+W\u003c/kbd\u003e\n* **Find**: \u003ckbd\u003eCtrl+F\u003c/kbd\u003e\n* **Go to line**: \u003ckbd\u003eCtrl+G\u003c/kbd\u003e\n* **Go to matching bracket**: \u003ckbd\u003eCtrl+]\u003c/kbd\u003e\n* **Open**: \u003ckbd\u003eCtrl+O\u003c/kbd\u003e (or click the filebrowser)\n* **New file**: \u003ckbd\u003eCtrl+N\u003c/kbd\u003e\n\n### Configuration\n\nslap supports INI or JSON config files. You can put configuration [wherever rc can find it](https://github.com/dominictarr/rc#standards).\nA mostly empty configuration file with some useful comments is created in [`~/.slap/config`](default-config.ini)\nif an existing file isn't found.\n\nPass configuration via command line:\n\n    $ slap --header.style.bg red file.c\n\n### Plugins\n\nSlap is fully customizeable and supports plugins written in JS. You can place\nsingle JS files, or NodeJS packages, into `~/.slap/plugins/`.\n\nTo write your own plugin, a good starting point is\n[slap-clipboard-plugin](https://github.com/slap-editor/slap-clipboard-plugin).\nPlease note that plugin packages must have `\"keywords\": [\"slap-plugin\"]` in\n`package.json`.\n\nOS support\n----------\n\n### OSX\n\niTerm2 supports the mouse and most keybindings out of the box. For optimal\nTerminal.app usage, see [slap-Terminal.app-profile](https://github.com/slap-editor/slap-Terminal.app-profile).\n\n### Linux\n\nIf you are using X.Org, ensure xclip is installed for OS clipboard support.\n\n### Windows\n\nMost terminal emulators in Windows do not support mouse events, PuTTY being a\nnotable exception. In Cygwin, slap crashes on startup due to\n[joyent/node#6459](https://github.com/joyent/node/issues/6459).\n\n[Issues](../../issues/new)\n--------\n\nJoin us in [#slap on Freenode](http://webchat.freenode.net/?channels=slap) for\ntroubleshooting, theme/plugin/core development, or palm strike discussion of any\nnature.\n\n### Some keys don't work!\n\n*NOTE: if you are using Terminal.app, see [slap-Terminal.app-profile](https://github.com/slap-editor/slap-Terminal.app-profile).*\n\nUnfortunately most terminal emulators do not support certain keystrokes and as\nsuch there is no way to handle them. These include `C-backspace`, `S-home/end`,\nand `S-pageup/down`. Most of these actions have alternate keybindings, inspired\nby emacs and other editors, but if you find one that doesn't work, please\n[submit an issue](../../issues/new)!\n\n### Slow on single cores, Raspberry Pi\n\nslap is based on Github's [atom/text-buffer](https://github.com/atom/text-buffer),\nand as such should be very performant, even with very large files.\n\nTry `--editor.highlight false` or adding the following to `~/.slap/config`:\n\n    [editor]\n    highlight = false\n\nIf that doesn't improve performance, please run with `--perf.profile true` and\n[submit an issue](../../issues/new) with the newly-created `v8.log` file.\n","funding_links":[],"categories":["JavaScript","Text Editors","Repository","For Developers","others","Table of Contents","Packages","\u003ca name=\"editors\"\u003e\u003c/a\u003eEditors","包","IDEs and Editors","Built with blessed"],"sub_categories":["Windows","Command-line Utilities","Directory Navigation","Command-line apps","命令行应用","Live chat"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslap-editor%2Fslap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslap-editor%2Fslap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslap-editor%2Fslap/lists"}