Node.js based command-line client for tldr.
tldr-node-client's output for the
tar page, using a custom color theme
npm install -g tldr
Install from the snap store
In any of the supported Linux distros:
sudo snap install tldr
If you want to help testing the latest changes, and get the newer features earlier, you can install the snap from the edge channel:
sudo snap install tldr --edge
Note that the snap package is not fully tested and supported. It may be likely you encounter issues while using it. It is recommended to use the npm package instead.
To see tldr pages:
tldr <command>show examples for this command
tldr <command> --os=<platform>show command page for the given platform (
tldr --search "<query>"search all pages for the query
tldr --linux <command>show command page for Linux
tldr --osx <command>show command page for OSX
tldr --sunos <command>show command page for SunOS
tldr --listshow all pages for current platform
tldr --list-allshow all available pages
tldr --randomshow a page at random
tldr --random-exampleshow a single random example
tldr --markdownshow the original markdown format page
The client caches a copy of all pages locally, in
There are more commands to control the local cache:
tldr --updatedownload the latest pages and generate search index
tldr --clear-cachedelete the entire local cache
As a contributor, you might also need the following commands:
tldr --render <path>render a local page for testing purposes
Tldr pages defaults to showing pages in the current language of the operating system, or English if that's not available. To view tldr pages for a different language, set an environment variable
LANG containing a valid POSIX locale (such as
fr) and then run the above commands as usual. In most
*nix systems, this variable will already be set.
It is suggested that the
LANG environment variable be set system-wide if this isn't already the case. Users without
sudo access can set it locally in their
LANG=zh tldr <command>
For the list of available translations, please refer to the main tldr repo.
You can configure the
tldr client by adding a
.tldrrc file in your HOME directory. You can copy the contents of the
config.json file from the repo to get the basic structure to start with, and modify it to suit your needs.
The default color theme is the one named
"simple". You can change the theme by assigning a different value to the
"theme" variable -- either to one of the pre-configured themes, or to a new theme that you have previously created in the
"themes" section. Note that the colors and text effects you can choose are limited. Refer to the chalk documentation for all options.
If you regularly need pages for a different platform (e.g. Linux), you can put it in the config file:
The default platform value can be overwritten with command-line option:
tldr du --os=osx
As a contributor, you can also point to your own fork containing the
tldr.zip file. The file is just a zipped version of the entire tldr repo:
"repository" : ""
Currently we only support command-line autocompletion for zsh. Pull requests for other shells are most welcome!
It's easiest for oh-my-zsh users, so let's start with that.
mkdir -p $ZSH_CUSTOM/plugins/tldr ln -s bin/autocompletion.zsh $ZSH_CUSTOM/plugins/tldr/_tldr
Then add tldr to your oh-my-zsh plugins,
usually defined in
resulting in something looking like this:
plugins=(git tmux tldr)
Fret not regular zsh user!
Copy or symlink
(note the filename).
Then add the containing directory to your fpath:
fpath = (my/completions $fpath)
- If you are trying to install as non-root user (
npm install -g tldr) and get something like:
Error: EACCES: permission denied, access '/usr/local/lib/node_modules/tldr'
Then most probably your npm's default installation directory has improper permissions. You can resolve it by clicking here
- If you are trying to install as a root user (
sudo npm install -g tldr) and get something like:
as root -> gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/tldr/node_modules/webworker-threads/.node-gyp" gyp WARN EACCES user "root" does not have permission to access the dev dir "/usr/local/lib/node_modules/tldr/node_modules/webworker-threads/.node-gyp/8.9.1"
You need to add the option
--unsafe-perm to your command. This is because when npm goes to the postinstall step, it downgrades the permission levels to "nobody". Probably you should fix your installation directory permissions and install as a non-root user in the first place.
- If you see an error related to
/usr/local/lib/node_modules/tldr/node_modules/natural/lib/natural/classifiers/classifier.js:32 if (e.code !== 'MODULE_NOT_FOUND') throw e;
Most probably you need to reinstall
webworker-threads. Try this -
sudo -H npm uninstall -g tldr sudo -H npm uninstall -g webworker-threads npm install -g node-gyp npm install -g webworker-threads npm install -g tldr
For further context, take a look at this issue
Colors under Cygwin
Colors can't be shown under Mintty or PuTTY, because the dependency
colors.js has a bug.
Please show support to this pull request, so it can be merged.
Meanwhile, you can do one of the following to fix this issue:
- Add the following script to your shell's rc file (
.bashrc, etc.): (RECOMMENDED)
alias tldr="tldr --color=true"to your shell's rc file.
process.stdout.isTTY = true;to
colors.js's logic (NOT RECOMMENDED)
- Go to
supports-colors.jswith supports-colors.js from my repo.
- Go to
Contribution are most welcome! Have a look over here for a few rough guidelines.