Hello World

Using Emacs Combine Anything

I've written several Emacs tools to be more productive. As an Emacs Lisp novice, instead of writing pure Emacs Lisp programs, I used Emacs Lisp to encapsulate several console tools and use Emacs as an adhesive. Overall, it feels good to use.

I feel using Emacs as a console tools' GUI interface is a good choice. On the one hand, it can reuse a series of methods and plugins of Emacs and write some frequent operations as Emacs functions and bind them to a shortcut key. You can run some console commands easily and quickly while writing documents, On the other hand, there is no need to repeat the core logic of console tools.

Recently wrote for 4 Emacs tools:

  1. leetcode-emacs: https://github.com/ginqi7/leetcode-emacs, an emacs plugin to write Leetcode programs
  2. hbase-shell-emacs: https://github.com/ginqi7/hbase-shell-emacs, A Emacs Plugin for Hbase shell
  3. kubectl-emacs: https://github.com/ginqi7/kubectl-emacs, This is an Emacs plugin that makes it easier and faster to manage k8s using kubectl.
  4. global-interactive-emacs: https://github.com/ginqi7/global-interactive-emacs, Global Interactive Emacs

These tools can be divided into two categories:

The first 3 tools use Emacs as a GUI or interactive interface for a series of command-line tools

The last one is using Emacs as the backend of the system application shortcut launcher. Use interactive methods outside of Emacs defined in Emacs.

Using Emacs as a GUI or interactive interface

The idea and implementation of using Emacs as a GUI or interactive interface are very simple and intuitive.

Example

Global Interactive Emacs

This tool is inspired by article : Global interactive Emacs functions.It provides an idea to run Emacs functions outside of Emacs.

So I try to use this idea to write a tool like lauchbar or Alfred. It can help users quickly launch apps or run workflows.

I'm using it to replace the Launchbar.

Principle

the idea of Global Interactive Emacs is so interesting.

On Emacs, using completing-function to implement interactive function, it will use minibuffer to input function parameter.

Global Interactive Emacs overwrite the completing-function, using choose2 to accept parameter. So we can run Emacs interactive function without focus Emacs.

Pros and cons

This tool has some pros and cons, and I think if you have the following needs, you can try to use it :

Pros

Cons

Example

Footnotes


  1. emacs-ctable : Table Component for elisp↩︎

  2. choose github :Fuzzy matcher for OS X that uses both std{in,out} and a native GUI↩︎

  • Previous: Goodbye, Time
  • Next: Project Hail Mary Reading Notes