Remoji is a simple emoji command line tool. It will search for and output emojis. This was written in order to be able to easily script emojis in various terminal and command line interfaces (specifically for irssi, initially). Inspired by em-keyboard, a python program which was meant to do the same. However, the output of em-keyboard was not suitable for piping to xclip (or in fact to piping at all). Remoji consists of a single executable, emj.

Installation

Important

Ruby and rubygems must be installed. If you utilize your operating system ruby, you may need administrator privileges to run the gem commands. If you do not yet have ruby/gems installed or do not want to install with administrator privileges, rbenv is recommended.

% gem i remoji

Usage

Note
The first time emj runs, it will offer to import an emoji database. You must have internet access for this
% emj --help

emj [options] <EMOJI ANOTHER_EMOJI ... | String With :substitutions: (with -n)>

Where EMOJI is an emoji name to search for
    -c, --cat CAT                    Find matches in a category
    -s, --subcat CAT                 Find matches in a subcategory
    -n, --no-details                 Treat arguments as a string and subsitute :emoji: blocks
        --subs, --subcategories      List subcategories
        --cats, --categories         List Categories
    -v, --verbose                    Increase verbosity
    -e, --exact                      Exactly match the emoji given, do not search for it
    -r, --regex                      Consider each argument a regular expression
    -h, --help

Examples

Normal List, searching the main category 'Animal' for 'cat'

% emj -c Animal cat
cat face: 

Same search using string substitition

% emj -n -c Animal :cat:

Using strings inline with emoji with -n

% emj -n The :cow: jumped over the :moon:
The 

Show all categories / subcategories

% emj --cats
% emj --subs

Show all emojis in the subcategory 'monkey-face' with lots of verbose data.

% emj -vs monkey-face
see-no-evil monkey: {:code=>"U+1F648", :sym=>"🙈", :cat=>"Smileys & Emotion", :subcat=>"monkey-face"}
hear-no-evil monkey: {:code=>"U+1F649", :sym=>"🙉", :cat=>"Smileys & Emotion", :subcat=>"monkey-face"}
speak-no-evil monkey: {:code=>"U+1F64A", :sym=>"🙊", :cat=>"Smileys & Emotion", :subcat=>"monkey-face"}

Show all emojis in the 'household' subcategory

% emj -s household
door: 

Print the emoji that exactly matches 'cat'

% emj -ne cat

Print Jenny’s number

% emj -n 'keycap: 8' 'keycap: 6' 'keycap: 7' 'minus sign' 'minus sign' 'keycap: 5' 'keycap: 3' 'keycap: 0' 'keycap: 9'

8

Usage with irssi

Set up aliases

/alias em /exec emj # <b class="conum">(1)</b>
/alias emj /exec -o emj -n # <b class="conum">(2)</b>
  1. This is used to search for emojis. It only shows up in your client

  2. This is used to display emojis and output them to your current channel

®Emoji!

Set further aliases up for fun/common stuff

/alias smiles /emj -s :smiles:
/smiles
11/09-14:32 < bougyman> 

Or just use casually.

/emj The :cow: jumped over the :moon:
11/16-21:41 <bougyman> The 

Get more exact

/emj -e The :cow: jumped over the :full moon:.
11/16-21:41 <bougyman> The 

Test your Emoji Support

This is every emoji defined in The Full Unicode Emoji List

Tip
This is the output of emj with no arguments.