Re: Input continuous stream of digraphs

35 views
Skip to first unread message

Manas

unread,
Jun 10, 2020, 6:06:09 AM6/10/20
to v...@vim.org

Hi guys, I want to know if it is possible to input digraphs continuously.

For example, when writing some math related assignment, often I have to write many symbols which I do using digraphs. But using <C-k> every time seems tedious. Is there a way I can make <C-k> (or anything else) work for infinite digraphs, until I manually end it.

Thanks
--
Manas
CSAM Undergraduate 2022

John Passaro

unread,
Jun 10, 2020, 4:17:32 PM6/10/20
to vim...@googlegroups.com, v...@vim.org
you could write a function with a while 1 loop that calls getchar() twice and calls exec 'normal i<C-K>' . char1 . char2, then calls itself recursively. Then ctrl-C would get you out.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/87bddb5f-af1b-e92e-9346-c111c64e6579%40iiitd.ac.in.

Manas

unread,
Jun 11, 2020, 12:13:56 AM6/11/20
to vim...@googlegroups.com, John Passaro, v...@vim.org

Hi, thanks for your reply.

On 11/06/20 1:47 am, John Passaro wrote:
you could write a function with a while 1 loop that calls getchar() twice and calls exec 'normal i<C-K>' . char1 . char2, then calls itself recursively. Then ctrl-C would get you out.

I ran into a some issues while doing this. I could not make <C-k> work under execute. For e.g.:

> function! TestFunc()

>    execute "normal! i<C-k>aa"

> endfunction

The above snippet is printing `<C-k>aa` as it is. How can I make it consider `<C-k>` as the control character rather than a string.

duv...@comfychair.org

unread,
Jun 11, 2020, 1:09:42 AM6/11/20
to vim...@googlegroups.com, John Passaro, v...@vim.org
This might also be of interest:

https://github.com/DrCracket/painless-digraph

Haven't used it myself, but it's been on my list to take a look at.

Danek

Tony Mechelynck

unread,
Jun 11, 2020, 2:31:24 AM6/11/20
to vim_use, Vim mailing list
Rather than digraphs, maybe use a keymap (see :help mbyte-keymap)? I use that (rather than strings of digraphs) when writing Russian, or mixed Cyrillic and Latin as in my Russian-French dictionary; and I have a different one for Arabic, where there even aren't any digraphs (both of them own-coded because the keybord layouts, if any, distributed with Vim for these scripts don't suit me). It works quite well.

For math, Dr. Charles "Chip" Campbell wrote a "math keymap and menu". The following links are from his Vim page, http://www.drchip.org/astronaut/vim/ :
Or if you prefer writing your own, here is a short HowTo page: https://vim.fandom.com/wiki/How_to_make_a_keymap

Best regards,
Tony.

Tony Mechelynck

unread,
Jun 11, 2020, 2:37:29 AM6/11/20
to vim_use, Vim mailing list
On Thu, Jun 11, 2020 at 8:31 AM Tony Mechelynck
<antoine.m...@gmail.com> wrote:
>
> On Wed, Jun 10, 2020 at 12:06 PM Manas <manas...@iiitd.ac.in> wrote:
>>
>> Hi guys, I want to know if it is possible to input digraphs continuously.
>>
>> For example, when writing some math related assignment, often I have to write many symbols which I do using digraphs. But using <C-k> every time seems tedious. Is there a way I can make <C-k> (or anything else) work for infinite digraphs, until I manually end it.
>>
>> Thanks
>> --
>> Manas
>> CSAM Undergraduate 2022
>>
> Rather than digraphs, maybe use a keymap (see :help mbyte-keymap)? I use that (rather than strings of digraphs) when writing Russian, or mixed Cyrillic and Latin as in my Russian-French dictionary; and I have a different one for Arabic, where there even aren't any digraphs (both of them own-coded because the keybord layouts, if any, distributed with Vim for these scripts don't suit me). It works quite well.

Oops! For Arabic there also are digraphs. But for more than two or
three consecutive letters, a keymap is much less "tedious" as you call
it.

Andy Wokula

unread,
Jun 11, 2020, 3:10:58 PM6/11/20
to vim...@googlegroups.com
Am 10.06.2020 um 12:05 schrieb Manas:
> Hi guys, I want to know if it is possible to input digraphs
> continuously.

To some extent, everything is possible.

> For example, when writing some math related assignment, often I have
> to write many symbols which I do using digraphs. But using <C-k>
> every time seems tedious. Is there a way I can make <C-k> (or
> anything else) work for infinite digraphs, until I manually end it.
>
> Thanks -- *Manas* CSAM Undergraduate 2022

Sticky digraphs
https://gist.github.com/Houl/31d1340c2de566de071bd02e6049382e


--
Andy

meine

unread,
Jun 18, 2020, 9:30:09 AM6/18/20
to vim...@googlegroups.com, v...@vim.org
On Wed, Jun 10, 2020 at 03:35:48PM +0530, Manas wrote:
> Hi guys, I want to know if it is possible to input digraphs
> continuously.
>
> For example, when writing some math related assignment, often I have to
> write many symbols which I do using digraphs. But using <C-k> every
> time seems tedious. Is there a way I can make <C-k> (or anything else)
> work for infinite digraphs, until I manually end it.

Use LaTeX for writing math stuff, or use a logic combination of regular
characters and substitute them after writing. you could also use aliases
for direct substitution.

//meine

Charles Campbell

unread,
Jun 18, 2020, 10:41:43 PM6/18/20
to vim...@googlegroups.com
Tony Mechelynck wrote:
On Wed, Jun 10, 2020 at 12:06 PM Manas <manas...@iiitd.ac.in> wrote:

Hi guys, I want to know if it is possible to input digraphs continuously.

For example, when writing some math related assignment, often I have to write many symbols which I do using digraphs. But using <C-k> every time seems tedious. Is there a way I can make <C-k> (or anything else) work for infinite digraphs, until I manually end it.

Thanks
--
Manas
CSAM Undergraduate 2022

Rather than digraphs, maybe use a keymap (see :help mbyte-keymap)? I use that (rather than strings of digraphs) when writing Russian, or mixed Cyrillic and Latin as in my Russian-French dictionary; and I have a different one for Arabic, where there even aren't any digraphs (both of them own-coded because the keybord layouts, if any, distributed with Vim for these scripts don't suit me). It works quite well.

For math, Dr. Charles "Chip" Campbell wrote a "math keymap and menu". The following links are from his Vim page, http://www.drchip.org/astronaut/vim/ :
• latest "beta" version: http://www.drchip.org/astronaut/vim/#MATH
Since you mentioned it, Tony -- I decided to update my website with a new version of the "math keymap and menu" vimball.  Mostly just the "mathify" has been updated.  With it, one could type 12345678, then visually select the digits, and hit ^ to cause them all to become superscripts.  Do the same thing with "abcdef" and hitting &, result would be αβψδϵφ (ie. Greek variants).  Not quite the same as a "digraph mode", but one does get a lot of conversion with but a few keypresses.  Here's an example:

┌─────────┐
│  dilog  │
│  Li₂(x) │
│         │
│  ∞  xᵏ  │
│  ∑  ――  │
│ k=1 k²  │
└─────────┘

(I used DrawIt to do the box, btw, also available at my website: http://www.drchip.org/astronaut/vim/index.html#DRAWIT )

Regards,
Chip Campbell
Reply all
Reply to author
Forward
0 new messages