pickachu
pickachu copied to clipboard
The Best Color Picker for Vim! - A Color, Date, and File Chooser for Vim/NeoVim using Zenity
Pickachu: The BEST color picker for Vim
Table of Contents:
- Demo
-
Installation
- Plug
- Pathogen
- Apt-Vim
-
Usage
-
Commands
- Available Apps
- Keyboard shortcuts
-
Commands
-
Configuration
-
Global Variables
- Default App
- Default Color Format
- Default Date Format
- KDE / Qt5 / Qarma support
-
Global Variables
Demo
Installation
Notes:
- 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
Plug
Add this line to your plugin loop:
Plug 'DougBeney/pickachu'
Pathogen
git clone https://github.com/DougBeney/pickachu.git ~/.vim/bundle/pickachu
Apt-Vim
apt-vim install -y https://github.com/DougBeney/pickachu.git
Usage
Commands
:Pick
or...
:Pick [app] [optional: format]
Note: The full command of :Pick
is :Pickachu
. Use whatever feels more intuitive for you.
Note: By default, app
is set to color
and format
has different defaults depending on what app you choose. See more about defaults and how to change them in the Configuration section
Available Apps
-
color - The color-picker utility. Default format =
hex
. -
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.
Keyboard shortcuts
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 alt+c
:
map <A-c> :Pickachu<CR>
Mapping the file chooser to alt+f
:
map <A-f> :Pickachu file<CR>
Mapping the date chooser to alt+d
:
map <A-d> :Pickachu date<CR>
Configuration
Global Variables
Default App
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:
- hex
- rgb
- rgba
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.
Directive | Meaning | Example | Notes |
---|---|---|---|
%a |
Weekday as locale’s abbreviated name. | Sun, Mon, …, Sat
(en_US);
So, Mo, …, Sa
(de_DE)
|
(1) |
%A |
Weekday as locale’s full name. | Sunday, Monday, …,
Saturday (en_US);
Sonntag, Montag, …,
Samstag (de_DE)
|
(1) |
%w |
Weekday as a decimal number, where 0 is Sunday and 6 is Saturday. | 0, 1, …, 6 | |
%d |
Day of the month as a zero-padded decimal number. | 01, 02, …, 31 | |
%b |
Month as locale’s abbreviated name. | Jan, Feb, …, Dec
(en_US);
Jan, Feb, …, Dez
(de_DE)
|
(1) |
%B |
Month as locale’s full name. | January, February,
…, December (en_US);
Januar, Februar, …,
Dezember (de_DE)
|
(1) |
%m |
Month as a zero-padded decimal number. | 01, 02, …, 12 | |
%y |
Year without century as a zero-padded decimal number. | 00, 01, …, 99 | |
%Y |
Year with century as a decimal number. | 1970, 1988, 2001, 2013 | |
%H |
Hour (24-hour clock) as a zero-padded decimal number. | 00, 01, …, 23 | |
%I |
Hour (12-hour clock) as a zero-padded decimal number. | 01, 02, …, 12 | |
%p |
Locale’s equivalent of either AM or PM. | AM, PM (en_US);
am, pm (de_DE)
|
(1), (2) |
%M |
Minute as a zero-padded decimal number. | 00, 01, …, 59 | |
%S |
Second as a zero-padded decimal number. | 00, 01, …, 59 | (3) |
%f |
Microsecond as a decimal number, zero-padded on the left. | 000000, 000001, …, 999999 | (4) |
%z |
UTC offset in the form +HHMM or -HHMM (empty string if the the object is naive). | (empty), +0000, -0400, +1030 | (5) |
%Z |
Time zone name (empty string if the object is naive). | (empty), UTC, EST, CST | |
%j |
Day of the year as a zero-padded decimal number. | 001, 002, …, 366 | |
%U |
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) |
%W |
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) |
%c |
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)
|
(1) |
%x |
Locale’s appropriate date representation. | 08/16/88 (None);
08/16/1988 (en_US);
16.08.1988 (de_DE)
|
(1) |
%X |
Locale’s appropriate time representation. | 21:30:00 (en_US);
21:30:00 (de_DE)
|
(1) |
%% |
A literal '%' character. |
% |
KDE / Qt5 / Qarma support
If you are a KDE and/or would rather use Qt5's color picker, install qarma
.
After doing so, add the following line to your configuration:
let g:pickachu_default_command = "qarma"