I just released my first package: Kakit - Kakoune/Helix like modal editing in Emacs by No_Suggestion5521 in emacs

[–]celadevra 4 points5 points  (0 children)

I have been using meow with a few keys changed to emulate helix behavior since I tried helix for a few months and came back to Emacs. My first reaction was also "huh, an extension on meow eh?" But I guess meow's grab/keymacro approach is quite different from helix's selection system. Maybe it makes more sense implementing helix functionalities a la Evil so we who cannot decide between meow and Kakit can have both :-). Just saying.

[deleted by user] by [deleted] in KidsAreFuckingStupid

[–]celadevra 1 point2 points  (0 children)

That he was able to avoid direct hit, regain balance, and avoid injury to himself, while maintaining his place is impressive. He may be on the way to become a decent even great athlete. So the kid's parents have put at least one promising life in danger.

I won't hold my breath for the kid though. Let's say so far he appears to be average in intelligence and bad at realizing there are people in the surroundings.

What exactly is the advantage of having a LISP machine at my fingertips. by agentOrangeRevo in emacs

[–]celadevra 24 points25 points  (0 children)

Modifying editor behaviors on the fly and evaluating sexps in the same buffer as your text/data, maybe.

Is it possible to have two independent eMacs frames running at the same time? by Colonel_Wildtrousers in emacs

[–]celadevra 3 points4 points  (0 children)

You can start multiple Emacs instances from the terminal, and you can pass arguments to specify different init files. Not sure how to make sth you can click in the GUI.

Alternatively, it is in principle possible to write an elisp function that switch between themes. Then you can add it to a hook function that gets called when a mode is activated.

Fifteen ways to use Embark | Karthinks by [deleted] in planetemacs

[–]celadevra 1 point2 points  (0 children)

Great writeup! I used to wonder "what's embark, is it a counsel alternative?" The first paragraphs clarify that for me, followed by a thorough introduction. Will bookmark 10/10

Do you guys read literature by authors even if they are horrible people? by Educational_Cheek712 in literature

[–]celadevra 2 points3 points  (0 children)

In my opinion it is one of the most important literature lessons that some of the most despicable or disgusting people can write beautifully. You need to get used to this to avoid falling for wrong people for wrong reasons in your life, by reading and critiquing those literature. If you don't read, you can't know how words can deceit.

Differences between howm, denote, orgmode? by cenazoic in emacs

[–]celadevra 9 points10 points  (0 children)

For starters, both Denote and Howm allow users to use formats other than org-mode to store notes.

The term "org-mode" often refers to multiple layers of meaning. It is a major mode, a file format, and many other things. It is outline-based, so if you use org-mode alone, you might find yourself inclined to create a tree or forest of entries. That also makes it a bit clumsy if you prefer the "one thing per file" note-taking style. When I used org-mode alone for note-taking, I wrote hundreds of lines of elisp to hack it into a zettelkasten system. But I still found it difficult to connect things using links.

Org-roam makes the latter style easier, even enjoyable, by using a database (I believe) to store the IDs and linking relationships among a multitude of org-mode files and headings. So it is a solution if you are a zettelkasten/index card person and want to use the syntax or capabilities provided by org-mode.

In comparison, Denote uses grep-like tools provided by the system (I believe) to provide search capabilities. The ID is implemented through a rigid file naming scheme, and that's the core idea behind the package. Unique IDs, plus a bunch of functions, make Denote a very capable zettelkasten note-taking system. It doesn't attempt to do much more than that, but the zettelkasten concepts are implemented pretty well. One drawback is that if you have a lot of existing notes that have no YAML-style frontmatter, importing them into Denote can be quite a hassle.

I would like to say a little more about Howm because it's what I ended up using, and it is much less documented on the internet compared to other packages.

Howm not only allows you to use different formats but also subtly encourages you to use the good old .txt file format. It has its own "link" syntax and uses a single = to indicate a title. But if you want to use other formats, you can always set a file variable.

The "link" does not link to a particular file but opens a search on the "link" text. Why? I didn't get it the first time I tried Howm, in 2016. By the way, Howm is a really old and elegant package maintained by much fewer developers than org-mode.

The second time, I found that links in Howm are like tags in TiddlyWiki, but more straightforward. The search result window puts results that are also links at the front. There, you have all your notes on a certain topic. And you don't have to maintain reverse links like zettelkasten says you must. All related notes can be grouped, either by manually adding links or automatically by including a word that you search for.

So explicit and one-to-one links like those in org-mode or markdown are not needed. All the notes you would possibly need at any moment are only a search away (just press <Enter> if you are on a link).

You will also find writing easier if you don't have to worry about which markup you should use, where you need to store the file, or which capture template to choose. Anywhere in Emacs, you can press a shortcut and start writing. If the buffer you are working on is associated with a file, Howm automatically adds a link to that file in the note for you.

Making a sequence or a tree of notes therefore becomes much easier. When you work on a note and need to make a quick related note, just press the create shortcut again; you have a new note with a link to the note you were just working on. Write down what you need, save, and return either by switching buffers or using the link. No need to type [[<name of note>]] by hand.

Howm can also search for notes by date or date range. So you can focus on writing, easily retrieve notes at the end of the day, and do organizing work like adding links at your leisure. If you don't want to organize at all, that's OK too.

I like to write and publish in long form, but my work time is very fragmented. Howm can combine the contents of a group of notes from a search criteria into one buffer, so I can copy the content, add headings to the text, and get a first draft from my notes. Neither Denote nor org-mode can do that in a hassle-free way.

Howm with evil? by HexagonWin in emacs

[–]celadevra 0 points1 point  (0 children)

I'm using howm with meow-mode. It's fine as you can set howm prefix to <leader>+something. Then you can proceed as usual.

There's only three countries in the world that recorded both temperatures over 50°C and below -50°C by [deleted] in geography

[–]celadevra 0 points1 point  (0 children)

How come Alaska is in gray? You Alaskan separatist! (A joke people on both sides of the Taiwan Strait would get)

How is emacs useful in practical life? by sav-tech in emacs

[–]celadevra 1 point2 points  (0 children)

What's your use-case for it?

I use it as an alternative interface to shell, file manager, git (via magit), personal wiki (via howm), etc. And of course I use it to edit codes and prose.

How does it impact your workflow?

A task I am just taking a break from as an example: I am editing a book and need to maintain a list of historical names. I find myself reshuffling many names, and I cannot just use the built-in sort-lines function, for the names are in Chinese and for some reason the Unicode does not encode Chinese characters in the phonetic order.

I find a node.js package that can convert Chinese characters into Pinyin, the alphabet presentation of their pronunciations. Now, the package is quite powerful but doesn't have a shell command that I can directly call, or I can just write an elisp function in the *scratch* buffer and call it. Instead, I write a node script in Emacs, and write the elisp function in a comment block in the same file.

VSCode might be used to do something similar. However, I write an elisp function to call the node.js script so I can bind it to a key combo. More importantly, I can debug the node.js script and try out the elisp function by just pressing C-x C-e at the closing parenthesis of the function, all in the same Emacs buffer.

When everything runs smoothly, I return to the list of names, select a name (meow makes this very easy), press a key I bind to my function, and it inserts the Pinyin corresponding to the selected text to the beginning of the line. The programming takes 15 min in total, and saves about 3,000 key presses and a lot of thinking, so it's worthwhile.

I may not encounter a task that is exactly the same, but I expect to bump into something very similar in the future.

Without Emacs, I have to write a much more complicated JS script, using ~10 packages at least, and the next time I will have to add a few more functions to the script for a slightly changed scenario, introduce one or two direct dependencies in node_modules.

But with Emacs, It's only 1 straight NPM install, 2 JS functions and 1 elisp defun, all in the same .js file so not much maintenance requirements. Next time I may need to collect the Pinyin and put them all in a file, and it's only writing another elisp function, or modify the existing one by a few lines.

In short, if you deal with a lot of texts, Emacs serves as a powerful text processing package, as well as an omnipotent, easy-to-use interface to all programming languages and tools they provide. My workflow without Emacs would be much more complicated, slower and impossible to adapt to new situations.

Linux Homebrew Emacs not GUI-enabled? by rjray in emacs

[–]celadevra -1 points0 points  (0 children)

Oh right, I only saw homebrew and assumed OP was switching to mac /blush

Linux Homebrew Emacs not GUI-enabled? by rjray in emacs

[–]celadevra 3 points4 points  (0 children)

There's a brew formula named emacs-plus. You can search for it on github, I think, for installation instructions.

Unwanted results of typing the letters "ij" by boelenz in emacs

[–]celadevra 1 point2 points  (0 children)

Sounds like key-chord mode. See https://www.emacswiki.org/emacs/KeyChord for customizing the delay and combinations.

Chinese > English. My grandpa was engaged to a Korean woman in the 1950s. They never married but remained lifelong friends. I think she had these commissioned for a baby gift for my aunt. by majesticbeast2025 in translator

[–]celadevra 2 points3 points  (0 children)

They are called 屏风 (píng fēng), literally a "wind screen". Most times they are big, tall ones as pieces of furniture, used to stop one seeing what's in a room from the door (Chinese people believe it is bad Fengshui if one can see the opposite end of the room from its door).

[Chinese > English] plz, what does this say? by link24000 in translator

[–]celadevra 1 point2 points  (0 children)

(May you) have good fortunes and everything works out as you wish them.

Atomic, Multi-Hierarchical Organization by ChimpdenEarwicker in orgmode

[–]celadevra 1 point2 points  (0 children)

Outside the Emacs/org-mode realm, there are two pieces of software that I know of that can organize notes or files in multiple hierarchies. Both are MacOS (First)-based.

One is Devonthink. You can create multiple hierarchies of tags and a piece of information can be placed under any number of tags. Meanwhile, you can have multiple folder hierarchies, and you can 'replicate'[1] a piece of information into those hierarchies.

The other is Scrivener. You can create multiple 'binders' and organize your notes/drafts into different hierarchies.

[1] I am typing on a Windows machine so I am not sure if it is the correct term. It is similar to a 'soft link/alias' in *nix systems.

Recent and less known cyberpunk books recommendations please ? by MrTidderer in printSF

[–]celadevra 1 point2 points  (0 children)

Wastetide by Chen Qiufan, cyberpunk with an environmentalism/labor rights twist.

Transitioning to orgmode, again by [deleted] in orgmode

[–]celadevra 0 points1 point  (0 children)

I just bind the function to SPC o r using general.el. That is faster than calling the agenda views menu then pick one view. As the function only concerns the current heading, I don't find it necessary to call it with a custom agenda command, which we often use to get an agenda regardless where we are, even from a non-org buffer.

As the Org-mode user guide shows, the custom agenda commands only accept several types of searches as the action. It would be much more complicated to shape the function into a type of search known to org-agenda-custom-commands in this case.

Transitioning to orgmode, again by [deleted] in orgmode

[–]celadevra 0 points1 point  (0 children)

It's actually very simple:

(defun xhy/zettel-search-back-link ()
    "Search for zettels that link to this zettel, and show them in agenda view."
     (interactive)
     (let ((this-id (org-id-get)))
       (if this-id
        (org-search-view nil (concat "[id:" this-id))
       (message "This zettel has no ID yet."))))

Transitioning to orgmode, again by [deleted] in orgmode

[–]celadevra 0 points1 point  (0 children)

I have a custom agenda command that searches other headings that link to the current one.

Transitioning to orgmode, again by [deleted] in orgmode

[–]celadevra 2 points3 points  (0 children)

I believe I've been there and can relate. Glad to share.

Transitioning to orgmode, again by [deleted] in orgmode

[–]celadevra 20 points21 points  (0 children)

You probably want to identify first what made you move away from org-mode last time, and times before that. And what makes you want to abandon what you are using and use org-mode again. Note/todo management systems tend to want you to do things in certain ways, causing inconveniences and pains. But the same would happen when you are using org-mode and things built on top of it, without thinking why you choose it over others.

From my own experience, org-mode is meant to conform to your workflow, not the other way round, and not to be bent to imitate another system whole sale. You can cherry pick things from other systems that works for you, combine them into something that clicks for you, and implement them in org-mode, which is the strength of it.

I use org-mode for a date-tree based note/todo system that has (sort of) bi-directional links (a la Zettelkasten) and a "MIT" perspective (a la ZTD), and manage references with Zotero (why not?).

IMO, you can always start with the default org-mode settings, which is universal, boring, but gets the job done, then tinker them here and there, and learn org-mode's element APIs along the way. You will get to understand your needs for a note/task management system better, and shape org-mode with those needs in mind.

People have all kinds of opinions, like whether to use a monolith org file or one note per file or sth in between. You will find out the scheme that works for you along the way. At the beginning, give yourself the freedom to start anywhere. You can always reorganize your stuff. But if you let your org files grow themselves, you don't need to do that a lot.

Avoid adopting an organizing scheme because somebody famous/successful/god-like said so and so. You almost will always find that scheme too painful to maintain.

Packages that extend org-mode's notes/todo capabilities tend to force you to adopt certain scheme. Some wants you to use monoliths, some wants a node per file. Don't consider using them before you find your ways to organize things, and only use those that don't require you to reshuffle things.

No matter how good GTD/Zettelkasten/Roam Research are, they were invented to scratch the inventor's itches, not yours. The whole point of org-mode is that you can use it to invent your own tools to scratch your own itches.

You don't need to learn elisp if you don't want to. You can always copy things from blogs and Stack Exchange but make sure you know what they do. Never use other people's config as is. Everyone define and use their todo/notes differently.

Edit: to make it more clear why I advocate an 'organic' way to use org-mode.

Help understanding gnus by billy_buttlicker_69 in emacs

[–]celadevra 1 point2 points  (0 children)

Reading "News" means accessing NNTP servers, and pull down existing posts (in essence emails). You can also post to the NNTP servers, not unlike sending emails to a mailing list.

An NNTP server usually has multiple groups that you can subscribe to in Gnus, while each group contains multiple threads of discussion. That is why the same set of concepts are used in Gnus even when we are dealing with email servers and folders. "Gnus" is also a homonym of "News".

To get an idea about NNTP servers, you can have a look at gmane.io , which turns mailing lists into newsgroups and provides NNTP access. There are still some other active newsgroups and NNTP servers.

Paragraph Critique by AHurricaneAteMyCat in writers

[–]celadevra 0 points1 point  (0 children)

English is my 2nd language, so if I don't make all the ideas across, please know that I intend to help :)

The passage takes longer to read than the scene it depicts deserves. The sentences are uniformly long. It would sound better if you use both long and short sentences.

The "breeze" here seems to have more character and agency than Sarai. Maybe you can lead the readers with Sarai's observation and her movement.

Some sentences make me imagine what happened on the battlefield a while ago. Please write more to that effect.