Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/DougBeney/pickachu
The Best Color Picker for Vim! - A Color, Date, and File Chooser for Vim/NeoVim using Zenity
https://github.com/DougBeney/pickachu
Last synced: 19 days ago
JSON representation
The Best Color Picker for Vim! - A Color, Date, and File Chooser for Vim/NeoVim using Zenity
- Host: GitHub
- URL: https://github.com/DougBeney/pickachu
- Owner: DougBeney
- License: mit
- Created: 2018-01-11T22:17:41.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-23T15:01:48.000Z (almost 2 years ago)
- Last Synced: 2024-07-31T17:23:51.039Z (4 months ago)
- Language: Python
- Homepage: https://dougie.io
- Size: 33.2 KB
- Stars: 89
- Watchers: 3
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Pickachu: The BEST color picker for Vim
**Table of Contents**:
* [Demo](#demo)
* [Installation](#installation)
* [Plug](#plug)
* [Pathogen](#pathogen)
* [Apt-Vim](#apt-vim)
* [Usage](#usage)
* [Commands](#commands)
* [Available Apps](#available-apps)
* [Keyboard shortcuts](#keyboard-shortcuts)
* [Configuration](#configuration)
* [Global Variables](#global-variables)
* [Default App](#default-app)
* [Default Color Format](#default-color-format)
* [Default Date Format](#default-date-format)
* [KDE / Qt5 / Qarma support](#kde--qt5--qarma-support)## Demo
[Watch the GIF](https://gfycat.com/AccomplishedTintedJoey)
## 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](https://brewinstall.org/install-zenity-on-mac-with-brew/)### 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](#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](#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 :Pickachu
```**Mapping the file chooser to `alt+f`:**
```
map :Pickachu file
```**Mapping the date chooser to `alt+d`:**
```
map :Pickachu date
```## Configuration
### Global Variables
#### Default App
`let g:pickachu_default_app = "color"`
**Available apps:** See [Available Apps](#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](https://docs.python.org/2/library/datetime.html). 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"`