Pickachu: The BEST color picker for Vim
Table of Contents:
- You must have a Vim installation with Python3 support. If you're using NeoVim, you can simply type
pip3 install neovim.
- You must have Zenity installed on your computer. On most Linux operating systems, this is already installed.
- If you're on a Mac, there may still be hope. Here is a guide on installing Zenity with Homebrew on Mac
Add this line to your plugin loop:
git clone https://github.com/DougBeney/pickachu.git ~/.vim/bundle/pickachu
apt-vim install -y https://github.com/DougBeney/pickachu.git
:Pick [app] [optional: format]
Note: The full command of
:Pickachu. Use whatever feels more intuitive for you.
Note: By default,
app is set to
format has different defaults depending on what app you choose. See more about defaults and how to change them in the Configuration section
- color - The color-picker utility. Default format =
- date - The date-picker utility. Default format is
%m/%d/%Y. More about formatting is discussed in the Configuration section.
- file - The file-picker utility. There are no format options for this utility.
By default, there are no keyboard mappings to avoid conflicts with mappings you currently use.
However, here are some ideas:
Mapping the default color picker to
map <A-c> :Pickachu<CR>
Mapping the file chooser to
map <A-f> :Pickachu file<CR>
Mapping the date chooser to
map <A-d> :Pickachu date<CR>
let g:pickachu_default_app = "color"
Available apps: See Available Apps
Default Color Format
let g:pickachu_default_color_format = "hex"
Available color formats are:
Default Date Format
let g:pickachu_default_date_format = "%m/%d/%Y"
Date formatting is done through Python datetime. Below is a table showing different formatting codes you could use.
||Weekday as locale’s abbreviated name.||
Sun, Mon, …, Sat (en_US);
So, Mo, …, Sa (de_DE)
||Weekday as locale’s full name.||
Sunday, Monday, …, Saturday (en_US);
Sonntag, Montag, …, Samstag (de_DE)
||Weekday as a decimal number, where 0 is Sunday and 6 is Saturday.||0, 1, …, 6|
||Day of the month as a zero-padded decimal number.||01, 02, …, 31|
||Month as locale’s abbreviated name.||
Jan, Feb, …, Dec (en_US);
Jan, Feb, …, Dez (de_DE)
||Month as locale’s full name.||
January, February, …, December (en_US);
Januar, Februar, …, Dezember (de_DE)
||Month as a zero-padded decimal number.||01, 02, …, 12|
||Year without century as a zero-padded decimal number.||00, 01, …, 99|
||Year with century as a decimal number.||1970, 1988, 2001, 2013|
||Hour (24-hour clock) as a zero-padded decimal number.||00, 01, …, 23|
||Hour (12-hour clock) as a zero-padded decimal number.||01, 02, …, 12|
||Locale’s equivalent of either AM or PM.||
AM, PM (en_US);
am, pm (de_DE)
||Minute as a zero-padded decimal number.||00, 01, …, 59|
||Second as a zero-padded decimal number.||00, 01, …, 59||(3)|
||Microsecond as a decimal number, zero-padded on the left.||000000, 000001, …, 999999||(4)|
||UTC offset in the form +HHMM or -HHMM (empty string if the the object is naive).||(empty), +0000, -0400, +1030||(5)|
||Time zone name (empty string if the object is naive).||(empty), UTC, EST, CST|
||Day of the year as a zero-padded decimal number.||001, 002, …, 366|
||Week number of the year (Sunday as the first day of the week) as a zero padded decimal number. All days in a new year preceding the first Sunday are considered to be in week 0.||00, 01, …, 53||(6)|
||Week number of the year (Monday as the first day of the week) as a decimal number. All days in a new year preceding the first Monday are considered to be in week 0.||00, 01, …, 53||(6)|
||Locale’s appropriate date and time representation.||
Tue Aug 16 21:30:00 1988 (en_US);
Di 16 Aug 21:30:00 1988 (de_DE)
||Locale’s appropriate date representation.||
||Locale’s appropriate time representation.||
KDE / Qt5 / Qarma support
If you are a KDE and/or would rather use Qt5's color picker, install
After doing so, add the following line to your configuration:
let g:pickachu_default_command = "qarma"