HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
guns
vim-sexp
Vim Script2013–2015
guns / vim-sexp

vim-sexp

Precision Editing for S-expressions

4Distinct people
4Mentions
0Explicit recommenders
648GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Precision Editing for S-expressions

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month4 dated mentions

Observed mentions: 2013-12-15 19:35:30 UTC to 2015-05-05 02:06:13 UTC.

012013-12-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsDec 20132014-01-01 00:00:00 UTC to 2014-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-02-01 00:00:00 UTC to 2014-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-03-01 00:00:00 UTC to 2014-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-04-01 00:00:00 UTC to 2014-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-05-01 00:00:00 UTC to 2014-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-06-01 00:00:00 UTC to 2014-07-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2014-07-01 00:00:00 UTC to 2014-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-08-01 00:00:00 UTC to 2014-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsAug 20142014-09-01 00:00:00 UTC to 2014-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-10-01 00:00:00 UTC to 2014-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-11-01 00:00:00 UTC to 2014-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-12-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-01-01 00:00:00 UTC to 2015-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-02-01 00:00:00 UTC to 2015-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-03-01 00:00:00 UTC to 2015-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2015-04-01 00:00:00 UTC to 2015-05-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2015-05-01 00:00:00 UTC to 2015-06-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMay 2015

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Dec 20132013-12-01 00:00:00 UTC2014-01-01 00:00:00 UTC101
Jan 20142014-01-01 00:00:00 UTC2014-02-01 00:00:00 UTC000
Feb 20142014-02-01 00:00:00 UTC2014-03-01 00:00:00 UTC000
Mar 20142014-03-01 00:00:00 UTC2014-04-01 00:00:00 UTC000
Apr 20142014-04-01 00:00:00 UTC2014-05-01 00:00:00 UTC000
May 20142014-05-01 00:00:00 UTC2014-06-01 00:00:00 UTC000
Jun 20142014-06-01 00:00:00 UTC2014-07-01 00:00:00 UTC101
Jul 20142014-07-01 00:00:00 UTC2014-08-01 00:00:00 UTC000
Aug 20142014-08-01 00:00:00 UTC2014-09-01 00:00:00 UTC000
Sep 20142014-09-01 00:00:00 UTC2014-10-01 00:00:00 UTC000
Oct 20142014-10-01 00:00:00 UTC2014-11-01 00:00:00 UTC000
Nov 20142014-11-01 00:00:00 UTC2014-12-01 00:00:00 UTC000
Dec 20142014-12-01 00:00:00 UTC2015-01-01 00:00:00 UTC000
Jan 20152015-01-01 00:00:00 UTC2015-02-01 00:00:00 UTC000
Feb 20152015-02-01 00:00:00 UTC2015-03-01 00:00:00 UTC000
Mar 20152015-03-01 00:00:00 UTC2015-04-01 00:00:00 UTC000
Apr 20152015-04-01 00:00:00 UTC2015-05-01 00:00:00 UTC101
May 20152015-05-01 00:00:00 UTC2015-06-01 00:00:00 UTC101

What Hacker News says

4 sources
> There might as well be no concept of "words" or "lines" in a seasoned lisp programmer's mind, there's only sexps and forms Forgive me for plugging my own project, but vim-sexp¹ provides exactly this abstraction as Vim text-objects, which in turn may be composed with _any_ of the operations in Vim. S-expressions as text-objects is an amazing marriage of ideas. For example, the sexp text object can be used equally as an argument to eval, yank, delete, change, select, move, and every other operator, builtin or user-defined, each optionally accepting a count. After that, the whole operation can be repeated on a new S-expression with a simple tap of the repeat command. Because Lisp forms are so regular, these actions are precise and highly reliable. ¹ http://github.com/guns/vim-sexp
In Why Atom Can’t Replace Vim – Learning the lesson of vi
Brief overview of the landscape: For clojure/clojure-py/clojurescript, I start out with vim-sexp[0] (for vim motions over sexpressions; some people prefer the more common paredit.vim[1]), rainbow-parenthesis.vim[2], and vim-clojure-static[3] (for indention rules, syntax highlighting, etc). You'll want those regardless of which way you use to interact with Clojure. On top of that, you probably want some way to access a REPL. The top contenders seem to be: fireplace[4] (NREPL-based quasi-repl) slimv[5] (SLIME for CL, Clojure, Schemes, etc) vimux[6]/tslime[7] (copies from vim registers to a tmux/screen window where you presumably run lein repl or something) fireplace works pretty well. In theory, it can pick up the rest of the clojure world's nrepl middleware for advanced features. In practice, nobody seems to be doing this. I haven't looke
Read the rest
d into the codebase to figure out how to add support for various nrepl middleware, but it should be possible. slimv doesn't seem to be as popular in Clojure land. Most new development is based around nrepl, but you get some (not all) of its functionality thanks to ritz[8] being abstracted. I use vimux and normal vim shortcuts/macros to abstract my workflow. I like being able to handle cljs and clj in the same manner that I handle Python, Hy, Perl, and JavaScript. This is probably the route that requires the most vim knowledge and comfort with programming your lisp environment to make work. [0] - https://github.com/guns/vim-sexp [1] - https://github.com/vim-scripts/paredit.vim [2] - https://github.com/kien/rainbow_parentheses.vim [3] - https://github.com/guns/vim-clojure-static [4] - https://github.com/tpope/vim-fireplace [5] - https://github.com/kovisoft/slimv [6] - https://github.com/benmills/vimux [7] - https://github.com/kikijump/tslime.vim [8] - https://github.com/pallet/ritz
In Ask HN: How to get started with a modern Lisp

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.