-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing several very useful paredit commands #5
Comments
Hello, thanks for the feedback! I'm afraid I might need some clarification on these commands:
Do these work differently from the following mappings? Lines 143 to 174 in b0878de
I use
I did think of implementing these, but I never got around to it because I don't use them myself. Since you do, however, I'll gladly add them when I return from my current hiatus.
These seem identical to vim-sexp's raise mappings: Lines 257 to 260 in b0878de
The difference between the two mappings is that one operates on the current compound form, while the other operated on the current sexp (aka You may also be interested in the swap commands, which move a compound form/element within a parent form: Lines 262 to 276 in b0878de
Again, I don't have much experience with paredit, so please let me know if I am misunderstanding these commands. I will implement the split and join commands when I am available. Thanks! |
Sung Pae, On Tue, Sep 2, 2014 at 4:11 PM, Sung Pae [email protected] wrote:
Thanks! They can be useful, though perhaps aren't used as often as some of
Backward and forward killing splice are more like vim-sexp's splice Given the following... (cursor indicated by | ) paredit-splice-sexp-killing-backward ==> 4 5 6
Yes. I am familiar with those - a very nice touch. I especially like that
Vim-sexp is a great plugin! I was extremely excited when I found it Sincerely,
|
Another useful feature would be the ability to specify a numeric count for the wrap commands: i.e., wrap the current sexp and the next {count}-1 sexps. I know you can select them visually, but that's a bit more work than simply specifying a count. |
+1 for downward movements. I miss these from emacs paredit. |
+1 for downward movements as well. This would complete the vim sexp experience! |
Just wondering about the status of vim-sexp development in general. I see no commits to master in the past year, and I noticed several forks have been created... I was very excited about the plugin's potential initially, but I'm concerned that development may have stalled... |
Brett, I've moved away from vim-sexp entirely as have other people I imagine. Am currently On Mon, Aug 1, 2016 at 2:08 PM, Brett Stahlman [email protected]
|
@bhurlow Thanks Brian. An intriguing concept. I've been reading through the docs, and may have a question or two for you (if you don't mind) after I've had a chance to digest... |
@bpstahlman which S expression lang are you targeting? |
Primarily Clojure and Scheme. Have also worked with Picolisp. I've tried On Aug 9, 2016 6:40 PM, "Brian Hurlow" [email protected] wrote:
|
Howdy all! vim-sexp is not abandoned, but its maintainer is a little busy! For now, compound and element text objects work well, and moving sexps around still feels awesome. We should add the commands listed in this issue, but I think their present omission is merely inconvenient. Feature parity with the emacs paredit plugin is a goal, but the real meat and potatoes of vim-sexp are the text objects. The S-expression text objects compose well with vim idioms and other plugins, so I consider vim-sexp a success by that metric. Evaluation of Lisp forms is explicitly not a goal of this project. vim-sexp is a text-editing plugin that provides idiomatic ways to manipulate symbolic forms. It can be combined with REPL plugins like Fireplace¹ or screen.vim to provide a complete Lisp programming experience, but that is a task left to the user or to another plugin. I am probably not the right person to write a Lisp IDE since my own preferences in that space are unidiomatic. Anyway, thank you all for your comments, and could you please keep non-topical discussion off this issue page? |
Understood. Thanks. Incidentally @bhurlow , I've been corresponding with the author of parinfer, and from what I can tell, parinfer and vim-sexp are not necessarily mutually-exclusive. It might be possible to use vim-sexp for its powerful s-expression editing capability, and use parinfer (e.g., in remaps of << and >>) to handle paren recalculation in response to indent changes. |
+1 for split and join :) |
the now the only missing piece is the |
Shameless self-promotion ahead... For now, this can be used as a bit of a band-aid over the navigation: https://github.com/Sleepful/leap-by-word.nvim You can use it like |
A few alternatives that can be explored (but need to be worked on) would be:
|
oh wait nvm, looks like
https://github.com/guns/vim-sexp/blob/master/doc/vim-sexp.txt#L246C1-L247C79 |
I love vim-sexp, and am very excited about the possibility of using vim-sexp instead of paredit; having used it for several weeks, however, there are several useful paredit commands I really miss: e.g.,
paredit-forward-down
paredit-forward-up
paredit-backward-down
paredit-backward-up
paredit-split-sexp
paredit-join-sexps
paredit-splice-sexp-killing-backward
paredit-splice-sexp-killing-forward
If vim-sexp had these commands, I think it would be "no contest" between it and vim paredit (and possibly even emacs paredit)...
The text was updated successfully, but these errors were encountered: