Thanks Erik!
Works perfectly! :)
"^B" conflicts with the default prefix key in tmux, but of course it is trivial
to choose another key to go backwards.
☺/ A!ex
On Sat, Jan 22, 2022 at 01:12:37PM -0600, Erik Gustafson wrote:
> Hi all,
>
> Here's a modified 'insMode' that provides basic "structu
Hi all,
Here's a modified 'insMode' that provides basic "structural editing"
features:
https://gist.github.com/erdg/0e7d97cc66b205ffd5eadc9b637ed4a9
- balanced insert/delete of (super-)parens
- automatic code indentation
- line editing shortcuts from within insert mode
The line editing shortcut
Hi all.
To Erik:
Thank you for sharing, i am gradually starting to use parts of your viprc.
I think it is very healthy to have viprc bigger than vip itself.
To all:
I think we should strive for small, clean and simple default version of
Picolisp and Vip. Only put in ideas that are clean, powerful
Hi Erik,
thats really cool! Thanks a lot for sharing!
☺/ A!ex
On Sun, Dec 12, 2021 at 09:34:24PM -0600, Erik Gustafson wrote:
> Hi list,
>
> The rabbit hole went pretty deep. Here's my current viprc:
>
> https://gist.github.com/erdg/ebf4556382bc1bbbaf534c4ebd927322
>
> It now contains a subst
Hi list,
The rabbit hole went pretty deep. Here's my current viprc:
https://gist.github.com/erdg/ebf4556382bc1bbbaf534c4ebd927322
It now contains a substantial "command language" for lisp code based on
the keys '(', ')', '@' and '#'. There's also a bunch of utility functions
that
make writing th
Hi all,
useful new extensions in Vip:
1. A "map" command, to add or remove key mappings (basically a front-end to the
*KeyMap globals developed with Erik in this thread).
You can add a mapping for e.g. the "@" key, which is unused in Vip, like
this:
:map @ jjf(c%abc^V
This is
Hi beneroth,
> sounds to me a lot like ParEdit mode in emacs (it automatically creates
> closing parens and gives fast ways to indent/nest or un-nest S-expr's).
> I will check out your extensions and consider switching once again.
Please do! Might be a tough sell to the emacs crowd, but it beats
Hi Alex,
> I cannot dig into the whole code, but let me point to one minor error:
Namespaces strike again! Thanks, I'll fix it.
> I think this is difficult. [...]
Eh, not worth it then. I guess the solution to my example is the '#@'
command,
i.e. create a command that undoes whatever, if needed
On 05.11.21 08:41, Alexander Burger wrote:
>> to undo that action I need to press 'u' twice.
>> Ideally 'u' would undo everything that happened in the command's prg body.
> I think this is difficult. I know about this issue, e.g. when 'pipeN' is used
> (I
> use F4 a lot, e.g. when formatting thi
Wow! Great extensions Erik, especially
> [@@] - indent expr / paragraph
sounds to me a lot like ParEdit mode in emacs (it automatically creates
closing parens and gives fast ways to indent/nest or un-nest S-expr's).
I will check out your extensions and consider switching once again.
Thx,
- bener
Hi Erik,
> After a week of exclusively using vip for editing picolisp, here's what
> I've got:
>
> https://gist.github.com/erdg/ebf4556382bc1bbbaf534c4ebd927322
Wow, that is really a lot! Very nice to see that Vip is alive :)
I cannot dig into the whole code, but let me point to one minor erro
Hi all,
After a week of exclusively using vip for editing picolisp, here's what
I've got:
https://gist.github.com/erdg/ebf4556382bc1bbbaf534c4ebd927322
Most interesting are the "code formatting" commands ('@' prefix). Using vip
made
me realize how much I leaned on vim's "blinking parens" when wr
Hi Alex,
> More general are 'cutX', 'cutN' and 'paste'. They are the main internal
> editing
> workhorses, based on 'change'. 'change' takes care of everything, like
> maintaning undo/redo stacks, markup and rerfeshing the display.
>
Yep, this is it. 'paste' does what I need. "simulate ..." was
Hi Erik,
> What is the best way to programmatically add characters to the current line?
> The function 'insChar' can replace the character under the cursor, but I'd
'insChar' only replaces a single char (or the same char "count" times).
More general are 'cutX', 'cutN' and 'paste'. They are the m
Hi Alex,
What is the best way to programmatically add characters to the current line?
The function 'insChar' can replace the character under the cursor, but I'd
like
to simulate pressing 'i' to enter insert mode, typing e.g. "#{", pressing
esc,
etc, from code in 'viprc'.
Thanks,
Erik
On Mon, Oct
Hi Alex,
The file must be loaded in 'vip' namespace to have the right context:
>
>(symbols '(vip pico)
> (load "~/.pil/viprc") )
>
symbols - one of my blindspots! Thank you
Hi Erik,
> What is the best way to reload 'viprc' while vip is running?
>
> With a simple
>
> (load "~/.pil/viprc")
>
> the changes do not take effect.
The file must be loaded in 'vip' namespace to have the right context:
(symbols '(vip pico)
(load "~/.pil/viprc") )
☺/ A!ex
--
Hi Alex,
What is the best way to reload 'viprc' while vip is running?
With a simple
(load "~/.pil/viprc")
the changes do not take effect.
Instead, I've been reloading '@lib/vip.l' (which then loads 'viprc'). This
works, but it seems there is a weird bug... any time the ':e' command is
used
Hi Erik,
> Now, no lisp editor is complete without an implementation of "Rainbow
> Parens":
>
> https://gist.github.com/erdg/9b9499dc53e8dbbf1ef0a7a574318d02
>
> They change color every time the screen is redrawn. It caught me by
> surprise, I
> don't think I've ever laughed so hard while coding
Hi Alex,
> Great! I released it :)
>
Thanks!
Now, no lisp editor is complete without an implementation of "Rainbow
Parens":
https://gist.github.com/erdg/9b9499dc53e8dbbf1ef0a7a574318d02
They change color every time the screen is redrawn. It caught me by
surprise, I
don't think I've ever laughe
Hi Erik,
> This is great, much cleaner. I've moved my key maps to 'viprc' now and
> updated
> the 'vi' function:
>...
> Simple and effective, works perfectly!
Great! I released it :)
☺/ A!ex
--
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Hi Alex,
>(de *KeyMap
> > ("^u" ...) # half page up
> > ...
> >(de *KeyMap-g
> > ...
> >(de *KeyMap-q
> > ...
> > which are then 'assoc'ed in the proper places in the main loop.
>
> AND: These places should always be at the *beginning* of the 'case'
> statements.
> In this way,
On Sun, Oct 24, 2021 at 05:19:40PM +0200, Alexander Burger wrote:
>(de *KeyMap
> ("^u" ...) # half page up
> ...
>(de *KeyMap-g
> ...
>(de *KeyMap-q
> ...
> which are then 'assoc'ed in the proper places in the main loop.
AND: These places should always be at the *beginning* of t
Hi Erik,
> I've got a handful that I've just inserted into the main loop, but
> that seems less than ideal.
Right.
> It would become a lot of copying and pasting to try
> to keep my tweaks in sync with VIP as you continue to develop it.
>
> Would it be possible to have a slot in the loop for u
Hi Alex,
Currently there are only *F7 through *F12 reserved. For example, my actual
> ~/.pil/viprc is this:
> [ ... ]
Thanks for sharing, I'm going to use some of those :)
> We could add more hooks perhaps. But I'm not sure if this is really
> helpful.
>
What about adding new 'normal mod
Hi Erik,
> I was hacking 'VIP' a bit today, and thought I'd share the results.
Good idea! :)
> A new color scheme:
> https://gist.github.com/erdg/8d5ad1649975153c963ba7b0a1210fe5
>
> And a few normal mode commands for manipulating code comments:
> https://gist.github.com/erdg/24e53ad4fcc71d08c8
Hi Alex, list,
I was hacking 'VIP' a bit today, and thought I'd share the results.
A new color scheme:
https://gist.github.com/erdg/8d5ad1649975153c963ba7b0a1210fe5
And a few normal mode commands for manipulating code comments:
https://gist.github.com/erdg/24e53ad4fcc71d08c88a432c2bcc6544
Mostl
Hi David,
> > (For some reasons, the default "libncurses.so" is NOT a shared object
> > library
> > which can be called from C programs, but a text file with some kind of
> > pointer
> > or link in it)
> ...
> Wow...it's situations like this that make me feel I'll never understand C.
> Why use an
Hi Alex and thanks for the speedy reply.
>
> Yes, this is the common problem. I tried to explain it in the article,
> perhaps
> it got a bit too short:
>
> Oops, I was trying to avoid the common problem. Not your directions so
much as my misunderstanding of C perhaps, see below. Following your
d
I've had the same experience on a 64-bit Linux Mint installation.
Bob
On Tue, Jan 3, 2017 at 10:05 PM, David Bloom wrote:
> Thank you Alex for another exciting utility as well as more example code
> to learn from. I'm having some difficulty installing vip and I hope
> someone can help me out.
Hi David,
> Thank you Alex for another exciting utility as well as more example code to
> learn from. I'm having some difficulty installing vip and I hope someone
> can help me out. Using a 64-bit Netrunner (based off of Manjaro based off
> Arch) install, a fresh 16-12 picolisp installation, and
Thank you Alex for another exciting utility as well as more example code to
learn from. I'm having some difficulty installing vip and I hope someone
can help me out. Using a 64-bit Netrunner (based off of Manjaro based off
Arch) install, a fresh 16-12 picolisp installation, and ncurses installed
Downloaded and Installed! Thanks Alex!
On Mon, Jan 2, 2017 at 2:29 AM, Alexander Burger
wrote:
> Hi all,
>
> here is an article about Vip, the Vi-Style Editor in PicoLisp:
>
>http://picolisp.com/wiki/?vip
>
> It consists of only 990 lines of code.
>
> Not that the world needs yet another edi
Hi all,
here is an article about Vip, the Vi-Style Editor in PicoLisp:
http://picolisp.com/wiki/?vip
It consists of only 990 lines of code.
Not that the world needs yet another editor! But it may serve as a useful
collection of PicoLisp coding examples :)
- Alex
--
UNSUBSCRIBE: mailto:pico
34 matches
Mail list logo