Major update. Still wrestling to merge vim and restore order to tmux.

This commit is contained in:
Shawn Anderson 2020-09-28 10:37:07 -07:00
parent 1a8babc862
commit 4e7f957ec3
41 changed files with 14990 additions and 1027 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
fish_variables
NVIMS/
plugged/

View File

@ -12,22 +12,22 @@ To install:
sh stow
# Popos
# Popos-Gnome
In addition to the script-based configuration, I'll do my best to track and document my debian-gnome-popos settings, to make them as reproducable as possible.
# Keyboard-driven screenshoting
T
| | | | | |
|--------------------------------|-------|------|--------|----------|
| Mnemonic | Move | Area | Window | Screen |
| Key | Shift | Ctrl | Super | Alt |
| Screenshot Window to Clipboard | * | * | * | |
| Screenshot Area to Clipboard | * | * | | |
| Screenshot Screen to Clipboard | * | | * | |
| Screenshot Window to Pictures | | | * | |
| Screenshot Area to Clipboard | | * | * | |
| Screenshot Screen to Clipboard | | | * | |
I used the following mnemonics for shortcuts across my system. I use alt-u as the base for screenshots because function-u is the default print-screen on my keyboard.
| Key | Shift | Ctrl | Super | Alt |
|--------------------------------|-------|-------------|--------|--------|
| Mnemonic | Move | Select Area | Window | Screen |
|--------------------------------|-------|-------------|--------|--------|
| Screenshot Area to Clipboard | * | * | | |
| Screenshot Window to Clipboard | * | | * | |
| Screenshot Screen to Clipboard | * | | | * |
| Screenshot Area to Pictures | | * | | |
| Screenshot Window to Pictures | | | * | |
| Screenshot Screen to Pictures | | | | * |
[screenshot_keys.png](screenshot_keys.png)
(screenshot_keys.png)[screenshot_keys.png](
![screenshot_keys.png](popos-gnome/screenshot_keys.png)

View File

@ -0,0 +1,7 @@
[Desktop Entry]
Name=flameshot
Icon=flameshot
Exec=flameshot
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true

View File

@ -1,211 +0,0 @@
set aaa_mode=artist
set altformat_current= %F
set altformat_playlist= %f%= %d
set altformat_title=%f
set altformat_trackwin= %f%= %d
set auto_expand_albums_follow=true
set auto_expand_albums_search=true
set auto_expand_albums_selcur=true
set auto_reshuffle=true
set buffer_seconds=10
set color_cmdline_attr=default
set color_cmdline_bg=default
set color_cmdline_fg=default
set color_cur_sel_attr=default
set color_error=lightred
set color_info=lightyellow
set color_separator=blue
set color_statusline_attr=default
set color_statusline_bg=gray
set color_statusline_fg=black
set color_titleline_attr=default
set color_titleline_bg=blue
set color_titleline_fg=white
set color_trackwin_album_attr=bold
set color_trackwin_album_bg=default
set color_trackwin_album_fg=default
set color_win_attr=default
set color_win_bg=default
set color_win_cur=lightyellow
set color_win_cur_attr=default
set color_win_cur_sel_attr=default
set color_win_cur_sel_bg=blue
set color_win_cur_sel_fg=lightyellow
set color_win_dir=lightblue
set color_win_fg=default
set color_win_inactive_cur_sel_attr=default
set color_win_inactive_cur_sel_bg=gray
set color_win_inactive_cur_sel_fg=lightyellow
set color_win_inactive_sel_attr=default
set color_win_inactive_sel_bg=gray
set color_win_inactive_sel_fg=black
set color_win_sel_attr=default
set color_win_sel_bg=blue
set color_win_sel_fg=white
set color_win_title_attr=default
set color_win_title_bg=blue
set color_win_title_fg=white
set confirm_run=true
set continue=true
set device=/dev/cdrom
set display_artist_sort_name=false
set dsp.alsa.device=
set dsp.ao.buffer_size=16384
set dsp.ao.device_interface=
set dsp.ao.driver=
set dsp.ao.wav_counter=1
set dsp.ao.wav_dir=/home/ygg
set dsp.jack.resampling_quality=2
set dsp.jack.server_name=
set follow=false
set format_current= %a - %l -%3n. %t%= %y
set format_playlist= %-21%a %3n. %t%= %y %d %{?X!=0?%3X ? }
set format_playlist_va= %-21%A %3n. %t (%a)%= %y %d %{?X!=0?%3X ? }
set format_statusline= %{status} %{?show_playback_position?%{position} %{?duration?/ %{duration} }?%{?duration?%{duration} }}- %{total} %{?bpm>0?at %{bpm} BPM }%{?volume>=0?vol: %{?lvolume!=rvolume?%{lvolume},%{rvolume} ?%{volume} }}%{?stream?buf: %{buffer} }%{?show_current_bitrate & bitrate>=0? %{bitrate} kbps }%=%{?repeat_current?repeat current?%{?play_library?%{playlist_mode} from %{?play_sorted?sorted }library?playlist}} | %1{continue}%1{follow}%1{repeat}%1{shuffle}
set format_title=%a - %l - %t (%y)
set format_trackwin=%3n. %t%= %y %d
set format_trackwin_album= %l %= %{albumduration}
set format_trackwin_va=%3n. %t (%a)%= %y %d
set format_treewin= %l
set format_treewin_artist=%a
set icecast_default_charset=ISO-8859-1
set id3_default_charset=ISO-8859-1
set input.aac.priority=50
set input.cdio.cddb_url=freedb.freedb.org:8880
set input.cdio.priority=50
set input.cue.priority=50
set input.ffmpeg.priority=30
set input.flac.priority=50
set input.mad.priority=55
set input.modplug.priority=50
set input.mpc.priority=50
set input.opus.priority=50
set input.vorbis.priority=50
set input.wav.priority=50
set input.wavpack.priority=50
set lib_add_filter=
set lib_sort=albumartist date album discnumber tracknumber title filename play_count
set mixer.alsa.channel=
set mixer.alsa.device=
set mixer.pulse.restore_volume=1
set mouse=false
set mpris=true
set output_plugin=pulse
set passwd=pop-os
set pl_sort=
set play_library=true
set play_sorted=false
set repeat=true
set repeat_current=false
set replaygain=disabled
set replaygain_limit=true
set replaygain_preamp=0.000000
set resume=false
set rewind_offset=5
set scroll_offset=2
set set_term_title=true
set show_all_tracks=true
set show_current_bitrate=false
set show_hidden=false
set show_playback_position=true
set show_remaining_time=false
set shuffle=false
set skip_track_info=false
set smart_artist_sort=true
set softvol=false
set softvol_state=0 0
set start_view=tree
set status_display_program=
set time_show_leading_zero=true
set wrap_search=true
bind browser backspace browser-up
bind browser i toggle show_hidden
bind browser space win-activate
bind browser u win-update
bind common ! push shell
bind common + vol +10%
bind common , seek -1m
bind common - vol -10%
bind common . seek +1m
bind common / search-start
bind common 1 view tree
bind common 2 view sorted
bind common 3 view playlist
bind common 4 view queue
bind common 5 view browser
bind common 6 view filters
bind common 7 view settings
bind common = vol +10%
bind common ? search-b-start
bind common C toggle continue
bind common D win-remove
bind common E win-add-Q
bind common F push filter
bind common G win-bottom
bind common I echo {}
bind common L push live-filter
bind common M toggle play_library
bind common N search-prev
bind common P win-mv-before
bind common U win-update-cache
bind common [ vol +1% +0
bind common ] vol +0 +1%
bind common ^B win-page-up
bind common ^C echo Type :quit<enter> to exit cmus.
bind common ^D win-half-page-down
bind common ^E win-scroll-down
bind common ^F win-page-down
bind common ^L refresh
bind common ^N pl-create
bind common ^R toggle repeat_current
bind common ^U win-half-page-up
bind common ^Y win-scroll-up
bind common a win-add-l
bind common b player-next
bind common c player-pause
bind common delete win-remove
bind common down win-down
bind common e win-add-q
bind common end win-bottom
bind common enter win-activate
bind common f toggle follow
bind common g win-top
bind common h seek -5
bind common home win-top
bind common i win-sel-cur
bind common j win-down
bind common k win-up
bind common l seek +5
bind common left seek -5
bind common m toggle aaa_mode
bind common mlb_click_selected win-activate
bind common mouse_scroll_down win-down
bind common mouse_scroll_up win-up
bind common n search-next
bind common o toggle play_sorted
bind common p win-mv-after
bind common page_down win-page-down
bind common page_up win-page-up
bind common q quit -i
bind common r toggle repeat
bind common right seek +5
bind common s toggle shuffle
bind common space win-toggle
bind common t toggle show_remaining_time
bind common tab win-next
bind common u update-cache
bind common up win-up
bind common v player-stop
bind common x player-play
bind common y win-add-p
bind common z player-prev
bind common { vol -1% -0
bind common } vol -0 -1%
fset 90s=date>=1990&date<2000
fset classical=genre="Classical"
fset missing-tag=!stream&(artist=""|album=""|title=""|tracknumber=-1|date=-1)
fset mp3=filename="*.mp3"
fset ogg=filename="*.ogg"
fset ogg-or-mp3=ogg|mp3
fset unheard=play_count=0
factivate

Binary file not shown.

View File

@ -1,15 +0,0 @@
quit
q
host
set passwd=pop-os
pl-rename LadyZenaida
pl-rename my-playlist LadyZenaida
bind -f common ^N pl-create
bind -f common pl-create
bind common <key> pl-rename
pl-create my-playlist
bind common ^N pl-create
bind common <key> pl-create ^N
bind common <key> pl-create
bind common <key> bind
save

View File

@ -1,136 +0,0 @@
/home/ygg/Music/1 Hour of the Best Professor Layton Music (Part 2)--g53oLQgmN8.opus
/home/ygg/Music/Animals of The Earth Vol.1 (Ethnotronic, World, Ethnic, Tribal, folktronica, Acoustic, Chill Out)-bWrNxOA5NI4.opus
/home/ygg/Music/a storm of songs _ zelda ost + thunderstorm ambience-3FzJHsri8Zw.opus
/home/ygg/Music/Avatar - The Last Airbender Theme _ EPIC VERSION-6N9SS6L0TDU.opus
/home/ygg/Music/'Back To The 80's' _ Best of Synthwave And Retro Electro Music Mix for 1 Hour _ Vol. 16-XI5Bvplb7pQ.opus
/home/ygg/Music/Beautiful & Relaxing The Legend of Zelda Music-DM8gE6EMwhE.opus
/home/ygg/Music/Best Drum & Bass Mix 2020 (Melodic_Liquid Drum and Bass)-7j4WQ5qOBZY.opus
/home/ygg/Music/Buddha Deep Club (Compiled by Salvo Migliorini)-l1slyzGQ1yc.opus
/home/ygg/Music/Burning Man 2015 Deep Tunes for Deep playa Vol5-A-jUKBd0zF4.opus
/home/ygg/Music/Camo & Krooked - Loa-kYfua2wRajY.opus
/home/ygg/Music/Carbon Based Lifeforms - Derelicts _ Full Album-5o_uF1L5l6o.mkv
/home/ygg/Music/Carbon Based Lifeforms - Derelicts _ Full Album-5o_uF1L5l6o.opus
/home/ygg/Music/CharlestheFirst - Out of the Dark (45 Minutes of Original Music)-fhpA9Mp9_xc.webm
/home/ygg/Music/Charlotte de Witte New Form Livestream-3cOOu52n26c.opus
/home/ygg/Music/Chill Out Music Mix 🌷 Best Chill Trap, Indie, Deep House -rj73lCWeZQw.opus
/home/ygg/Music/CloZee 4_26_2020 Full Set-5_rlxHXY0pI.mp3
/home/ygg/Music/CloZee - Lollapalooza 2020 Set-j48gxPylyqo.opus
/home/ygg/Music/Cosmic Flux - Psychill, PsyTrance, Psybient Mix-grWRSyptTnk.opus
/home/ygg/Music/Creative Music vol 01 - Dwarves of the First Age-GNwv4cH-i5k.opus
/home/ygg/Music/Entheogenic - Animism [2020] (Full Album Tryptology Mixtape)-oDlxH2Jl3rs.opus
/home/ygg/Music/Fantasy Bard_Tavern Music Compilation-wLlovxa3VJ0.opus
/home/ygg/Music/Fernanda Pistelli @ Garden Sessions for 5uinto-DokOdAjPtLw.m4a
/home/ygg/Music/Final Fantasy ~ Jazz _ Brass Mix-7nI8Xuy363k.opus
/home/ygg/Music/Final Fantasy VIII - Complete Soundtrack-X6kAwpgW29M.opus
/home/ygg/Music/Flamingos healing journey-dN0uIGVi04U.opus
/home/ygg/Music/Full Hour of Avatar the Last Airbender and Korra Amazing Soundtracks!--_727Gt43xE.opus
/home/ygg/Music/Ghost of Me A Chill Trap and Future Bass Mix-7hpHZGOaNs0.opus
/home/ygg/Music/Globular & Geoglyph - Messages From The Resonator (Psychedelic Dub _ World Music)-Nq6M_Lod9RQ.mp3
/home/ygg/Music/Indie_Pop_Folk Compilation - August 2020 (1½-Hour Playlist)-pNfhQsMeIP4.opus
/home/ygg/Music/Jackson Lewis - Found In Love (Mose, San Miguel & more Remixes) [Folktronica]-hBDQ2FSRxnA.opus
/home/ygg/Music/Jakare - Apu (EP Mix) [Folktronica _ Downtempo]-c6rkYrwudww.opus
/home/ygg/Music/Jakare - Schizophonia (EP Mix) [Folktronica _ Shamanic Downtempo]-yFv6t9_-_24.f251.webm
/home/ygg/Music/Jakare - Schizophonia (EP Mix) [Folktronica _ Shamanic Downtempo]-yFv6t9_-_24.opus
/home/ygg/Music/Jakare - Schizophonia (EP Mix) [Folktronica _ Shamanic Downtempo]-yFv6t9_-_24.webm
/home/ygg/Music/Jules Urbach explains OTOY's real-time graphics rendering-sCLFaoDhQPU.m4a
/home/ygg/Music/Kingdom Hearts 2 OST Collection-d7b-cpSpS9A.opus
/home/ygg/Music/Leaves From The Vine (Little Soldier Boy) _ CINEMATIC ORCHESTRAL VERSION 🍃-vu9Bl4ZMOd0.opus
/home/ygg/Music/Lee Jones - A Perfect Kick (Matthias Meyer Remix)-XtriEg3neSg.opus
/home/ygg/Music/Liquid Bloom - Live @ Chill Out Gardens - Boom Festival 2018-uiYk1d9jL_w.opus
/home/ygg/Music/Moontricks - Home-BhAyt7g5tNs.opus
/home/ygg/Music/Mose - Cacao Dance @ Eagles Nest Atitlán-wKI-ngRQJ90.opus
/home/ygg/Music/NUMA - Fuego Sagrado (Mix) [Folktronica _ Tribal Downtempo _ Shamanic]-BKPQ_S71poE.opus
/home/ygg/Music/Ollie Mundy - Come Down with Me - The Full Moon Mix-X-KbDIfiRoI.opus
/home/ygg/Music/Relaxing and Emotional Zelda Music Mix (2020)-imO26FzxRro.opus
/home/ygg/Music/Relaxing The Legend of Zelda Jazz Covers--4OxmD4AocU.opus
/home/ygg/Music/Relaxing The Legend of Zelda - The Wind Waker Music-0r12JCTpEt0.opus
/home/ygg/Music/Sahalé - Djiin (6 hours)-nIsrrgF-xGE.opus
/home/ygg/Music/Sanctuary _ Chillstep Mix-0CDbtwIiW3A.opus
/home/ygg/Music/Seba - Painted Skies (Parallax Extended Remix)-zswXWHqzFkM.opus
/home/ygg/Music/Tales Of Symphonia Complete Soundtrack-o_PCgbplpj4.opus
/home/ygg/Music/The Last Agni Kai - Avatar the Last Airbender - One Hour-bLkQU60B-IA.opus
/home/ygg/Music/tribe_vibe/Brian Cid - Margarette (Buddha Bar by Armen Miran & Ravin 2017) (Original Mix)-oK-vkCEiwOI.mp3
/home/ygg/Music/tribe_vibe/Deya Dova - Return Of The Bird Tribes (saQi Remix)-DwT59_MfvyU.mp3
/home/ygg/Music/tribe_vibe/Ethnic Deep House Vol#10 (Armen Miran _Davi_ Oceanvs Orientalis )-134NlN8tdyc.mp3
/home/ygg/Music/tribe_vibe/Gerra G - A Mascara (Rodrigo Gallardo Remix) _ Exotic Refreshment LTD-ch8T2EULjxU.mp3
/home/ygg/Music/tribe_vibe/Go Dugong - Vidita (El Búho Remix)-ealqZDkQqXY.mp3
/home/ygg/Music/tribe_vibe/Honra (Original)-nDq-r2X9uFI.mp3
/home/ygg/Music/tribe_vibe/Ipek Ipekcioglu feat. Petra Nachtmanova - Uyan Uyan _ Kater130-9-ZsLSxWuhw.mp3
/home/ygg/Music/tribe_vibe/Jacob Groening, Zigan Aldi - Checkpoint-qKVtqwiRAdQ.mp3
/home/ygg/Music/tribe_vibe/Kazuma Akasaki - I Can Find You [Melodic Techno House Mix]-NfOGsZwwdjg.mp3
/home/ygg/Music/tribe_vibe/Layne Redmond & Tommy Brunjes - Morrocan Moon-YqmJoiHj8NE.mp3
/home/ygg/Music/tribe_vibe/Lee Jones - A Perfect Kick (Matthias Meyer Remix)-XtriEg3neSg.mp3
/home/ygg/Music/tribe_vibe/Lee Jones - One Grain-mIAtmjq0jC4.mp3
/home/ygg/Music/tribe_vibe/Moontricks - Solar Therapy-u2ltkcGOz_c.mp3
/home/ygg/Music/tribe_vibe/Mumbai Madness-bzXgX_V0Q0Y.mp3
/home/ygg/Music/tribe_vibe/NenaHelena - La Ka Ruba Ft. Akil [E008]-amj-LmHyGXM.mp3
/home/ygg/Music/tribe_vibe/Nostalgia (Extended)-L-3sPvjaUzM.mp3
/home/ygg/Music/tribe_vibe/Oceanvs Orientalis - Khronos (Full EP)-mDGCSZ8VTuw.mp3
/home/ygg/Music/tribe_vibe/Peter Power - Sun Sun Damba [Multi Culti]-aRC_7AE8DhI.mp3
/home/ygg/Music/tribe_vibe/Raz Ohara - El Zahir (Original Mix)-wKDmzUYKV9Q.mp3
/home/ygg/Music/tribe_vibe/Reaching Rujum-mYM4hasoo4o.mp3
/home/ygg/Music/tribe_vibe/Rej Senhor (Original Version)-fBkVbYDLJDM.mp3
/home/ygg/Music/tribe_vibe/Roots of Wisdom (Original)-e8luC8BR9i8.mp3
/home/ygg/Music/tribe_vibe/Satori (NL) feat. Miou Amadée - Days Without You (Crussen Remix)-qFMEKS0ZWn0.mp3
/home/ygg/Music/tribe_vibe/Theme For Namgar (Crussen Edit)-5oHPgSuKLZo.mp3
/home/ygg/Music/tribe_vibe/Timboletti - Helva Selva (feat. Ziski & Pophop Remix)-pAcFzVFzjKs.mp3
/home/ygg/Music/tribe_vibe/Traumer - Classroom-fyKY3tfyAVY.mp3
/home/ygg/Music/tribe_vibe/Unspoken Word (Intro)-ePayp_lvzV8.mp3
/home/ygg/Music/tribe_vibe/Vesaire-lLFYPPGcG-Q.mp3
/home/ygg/Music/tribe_vibe/Vidita Ft. Miriam García (El Buho Remix)-o2TgDfnPmZI.mp3
/home/ygg/Music/tribe_vibe/War Cry-J2sZUeasZkY.mp3
/home/ygg/Music/tribe_vibe/Yet Another Day Thinking About You-zEOe-ckZjJc.mp3
/home/ygg/Music/tribe_vibe/YokoO - Yet Another Day Thinking About You feat JoKe & Mauve [ADIDA001]-xOss6oP8xiY.mp3
/home/ygg/Music/Xenia - Live @ Radio Intense Kyiv 7.4.2020 _ Techno Mix-r3DMXRWcmCI.opus
/home/ygg/Music/yoga/Grounding Into Gratitude - Root Chakra Yoga - Yoga With Adriene-0pbuvhbg7po.f251.webm
/home/ygg/Music/yoga/Grounding Into Gratitude - Root Chakra Yoga - Yoga With Adriene-0pbuvhbg7po.mkv
/home/ygg/Music/yoga/Grounding Into Gratitude - Root Chakra Yoga - Yoga With Adriene-0pbuvhbg7po.opus
/home/ygg/Music/yoga/Grounding Root Chakra Guided Meditation - Stress Relief Meditation _ Chakra Challenge-cX6b6v1k0QQ.opus
/home/ygg/Music/Zelda Music To Relax_Study_Work_Game-W5AZeNGB6Ds.opus
/home/ygg/Music/Zelda Ocarina of Time - MASSIVE MEDLEY! - Super Guitar Bros-NFw-FrYmAEw.opus
/home/ygg/Music/zenaida/audio/Born this way cover - lady Zenaida-vrUs96lg_oA.m4a
/home/ygg/Music/zenaida/audio/Clean up the Ocean DNCE re-write cover-yeTdj45wbLo.m4a
/home/ygg/Music/zenaida/audio/Dream a little Dream - DIY Bee Condo-wgF-lzB_lSQ.m4a
/home/ygg/Music/zenaida/audio/'Friend Like Me' Cover - Lady Zenaida-eHK-u1-nLq8.opus
/home/ygg/Music/zenaida/audio/Lady Zenaida «  Everybody wants to be a Cat » Cover-PazfkBSaubI.m4a
/home/ygg/Music/zenaida/Born this way cover - lady Zenaida-vrUs96lg_oA.m4a
/home/ygg/Music/zenaida/Zenaida_FB_Altspace_Concert_10000000_249474506347465_7360425835515086942_n.mp4
/home/ygg/Music/zenaida/Zenaida_FB_Altspace_Concert_10000000_335146147822030_4963841038274551466_n.mp4
/home/ygg/Music/654-BitcoinIsPsychedelic.mp3
/home/ygg/Music/Summer Firefly feat. Deepakalypse (Prod. Stephan Jacobs).mp3
/home/ygg/Music/Electro House 2016 Best Festival Party Video Mix. New EDM, Dance Charts Songs. Club Music Remix.mp3
/home/ygg/Music/zenaida/audio/Humanite Uni Toi - demo.mp3
/home/ygg/Music/zenaida/Humanite Uni Toi - demo.mp3
/home/ygg/Music/zenaida/audio/Rainbow Warriors -Demo.mp3
/home/ygg/Music/zenaida/Rainbow Warriors -Demo.mp3
/home/ygg/Music/zenaida/audio/Save Me From Myself.mp3
/home/ygg/Music/zenaida/Save Me From Myself.mp3
/home/ygg/Music/zenaida/audio/Mastered- Let It Go -Lady ZenAida.mp3
/home/ygg/Music/zenaida/Mastered- Let It Go -Lady ZenAida.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 1 Ethan Buchman.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 2 John Henry Clippinger.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 3 Chris Goes.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 4 Daniel Christian Wahl.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 5 Jack Zampolin.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 6 Delton Chen.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 7 Dan Mapes.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 8 Martin Wainstein.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Current Events Special with Rhamis Kent.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 10 Cosmuhammad Bitcoin Jaesustein.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 11 David McConville and Dawn Danby.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 12 Joe Brewer.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 13 Amanda Joy Ravenhill.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 14 John Henry Clippinger (Encore).mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 15 Coronavirus Special.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 16 Loren Cardeli.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 17 Dr. Dorn Cox.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 18 Larry Kopald.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 19 Tom Newmark.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 20 Michel Bauwens.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 21 Frank Van Gansbeke.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 23 Jim Rutt.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 24 Wenzl McGowen.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 25 Jeff Emmett.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 26 Shaun Conway.mp3
/home/ygg/Music/PlanetaryRegenerationPodcast/Planetary Regeneration Podcast Episode 9 Neal Spackman.mp3
/home/ygg/Music/VibeSquaD-and-ProjectAspect-LITTLE-DAB (2013).mp3

View File

@ -1,11 +0,0 @@
/home/ygg/Music/zenaida/Born this way cover - lady Zenaida-vrUs96lg_oA.m4a
/home/ygg/Music/zenaida/Humanite Uni Toi - demo.mp3
/home/ygg/Music/zenaida/Rainbow Warriors -Demo.mp3
/home/ygg/Music/zenaida/Save Me From Myself.mp3
/home/ygg/Music/zenaida/Mastered- Let It Go -Lady ZenAida.mp3
/home/ygg/Music/zenaida/audio/Born this way cover - lady Zenaida-vrUs96lg_oA.m4a
/home/ygg/Music/zenaida/audio/“Clean up the Ocean” DNCE re-write cover-yeTdj45wbLo.m4a
/home/ygg/Music/zenaida/audio/Dream a little Dream - DIY Bee Condo-wgF-lzB_lSQ.m4a
/home/ygg/Music/zenaida/audio/'Friend Like Me' Cover - Lady Zenaida-eHK-u1-nLq8.opus
/home/ygg/Music/zenaida/audio/Lady Zenaida «  Everybody wants to be a Cat » Cover-PazfkBSaubI.m4a
/home/ygg/Music/zenaida/Born this way cover - lady Zenaida-vrUs96lg_oA.m4a

View File

@ -1,38 +0,0 @@
/home/ygg/Music/Kingdom Hearts 2 OST Collection-d7b-cpSpS9A.opus
/home/ygg/Music/Final Fantasy VIII - Complete Soundtrack-X6kAwpgW29M.opus
/home/ygg/Music/Final Fantasy VIII - Complete Soundtrack-X6kAwpgW29M.opus
/home/ygg/Music/Final Fantasy ~ Jazz _ Brass Mix-7nI8Xuy363k.opus
/home/ygg/Music/Lee Jones - A Perfect Kick (Matthias Meyer Remix)-XtriEg3neSg.opus
/home/ygg/Music/tribe_vibe/Brian Cid - Margarette (Buddha Bar by Armen Miran & Ravin 2017) (Original Mix)-oK-vkCEiwOI.mp3
/home/ygg/Music/tribe_vibe/Deya Dova - Return Of The Bird Tribes (saQi Remix)-DwT59_MfvyU.mp3
/home/ygg/Music/tribe_vibe/Ethnic Deep House Vol#10 (Armen Miran _Davi_ Oceanvs Orientalis )-134NlN8tdyc.mp3
/home/ygg/Music/tribe_vibe/Gerra G - A Mascara (Rodrigo Gallardo Remix) _ Exotic Refreshment LTD-ch8T2EULjxU.mp3
/home/ygg/Music/tribe_vibe/Go Dugong - Vidita (El Búho Remix)-ealqZDkQqXY.mp3
/home/ygg/Music/tribe_vibe/Honra (Original)-nDq-r2X9uFI.mp3
/home/ygg/Music/tribe_vibe/Ipek Ipekcioglu feat. Petra Nachtmanova - Uyan Uyan _ Kater130-9-ZsLSxWuhw.mp3
/home/ygg/Music/tribe_vibe/Jacob Groening, Zigan Aldi - Checkpoint-qKVtqwiRAdQ.mp3
/home/ygg/Music/tribe_vibe/Kazuma Akasaki - I Can Find You [Melodic Techno House Mix]-NfOGsZwwdjg.mp3
/home/ygg/Music/tribe_vibe/Layne Redmond & Tommy Brunjes - Morrocan Moon-YqmJoiHj8NE.mp3
/home/ygg/Music/tribe_vibe/Lee Jones - A Perfect Kick (Matthias Meyer Remix)-XtriEg3neSg.mp3
/home/ygg/Music/tribe_vibe/Lee Jones - One Grain-mIAtmjq0jC4.mp3
/home/ygg/Music/tribe_vibe/Moontricks - Solar Therapy-u2ltkcGOz_c.mp3
/home/ygg/Music/tribe_vibe/Mumbai Madness-bzXgX_V0Q0Y.mp3
/home/ygg/Music/tribe_vibe/NenaHelena - La Ka Ruba Ft. Akil [E008]-amj-LmHyGXM.mp3
/home/ygg/Music/tribe_vibe/Nostalgia (Extended)-L-3sPvjaUzM.mp3
/home/ygg/Music/tribe_vibe/Oceanvs Orientalis - Khronos (Full EP)-mDGCSZ8VTuw.mp3
/home/ygg/Music/tribe_vibe/Peter Power - Sun Sun Damba [Multi Culti]-aRC_7AE8DhI.mp3
/home/ygg/Music/tribe_vibe/Raz Ohara - El Zahir (Original Mix)-wKDmzUYKV9Q.mp3
/home/ygg/Music/tribe_vibe/Reaching Rujum-mYM4hasoo4o.mp3
/home/ygg/Music/tribe_vibe/Rej Senhor (Original Version)-fBkVbYDLJDM.mp3
/home/ygg/Music/tribe_vibe/Roots of Wisdom (Original)-e8luC8BR9i8.mp3
/home/ygg/Music/tribe_vibe/Satori (NL) feat. Miou Amadée - Days Without You (Crussen Remix)-qFMEKS0ZWn0.mp3
/home/ygg/Music/tribe_vibe/Theme For Namgar (Crussen Edit)-5oHPgSuKLZo.mp3
/home/ygg/Music/tribe_vibe/Timboletti - Helva Selva (feat. Ziski & Pophop Remix)-pAcFzVFzjKs.mp3
/home/ygg/Music/tribe_vibe/Traumer - Classroom-fyKY3tfyAVY.mp3
/home/ygg/Music/tribe_vibe/Unspoken Word (Intro)-ePayp_lvzV8.mp3
/home/ygg/Music/tribe_vibe/Vesaire-lLFYPPGcG-Q.mp3
/home/ygg/Music/tribe_vibe/Vidita Ft. Miriam García (El Buho Remix)-o2TgDfnPmZI.mp3
/home/ygg/Music/tribe_vibe/War Cry-J2sZUeasZkY.mp3
/home/ygg/Music/tribe_vibe/Yet Another Day Thinking About You-zEOe-ckZjJc.mp3
/home/ygg/Music/tribe_vibe/YokoO - Yet Another Day Thinking About You feat JoKe & Mauve [ADIDA001]-xOss6oP8xiY.mp3
/home/ygg/Music/Xenia - Live @ Radio Intense Kyiv 7.4.2020 _ Techno Mix-r3DMXRWcmCI.opus

View File

@ -1,43 +0,0 @@
final
alt
altspace
zenaida
z
musi
zen
mu
live
edit
track
renam
view
move
cent
zenaid
pl-c
pl
vol
N
create
cre
playl
new
lady
let it go
zena
born t
kick
step
good
foot
final fant
tribe
lee
jon
perf
perfec
seba
fina
kingdom
sah
zelda

View File

@ -0,0 +1,284 @@
" Vim syntax file
" Language: C Additions
" Maintainer: Mikhail Wolfson <mywolfson@gmail.com>
" URL: http://web.mit.edu/wolfsonm
" Last Change: 2010 Dec. 3
" Version: 0.4
"
" Changelog:
" 0.4 - updates and fixes to cDelimiter to fix break with foldmethod=syntax,
" entirely suggested and solved by Ivan Freitas
" <ivansichfreitas@gmail.com>
" 0.3 - updates and fixes to cUserFunctionPointer, thanks to
" Alexei <lxmzhv@gmail.com>
" 0.2 - change [] to operator
" 0.1 - initial upload, modification from vimscript#1201, Extended c.vim
" Common ANSI-standard functions
syn keyword cAnsiFunction MULU_ DIVU_ MODU_ MUL_ DIV_ MOD_
syn keyword cAnsiFunction main typeof
syn keyword cAnsiFunction open close read write lseek dup dup2
syn keyword cAnsiFunction fcntl ioctl
syn keyword cAnsiFunction wctrans towctrans towupper
syn keyword cAnsiFunction towlower wctype iswctype
syn keyword cAnsiFunction iswxdigit iswupper iswspace
syn keyword cAnsiFunction iswpunct iswprint iswlower
syn keyword cAnsiFunction iswgraph iswdigit iswcntrl
syn keyword cAnsiFunction iswalpha iswalnum wcsrtombs
syn keyword cAnsiFunction mbsrtowcs wcrtomb mbrtowc
syn keyword cAnsiFunction mbrlen mbsinit wctob
syn keyword cAnsiFunction btowc wcsfxtime wcsftime
syn keyword cAnsiFunction wmemset wmemmove wmemcpy
syn keyword cAnsiFunction wmemcmp wmemchr wcstok
syn keyword cAnsiFunction wcsstr wcsspn wcsrchr
syn keyword cAnsiFunction wcspbrk wcslen wcscspn
syn keyword cAnsiFunction wcschr wcsxfrm wcsncmp
syn keyword cAnsiFunction wcscoll wcscmp wcsncat
syn keyword cAnsiFunction wcscat wcsncpy wcscpy
syn keyword cAnsiFunction wcstoull wcstoul wcstoll
syn keyword cAnsiFunction wcstol wcstold wcstof
syn keyword cAnsiFunction wcstod ungetwc putwchar
syn keyword cAnsiFunction putwc getwchar getwc
syn keyword cAnsiFunction fwide fputws fputwc
syn keyword cAnsiFunction fgetws fgetwc wscanf
syn keyword cAnsiFunction wprintf vwscanf vwprintf
syn keyword cAnsiFunction vswscanf vswprintf vfwscanf
syn keyword cAnsiFunction vfwprintf swscanf swprintf
syn keyword cAnsiFunction fwscanf fwprintf zonetime
syn keyword cAnsiFunction strfxtime strftime localtime
syn keyword cAnsiFunction gmtime ctime asctime
syn keyword cAnsiFunction time mkxtime mktime
syn keyword cAnsiFunction difftime clock strlen
syn keyword cAnsiFunction strerror memset strtok
syn keyword cAnsiFunction strstr strspn strrchr
syn keyword cAnsiFunction strpbrk strcspn strchr
syn keyword cAnsiFunction memchr strxfrm strncmp
syn keyword cAnsiFunction strcoll strcmp memcmp
syn keyword cAnsiFunction strncat strcat strncpy
syn keyword cAnsiFunction strcpy memmove memcpy
syn keyword cAnsiFunction wcstombs mbstowcs wctomb
syn keyword cAnsiFunction mbtowc mblen lldiv
syn keyword cAnsiFunction ldiv div llabs
syn keyword cAnsiFunction labs abs qsort
syn keyword cAnsiFunction bsearch system getenv
syn keyword cAnsiFunction exit atexit abort
syn keyword cAnsiFunction realloc malloc free
syn keyword cAnsiFunction calloc srand rand
syn keyword cAnsiFunction strtoull strtoul strtoll
syn keyword cAnsiFunction strtol strtold strtof
syn keyword cAnsiFunction strtod atoll atol
syn keyword cAnsiFunction atoi atof perror
syn keyword cAnsiFunction ferror feof clearerr
syn keyword cAnsiFunction rewind ftell fsetpos
syn keyword cAnsiFunction fseek fgetpos fwrite
syn keyword cAnsiFunction fread ungetc puts
syn keyword cAnsiFunction putchar putc gets
syn keyword cAnsiFunction getchar getc fputs
syn keyword cAnsiFunction fputc fgets fgetc
syn keyword cAnsiFunction vsscanf vsprintf vsnprintf
syn keyword cAnsiFunction vscanf vprintf vfscanf
syn keyword cAnsiFunction vfprintf sscanf sprintf
syn keyword cAnsiFunction snprintf scanf printf
syn keyword cAnsiFunction fscanf fprintf setvbuf
syn keyword cAnsiFunction setbuf freopen fopen
syn keyword cAnsiFunction fflush fclose tmpnam
syn keyword cAnsiFunction tmpfile rename remove
syn keyword cAnsiFunction offsetof va_start va_end
syn keyword cAnsiFunction va_copy va_arg raise signal
syn keyword cAnsiFunction longjmp setjmp isunordered
syn keyword cAnsiFunction islessgreater islessequal isless
syn keyword cAnsiFunction isgreaterequal isgreater fmal
syn keyword cAnsiFunction fmaf fma fminl
syn keyword cAnsiFunction fminf fmin fmaxl
syn keyword cAnsiFunction fmaxf fmax fdiml
syn keyword cAnsiFunction fdimf fdim nextafterxl
syn keyword cAnsiFunction nextafterxf nextafterx nextafterl
syn keyword cAnsiFunction nextafterf nextafter nanl
syn keyword cAnsiFunction nanf nan copysignl
syn keyword cAnsiFunction copysignf copysign remquol
syn keyword cAnsiFunction remquof remquo remainderl
syn keyword cAnsiFunction remainderf remainder fmodl
syn keyword cAnsiFunction fmodf fmod truncl
syn keyword cAnsiFunction truncf trunc llroundl
syn keyword cAnsiFunction llroundf llround lroundl
syn keyword cAnsiFunction lroundf lround roundl
syn keyword cAnsiFunction roundf round llrintl
syn keyword cAnsiFunction llrintf llrint lrintl
syn keyword cAnsiFunction lrintf lrint rintl
syn keyword cAnsiFunction rintf rint nearbyintl
syn keyword cAnsiFunction nearbyintf nearbyint floorl
syn keyword cAnsiFunction floorf floor ceill
syn keyword cAnsiFunction ceilf ceil tgammal
syn keyword cAnsiFunction tgammaf tgamma lgammal
syn keyword cAnsiFunction lgammaf lgamma erfcl
syn keyword cAnsiFunction erfcf erfc erfl
syn keyword cAnsiFunction erff erf sqrtl
syn keyword cAnsiFunction sqrtf sqrt powl
syn keyword cAnsiFunction powf pow hypotl
syn keyword cAnsiFunction hypotf hypot fabsl
syn keyword cAnsiFunction fabsf fabs cbrtl
syn keyword cAnsiFunction cbrtf cbrt scalblnl
syn keyword cAnsiFunction scalblnf scalbln scalbnl
syn keyword cAnsiFunction scalbnf scalbn modfl
syn keyword cAnsiFunction modff modf logbl
syn keyword cAnsiFunction logbf logb log2l
syn keyword cAnsiFunction log2f log2 log1pl
syn keyword cAnsiFunction log1pf log1p log10l
syn keyword cAnsiFunction log10f log10 logl
syn keyword cAnsiFunction logf log ldexpl
syn keyword cAnsiFunction ldexpf ldexp ilogbl
syn keyword cAnsiFunction ilogbf ilogb frexpl
syn keyword cAnsiFunction frexpf frexp expm1l
syn keyword cAnsiFunction expm1f expm1 exp2l
syn keyword cAnsiFunction exp2f exp2 expl
syn keyword cAnsiFunction expf exp tanhl
syn keyword cAnsiFunction tanhf tanh sinhl
syn keyword cAnsiFunction sinhf sinh coshl
syn keyword cAnsiFunction coshf cosh atanhl
syn keyword cAnsiFunction atanhf atanh asinhl
syn keyword cAnsiFunction asinhf asinh acoshl
syn keyword cAnsiFunction acoshf acosh tanl
syn keyword cAnsiFunction tanf tan sinl
syn keyword cAnsiFunction sinf sin cosl
syn keyword cAnsiFunction cosf cos atan2l
syn keyword cAnsiFunction atan2f atan2 atanl
syn keyword cAnsiFunction atanf atan asinl
syn keyword cAnsiFunction asinf asin acosl
syn keyword cAnsiFunction acosf acos signbit
syn keyword cAnsiFunction isnormal isnan isinf
syn keyword cAnsiFunction isfinite fpclassify localeconv
syn keyword cAnsiFunction setlocale wcstoumax wcstoimax
syn keyword cAnsiFunction strtoumax strtoimax feupdateenv
syn keyword cAnsiFunction fesetenv feholdexcept fegetenv
syn keyword cAnsiFunction fesetround fegetround fetestexcept
syn keyword cAnsiFunction fesetexceptflag feraiseexcept fegetexceptflag
syn keyword cAnsiFunction feclearexcept toupper tolower
syn keyword cAnsiFunction isxdigit isupper isspace
syn keyword cAnsiFunction ispunct isprint islower
syn keyword cAnsiFunction isgraph isdigit iscntrl
syn keyword cAnsiFunction isalpha isalnum creall
syn keyword cAnsiFunction crealf creal cprojl
syn keyword cAnsiFunction cprojf cproj conjl
syn keyword cAnsiFunction conjf conj cimagl
syn keyword cAnsiFunction cimagf cimag cargl
syn keyword cAnsiFunction cargf carg csqrtl
syn keyword cAnsiFunction csqrtf csqrt cpowl
syn keyword cAnsiFunction cpowf cpow cabsl
syn keyword cAnsiFunction cabsf cabs clogl
syn keyword cAnsiFunction clogf clog cexpl
syn keyword cAnsiFunction cexpf cexp ctanhl
syn keyword cAnsiFunction ctanhf ctanh csinhl
syn keyword cAnsiFunction csinhf csinh ccoshl
syn keyword cAnsiFunction ccoshf ccosh catanhl
syn keyword cAnsiFunction catanhf catanh casinhl
syn keyword cAnsiFunction casinhf casinh cacoshl
syn keyword cAnsiFunction cacoshf cacosh ctanl
syn keyword cAnsiFunction ctanf ctan csinl
syn keyword cAnsiFunction csinf csin ccosl
syn keyword cAnsiFunction ccosf ccos catanl
syn keyword cAnsiFunction catanf catan casinl
syn keyword cAnsiFunction casinf casin cacosl
syn keyword cAnsiFunction cacosf cacos assert
syn keyword cAnsiFunction UINTMAX_C INTMAX_C UINT64_C
syn keyword cAnsiFunction UINT32_C UINT16_C UINT8_C
syn keyword cAnsiFunction INT64_C INT32_C INT16_C INT8_C
" Common ANSI-standard Names
syn keyword cAnsiName PRId8 PRIi16 PRIo32 PRIu64
syn keyword cAnsiName PRId16 PRIi32 PRIo64 PRIuLEAST8
syn keyword cAnsiName PRId32 PRIi64 PRIoLEAST8 PRIuLEAST16
syn keyword cAnsiName PRId64 PRIiLEAST8 PRIoLEAST16 PRIuLEAST32
syn keyword cAnsiName PRIdLEAST8 PRIiLEAST16 PRIoLEAST32 PRIuLEAST64
syn keyword cAnsiName PRIdLEAST16 PRIiLEAST32 PRIoLEAST64 PRIuFAST8
syn keyword cAnsiName PRIdLEAST32 PRIiLEAST64 PRIoFAST8 PRIuFAST16
syn keyword cAnsiName PRIdLEAST64 PRIiFAST8 PRIoFAST16 PRIuFAST32
syn keyword cAnsiName PRIdFAST8 PRIiFAST16 PRIoFAST32 PRIuFAST64
syn keyword cAnsiName PRIdFAST16 PRIiFAST32 PRIoFAST64 PRIuMAX
syn keyword cAnsiName PRIdFAST32 PRIiFAST64 PRIoMAX PRIuPTR
syn keyword cAnsiName PRIdFAST64 PRIiMAX PRIoPTR PRIx8
syn keyword cAnsiName PRIdMAX PRIiPTR PRIu8 PRIx16
syn keyword cAnsiName PRIdPTR PRIo8 PRIu16 PRIx32
syn keyword cAnsiName PRIi8 PRIo16 PRIu32 PRIx64
syn keyword cAnsiName PRIxLEAST8 SCNd8 SCNiFAST32 SCNuLEAST32
syn keyword cAnsiName PRIxLEAST16 SCNd16 SCNiFAST64 SCNuLEAST64
syn keyword cAnsiName PRIxLEAST32 SCNd32 SCNiMAX SCNuFAST8
syn keyword cAnsiName PRIxLEAST64 SCNd64 SCNiPTR SCNuFAST16
syn keyword cAnsiName PRIxFAST8 SCNdLEAST8 SCNo8 SCNuFAST32
syn keyword cAnsiName PRIxFAST16 SCNdLEAST16 SCNo16 SCNuFAST64
syn keyword cAnsiName PRIxFAST32 SCNdLEAST32 SCNo32 SCNuMAX
syn keyword cAnsiName PRIxFAST64 SCNdLEAST64 SCNo64 SCNuPTR
syn keyword cAnsiName PRIxMAX SCNdFAST8 SCNoLEAST8 SCNx8
syn keyword cAnsiName PRIxPTR SCNdFAST16 SCNoLEAST16 SCNx16
syn keyword cAnsiName PRIX8 SCNdFAST32 SCNoLEAST32 SCNx32
syn keyword cAnsiName PRIX16 SCNdFAST64 SCNoLEAST64 SCNx64
syn keyword cAnsiName PRIX32 SCNdMAX SCNoFAST8 SCNxLEAST8
syn keyword cAnsiName PRIX64 SCNdPTR SCNoFAST16 SCNxLEAST16
syn keyword cAnsiName PRIXLEAST8 SCNi8 SCNoFAST32 SCNxLEAST32
syn keyword cAnsiName PRIXLEAST16 SCNi16 SCNoFAST64 SCNxLEAST64
syn keyword cAnsiName PRIXLEAST32 SCNi32 SCNoMAX SCNxFAST8
syn keyword cAnsiName PRIXLEAST64 SCNi64 SCNoPTR SCNxFAST16
syn keyword cAnsiName PRIXFAST8 SCNiLEAST8 SCNu8 SCNxFAST32
syn keyword cAnsiName PRIXFAST16 SCNiLEAST16 SCNu16 SCNxFAST64
syn keyword cAnsiName PRIXFAST32 SCNiLEAST32 SCNu32 SCNxMAX
syn keyword cAnsiName PRIXFAST64 SCNiLEAST64 SCNu64 SCNxPTR
syn keyword cAnsiName PRIXMAX SCNiFAST8 SCNuLEAST8
syn keyword cAnsiName PRIXPTR SCNiFAST16 SCNuLEAST16
syn keyword cAnsiName errno environ
syn keyword cAnsiName STDC CX_LIMITED_RANGE
syn keyword cAnsiName STDC FENV_ACCESS
syn keyword cAnsiName STDC FP_CONTRACT
syn keyword cAnsiName AF_INET SOCK_STREAM INADDR_ANY AF_INET
syn keyword cAnsiName SOL_SOCKET SO_REUSEPORT SO_REUSEADDR
syn keyword cAnsiName SO_RCVTIMEO IPPROTO_TCP TCP_NODELAY
syn keyword cAnsiName SOCK_DGRAM POLLIN
syn keyword cAnsiName and bitor not_eq xor
syn keyword cAnsiName and_eq compl or xor_eq
syn keyword cAnsiName bitand not or_eq
hi def link cAnsiFunction cFunction
hi def link cAnsiName cIdentifier
" Operators
syn match cOperator "\(<<\|>>\|[-+*/%&^|<>!=]\)="
syn match cOperator "<<\|>>\|&&\|||\|++\|--\|->"
syn match cOperator "[.!~*&%<>^|=,+-]"
syn match cOperator "/[^/*=]"me=e-1
syn match cOperator "/$"
syn match cOperator "&&\|||"
syn match cOperator "[][]"
" Preprocs
syn keyword cDefined defined contained containedin=cDefine
hi def link cDefined cDefine
" Functions
syn match cUserFunction "\<\h\w*\>\(\s\|\n\)*("me=e-1 contains=cType,cDelimiter,cDefine
syn match cUserFunctionPointer "(\s*\*\s*\h\w*\s*)\(\s\|\n\)*(" contains=cDelimiter,cOperator
hi def link cUserFunction cFunction
hi def link cUserFunctionPointer cFunction
" Delimiters
syn match cDelimiter "[();\\]"
" foldmethod=syntax fix, courtesy of Ivan Freitas
syn match cBraces display "[{}]"
" Booleans
syn keyword cBoolean true false TRUE FALSE
" Links
hi def link cFunction Function
hi def link cIdentifier Identifier
hi def link cDelimiter Delimiter
" foldmethod=syntax fix, courtesy of Ivan Freitas
hi def link cBraces Delimiter
hi def link cBoolean Boolean

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,562 @@
" Vim syntax file
" Language: Python
" Current Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
" Previous Maintainer: Neil Schemenauer <nas at python dot ca>
" URL: https://github.com/hdima/python-syntax
" Last Change: 2015-11-01
" Filenames: *.py
" Version: 3.6.0
"
" Based on python.vim (from Vim 6.1 distribution)
" by Neil Schemenauer <nas at python dot ca>
"
" Please use the following channels for reporting bugs, offering suggestions or
" feedback:
" - python.vim issue tracker: https://github.com/hdima/python-syntax/issues
" - Email: Dmitry Vasiliev (dima at hlabs.org)
" - Send a message or follow me for updates on Twitter: `@hdima
" <https://twitter.com/hdima>`__
"
" Contributors
" ============
"
" List of the contributors in alphabetical order:
"
" Andrea Riciputi
" Anton Butanaev
" Antony Lee
" Caleb Adamantine
" David Briscoe
" Elizabeth Myers
" Ihor Gorobets
" Jeroen Ruigrok van der Werven
" John Eikenberry
" Joongi Kim
" Marc Weber
" Pedro Algarvio
" Victor Salgado
" Will Gray
" Yuri Habrusiev
"
" Options
" =======
"
" :let OPTION_NAME = 1 Enable option
" :let OPTION_NAME = 0 Disable option
"
"
" Option to select Python version
" -------------------------------
"
" python_version_2 Enable highlighting for Python 2
" (Python 3 highlighting is enabled
" by default). Can also be set as
" a buffer (b:python_version_2)
" variable.
"
" You can also use the following local to buffer commands to switch
" between two highlighting modes:
"
" :Python2Syntax Switch to Python 2 highlighting
" mode
" :Python3Syntax Switch to Python 3 highlighting
" mode
"
" Option names used by the script
" -------------------------------
"
" python_highlight_builtins Highlight builtin functions and
" objects
" python_highlight_builtin_objs Highlight builtin objects only
" python_highlight_builtin_funcs Highlight builtin functions only
" python_highlight_exceptions Highlight standard exceptions
" python_highlight_string_formatting Highlight % string formatting
" python_highlight_string_format Highlight str.format syntax
" python_highlight_string_templates Highlight string.Template syntax
" python_highlight_indent_errors Highlight indentation errors
" python_highlight_space_errors Highlight trailing spaces
" python_highlight_doctests Highlight doc-tests
" python_print_as_function Highlight 'print' statement as
" function for Python 2
" python_highlight_file_headers_as_comments
" Highlight shebang and coding
" headers as comments
"
" python_highlight_all Enable all the options above
" NOTE: This option don't override
" any previously set options
"
" python_slow_sync Can be set to 0 for slow machines
"
" For version 5.x: Clear all syntax items
" For versions greater than 6.x: Quit when a syntax file was already loaded
"
" Commands
"
command! -buffer Python3Syntax let b:python_version_2 = 0 | let &syntax=&syntax
" Enable option if it's not defined
function! s:EnableByDefault(name)
if !exists(a:name)
let {a:name} = 1
endif
endfunction
" Check if option is enabled
function! s:Enabled(name)
return exists(a:name) && {a:name}
endfunction
" Is it Python 2 syntax?
function! s:Python2Syntax()
if exists("b:python_version_2")
return b:python_version_2
endif
return s:Enabled("g:python_version_2")
endfunction
"
" Default options
"
call s:EnableByDefault("g:python_slow_sync")
if s:Enabled("g:python_highlight_all")
call s:EnableByDefault("g:python_highlight_builtins")
if s:Enabled("g:python_highlight_builtins")
call s:EnableByDefault("g:python_highlight_builtin_objs")
call s:EnableByDefault("g:python_highlight_builtin_funcs")
endif
call s:EnableByDefault("g:python_highlight_exceptions")
call s:EnableByDefault("g:python_highlight_string_formatting")
call s:EnableByDefault("g:python_highlight_string_format")
call s:EnableByDefault("g:python_highlight_string_templates")
call s:EnableByDefault("g:python_highlight_indent_errors")
call s:EnableByDefault("g:python_highlight_space_errors")
call s:EnableByDefault("g:python_highlight_doctests")
call s:EnableByDefault("g:python_print_as_function")
endif
"
" Keywords
"
syn keyword pythonStatement break continue del
syn keyword pythonStatement exec return
syn keyword pythonStatement pass raise
syn keyword pythonStatement global assert
syn keyword pythonStatement lambda
syn keyword pythonStatement with
syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite
syn keyword pythonRepeat for while
syn keyword pythonConditional if elif else
" The standard pyrex.vim unconditionally removes the pythonInclude group, so
" we provide a dummy group here to avoid crashing pyrex.vim.
syn keyword pythonInclude import
syn keyword pythonImport import
syn keyword pythonException try except finally
syn keyword pythonOperator and in is not or
syn match pythonStatement "\<yield\>" display
syn match pythonImport "\<from\>" display
if s:Python2Syntax()
if !s:Enabled("g:python_print_as_function")
syn keyword pythonStatement print
endif
syn keyword pythonImport as
syn match pythonFunction "[a-zA-Z_][a-zA-Z0-9_]*" display contained
else
syn keyword pythonStatement as nonlocal None
syn match pythonStatement "\<yield\s\+from\>" display
syn keyword pythonBoolean True False
syn match pythonFunction "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained
syn keyword pythonStatement await
syn match pythonStatement "\<async\s\+def\>" nextgroup=pythonFunction skipwhite
syn match pythonStatement "\<async\s\+with\>" display
syn match pythonStatement "\<async\s\+for\>" display
endif
"
" Decorators (new in Python 2.4)
"
syn match pythonDecorator "@" display nextgroup=pythonDottedName skipwhite
if s:Python2Syntax()
syn match pythonDottedName "[a-zA-Z_][a-zA-Z0-9_]*\%(\.[a-zA-Z_][a-zA-Z0-9_]*\)*" display contained
else
syn match pythonDottedName "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\%(\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\)*" display contained
endif
syn match pythonDot "\." display containedin=pythonDottedName
"
" Comments
"
syn match pythonComment "#.*$" display contains=pythonTodo,@Spell
if !s:Enabled("g:python_highlight_file_headers_as_comments")
syn match pythonRun "\%^#!.*$"
syn match pythonCoding "\%^.*\%(\n.*\)\?#.*coding[:=]\s*[0-9A-Za-z-_.]\+.*$"
endif
syn keyword pythonTodo TODO FIXME XXX contained
"
" Errors
"
syn match pythonError "\<\d\+\D\+\>" display
syn match pythonError "[$?]" display
syn match pythonError "[&|]\{2,}" display
syn match pythonError "[=]\{3,}" display
" Mixing spaces and tabs also may be used for pretty formatting multiline
" statements
if s:Enabled("g:python_highlight_indent_errors")
syn match pythonIndentError "^\s*\%( \t\|\t \)\s*\S"me=e-1 display
endif
" Trailing space errors
if s:Enabled("g:python_highlight_space_errors")
syn match pythonSpaceError "\s\+$" display
endif
"
" Strings
"
if s:Python2Syntax()
" Python 2 strings
syn region pythonString start=+[bB]\='+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
syn region pythonString start=+[bB]\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
syn region pythonString start=+[bB]\="""+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
syn region pythonString start=+[bB]\='''+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
else
" Python 3 byte strings
syn region pythonBytes start=+[bB]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesError,pythonBytesContent,@Spell
syn region pythonBytes start=+[bB]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesError,pythonBytesContent,@Spell
syn region pythonBytes start=+[bB]"""+ end=+"""+ keepend contains=pythonBytesError,pythonBytesContent,pythonDocTest2,pythonSpaceError,@Spell
syn region pythonBytes start=+[bB]'''+ end=+'''+ keepend contains=pythonBytesError,pythonBytesContent,pythonDocTest,pythonSpaceError,@Spell
syn match pythonBytesError ".\+" display contained
syn match pythonBytesContent "[\u0000-\u00ff]\+" display contained contains=pythonBytesEscape,pythonBytesEscapeError
endif
syn match pythonBytesEscape +\\[abfnrtv'"\\]+ display contained
syn match pythonBytesEscape "\\\o\o\=\o\=" display contained
syn match pythonBytesEscapeError "\\\o\{,2}[89]" display contained
syn match pythonBytesEscape "\\x\x\{2}" display contained
syn match pythonBytesEscapeError "\\x\x\=\X" display contained
syn match pythonBytesEscape "\\$"
syn match pythonUniEscape "\\u\x\{4}" display contained
syn match pythonUniEscapeError "\\u\x\{,3}\X" display contained
syn match pythonUniEscape "\\U\x\{8}" display contained
syn match pythonUniEscapeError "\\U\x\{,7}\X" display contained
syn match pythonUniEscape "\\N{[A-Z ]\+}" display contained
syn match pythonUniEscapeError "\\N{[^A-Z ]\+}" display contained
if s:Python2Syntax()
" Python 2 Unicode strings
syn region pythonUniString start=+[uU]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
syn region pythonUniString start=+[uU]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
syn region pythonUniString start=+[uU]"""+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
syn region pythonUniString start=+[uU]'''+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
else
" Python 3 strings
syn region pythonString start=+'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
syn region pythonString start=+"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,@Spell
syn region pythonString start=+"""+ end=+"""+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest2,pythonSpaceError,@Spell
syn region pythonString start=+'''+ end=+'''+ keepend contains=pythonBytesEscape,pythonBytesEscapeError,pythonUniEscape,pythonUniEscapeError,pythonDocTest,pythonSpaceError,@Spell
endif
if s:Python2Syntax()
" Python 2 Unicode raw strings
syn region pythonUniRawString start=+[uU][rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,pythonUniRawEscape,pythonUniRawEscapeError,@Spell
syn region pythonUniRawString start=+[uU][rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,pythonUniRawEscape,pythonUniRawEscapeError,@Spell
syn region pythonUniRawString start=+[uU][rR]"""+ end=+"""+ keepend contains=pythonUniRawEscape,pythonUniRawEscapeError,pythonDocTest2,pythonSpaceError,@Spell
syn region pythonUniRawString start=+[uU][rR]'''+ end=+'''+ keepend contains=pythonUniRawEscape,pythonUniRawEscapeError,pythonDocTest,pythonSpaceError,@Spell
syn match pythonUniRawEscape "\([^\\]\(\\\\\)*\)\@<=\\u\x\{4}" display contained
syn match pythonUniRawEscapeError "\([^\\]\(\\\\\)*\)\@<=\\u\x\{,3}\X" display contained
endif
" Python 2/3 raw strings
if s:Python2Syntax()
syn region pythonRawString start=+[bB]\=[rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,@Spell
syn region pythonRawString start=+[bB]\=[rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,@Spell
syn region pythonRawString start=+[bB]\=[rR]"""+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
syn region pythonRawString start=+[bB]\=[rR]'''+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
else
syn region pythonRawString start=+[rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,@Spell
syn region pythonRawString start=+[rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,@Spell
syn region pythonRawString start=+[rR]"""+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
syn region pythonRawString start=+[rR]'''+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
syn region pythonRawBytes start=+[bB][rR]'+ skip=+\\\\\|\\'\|\\$+ excludenl end=+'+ end=+$+ keepend contains=pythonRawEscape,@Spell
syn region pythonRawBytes start=+[bB][rR]"+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end=+$+ keepend contains=pythonRawEscape,@Spell
syn region pythonRawBytes start=+[bB][rR]"""+ end=+"""+ keepend contains=pythonDocTest2,pythonSpaceError,@Spell
syn region pythonRawBytes start=+[bB][rR]'''+ end=+'''+ keepend contains=pythonDocTest,pythonSpaceError,@Spell
endif
syn match pythonRawEscape +\\['"]+ display transparent contained
if s:Enabled("g:python_highlight_string_formatting")
" % operator string formatting
if s:Python2Syntax()
syn match pythonStrFormatting "%\%(([^)]\+)\)\=[-#0 +]*\d*\%(\.\d\+\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
syn match pythonStrFormatting "%[-#0 +]*\%(\*\|\d\+\)\=\%(\.\%(\*\|\d\+\)\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
else
syn match pythonStrFormatting "%\%(([^)]\+)\)\=[-#0 +]*\d*\%(\.\d\+\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonRawString
syn match pythonStrFormatting "%[-#0 +]*\%(\*\|\d\+\)\=\%(\.\%(\*\|\d\+\)\)\=[hlL]\=[diouxXeEfFgGcrs%]" contained containedin=pythonString,pythonRawString
endif
endif
if s:Enabled("g:python_highlight_string_format")
" str.format syntax
if s:Python2Syntax()
syn match pythonStrFormat "{{\|}}" contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
syn match pythonStrFormat "{\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)\=\%(\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\[\%(\d\+\|[^!:\}]\+\)\]\)*\%(![rsa]\)\=\%(:\%({\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)}\|\%([^}]\=[<>=^]\)\=[ +-]\=#\=0\=\d*,\=\%(\.\d\+\)\=[bcdeEfFgGnosxX%]\=\)\=\)\=}" contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
else
syn match pythonStrFormat "{{\|}}" contained containedin=pythonString,pythonRawString
syn match pythonStrFormat "{\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)\=\%(\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\[\%(\d\+\|[^!:\}]\+\)\]\)*\%(![rsa]\)\=\%(:\%({\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)}\|\%([^}]\=[<>=^]\)\=[ +-]\=#\=0\=\d*,\=\%(\.\d\+\)\=[bcdeEfFgGnosxX%]\=\)\=\)\=}" contained containedin=pythonString,pythonRawString
endif
endif
if s:Enabled("g:python_highlight_string_templates")
" string.Template format
if s:Python2Syntax()
syn match pythonStrTemplate "\$\$" contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
syn match pythonStrTemplate "\${[a-zA-Z_][a-zA-Z0-9_]*}" contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
syn match pythonStrTemplate "\$[a-zA-Z_][a-zA-Z0-9_]*" contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString
else
syn match pythonStrTemplate "\$\$" contained containedin=pythonString,pythonRawString
syn match pythonStrTemplate "\${[a-zA-Z_][a-zA-Z0-9_]*}" contained containedin=pythonString,pythonRawString
syn match pythonStrTemplate "\$[a-zA-Z_][a-zA-Z0-9_]*" contained containedin=pythonString,pythonRawString
endif
endif
if s:Enabled("g:python_highlight_doctests")
" DocTests
syn region pythonDocTest start="^\s*>>>" end=+'''+he=s-1 end="^\s*$" contained
syn region pythonDocTest2 start="^\s*>>>" end=+"""+he=s-1 end="^\s*$" contained
endif
"
" Numbers (ints, longs, floats, complex)
"
if s:Python2Syntax()
syn match pythonHexError "\<0[xX]\x*[g-zG-Z]\+\x*[lL]\=\>" display
syn match pythonOctError "\<0[oO]\=\o*\D\+\d*[lL]\=\>" display
syn match pythonBinError "\<0[bB][01]*\D\+\d*[lL]\=\>" display
syn match pythonHexNumber "\<0[xX]\x\+[lL]\=\>" display
syn match pythonOctNumber "\<0[oO]\o\+[lL]\=\>" display
syn match pythonBinNumber "\<0[bB][01]\+[lL]\=\>" display
syn match pythonNumberError "\<\d\+\D[lL]\=\>" display
syn match pythonNumber "\<\d[lL]\=\>" display
syn match pythonNumber "\<[0-9]\d\+[lL]\=\>" display
syn match pythonNumber "\<\d\+[lLjJ]\>" display
syn match pythonOctError "\<0[oO]\=\o*[8-9]\d*[lL]\=\>" display
syn match pythonBinError "\<0[bB][01]*[2-9]\d*[lL]\=\>" display
else
syn match pythonHexError "\<0[xX]\x*[g-zG-Z]\x*\>" display
syn match pythonOctError "\<0[oO]\=\o*\D\+\d*\>" display
syn match pythonBinError "\<0[bB][01]*\D\+\d*\>" display
syn match pythonHexNumber "\<0[xX]\x\+\>" display
syn match pythonOctNumber "\<0[oO]\o\+\>" display
syn match pythonBinNumber "\<0[bB][01]\+\>" display
syn match pythonNumberError "\<\d\+\D\>" display
syn match pythonNumberError "\<0\d\+\>" display
syn match pythonNumber "\<\d\>" display
syn match pythonNumber "\<[1-9]\d\+\>" display
syn match pythonNumber "\<\d\+[jJ]\>" display
syn match pythonOctError "\<0[oO]\=\o*[8-9]\d*\>" display
syn match pythonBinError "\<0[bB][01]*[2-9]\d*\>" display
endif
syn match pythonFloat "\.\d\+\%([eE][+-]\=\d\+\)\=[jJ]\=\>" display
syn match pythonFloat "\<\d\+[eE][+-]\=\d\+[jJ]\=\>" display
syn match pythonFloat "\<\d\+\.\d*\%([eE][+-]\=\d\+\)\=[jJ]\=" display
"
" Builtin objects and types
"
if s:Enabled("g:python_highlight_builtin_objs")
if s:Python2Syntax()
syn keyword pythonBuiltinObj None
syn keyword pythonBoolean True False
endif
syn keyword pythonBuiltinObj Ellipsis NotImplemented
syn keyword pythonBuiltinObj __debug__ __doc__ __file__ __name__ __package__
endif
"
" Builtin functions
"
if s:Enabled("g:python_highlight_builtin_funcs")
if s:Python2Syntax()
syn keyword pythonBuiltinFunc apply basestring buffer callable coerce
syn keyword pythonBuiltinFunc execfile file help intern long raw_input
syn keyword pythonBuiltinFunc reduce reload unichr unicode xrange
if s:Enabled("g:python_print_as_function")
syn keyword pythonBuiltinFunc print
endif
else
syn keyword pythonBuiltinFunc ascii exec memoryview print
endif
syn keyword pythonBuiltinFunc __import__ abs all any
syn keyword pythonBuiltinFunc bin bool bytearray bytes
syn keyword pythonBuiltinFunc chr classmethod cmp compile complex
syn keyword pythonBuiltinFunc delattr dict dir divmod enumerate eval
syn keyword pythonBuiltinFunc filter float format frozenset getattr
syn keyword pythonBuiltinFunc globals hasattr hash hex id
syn keyword pythonBuiltinFunc input int isinstance
syn keyword pythonBuiltinFunc issubclass iter len list locals map max
syn keyword pythonBuiltinFunc min next object oct open ord
syn keyword pythonBuiltinFunc pow property range
syn keyword pythonBuiltinFunc repr reversed round set setattr
syn keyword pythonBuiltinFunc slice sorted staticmethod str sum super tuple
syn keyword pythonBuiltinFunc type vars zip
endif
"
" Builtin exceptions and warnings
"
if s:Enabled("g:python_highlight_exceptions")
if s:Python2Syntax()
syn keyword pythonExClass StandardError
else
syn keyword pythonExClass BlockingIOError ChildProcessError
syn keyword pythonExClass ConnectionError BrokenPipeError
syn keyword pythonExClass ConnectionAbortedError ConnectionRefusedError
syn keyword pythonExClass ConnectionResetError FileExistsError
syn keyword pythonExClass FileNotFoundError InterruptedError
syn keyword pythonExClass IsADirectoryError NotADirectoryError
syn keyword pythonExClass PermissionError ProcessLookupError TimeoutError
syn keyword pythonExClass ResourceWarning
endif
syn keyword pythonExClass BaseException
syn keyword pythonExClass Exception ArithmeticError
syn keyword pythonExClass LookupError EnvironmentError
syn keyword pythonExClass AssertionError AttributeError BufferError EOFError
syn keyword pythonExClass FloatingPointError GeneratorExit IOError
syn keyword pythonExClass ImportError IndexError KeyError
syn keyword pythonExClass KeyboardInterrupt MemoryError NameError
syn keyword pythonExClass NotImplementedError OSError OverflowError
syn keyword pythonExClass ReferenceError RuntimeError StopIteration
syn keyword pythonExClass SyntaxError IndentationError TabError
syn keyword pythonExClass SystemError SystemExit TypeError
syn keyword pythonExClass UnboundLocalError UnicodeError
syn keyword pythonExClass UnicodeEncodeError UnicodeDecodeError
syn keyword pythonExClass UnicodeTranslateError ValueError VMSError
syn keyword pythonExClass WindowsError ZeroDivisionError
syn keyword pythonExClass Warning UserWarning BytesWarning DeprecationWarning
syn keyword pythonExClass PendingDepricationWarning SyntaxWarning
syn keyword pythonExClass RuntimeWarning FutureWarning
syn keyword pythonExClass ImportWarning UnicodeWarning
endif
if s:Enabled("g:python_slow_sync")
syn sync minlines=2000
else
" This is fast but code inside triple quoted strings screws it up. It
" is impossible to fix because the only way to know if you are inside a
" triple quoted string is to start from the beginning of the file.
syn sync match pythonSync grouphere NONE "):$"
syn sync maxlines=200
endif
if version >= 508 || !exists("did_python_syn_inits")
if version <= 508
let did_python_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink pythonStatement Statement
HiLink pythonImport Include
HiLink pythonFunction Function
HiLink pythonConditional Conditional
HiLink pythonRepeat Repeat
HiLink pythonException Exception
HiLink pythonOperator Operator
HiLink pythonDecorator Define
HiLink pythonDottedName Function
HiLink pythonDot Normal
HiLink pythonComment Comment
if !s:Enabled("g:python_highlight_file_headers_as_comments")
HiLink pythonCoding Special
HiLink pythonRun Special
endif
HiLink pythonTodo Todo
HiLink pythonError Error
HiLink pythonIndentError Error
HiLink pythonSpaceError Error
HiLink pythonString String
HiLink pythonRawString String
HiLink pythonUniEscape Special
HiLink pythonUniEscapeError Error
if s:Python2Syntax()
HiLink pythonUniString String
HiLink pythonUniRawString String
HiLink pythonUniRawEscape Special
HiLink pythonUniRawEscapeError Error
else
HiLink pythonBytes String
HiLink pythonRawBytes String
HiLink pythonBytesContent String
HiLink pythonBytesError Error
HiLink pythonBytesEscape Special
HiLink pythonBytesEscapeError Error
endif
HiLink pythonStrFormatting Special
HiLink pythonStrFormat Special
HiLink pythonStrTemplate Special
HiLink pythonDocTest Special
HiLink pythonDocTest2 Special
HiLink pythonNumber Number
HiLink pythonHexNumber Number
HiLink pythonOctNumber Number
HiLink pythonBinNumber Number
HiLink pythonFloat Float
HiLink pythonNumberError Error
HiLink pythonOctError Error
HiLink pythonHexError Error
HiLink pythonBinError Error
HiLink pythonBoolean Boolean
HiLink pythonBuiltinObj Structure
HiLink pythonBuiltinFunc Function
HiLink pythonExClass Structure
delcommand HiLink
endif
let b:current_syntax = "python"

View File

@ -0,0 +1,79 @@
" -----------------------------------------------------------------------------
" File: gruvbox.vim
" Description: Retro groove color scheme for Airline
" Author: morhetz <morhetz@gmail.com>
" Source: https://github.com/morhetz/gruvbox
" Last Modified: 12 Aug 2017
" -----------------------------------------------------------------------------
let g:airline#themes#gruvbox#palette = {}
function! airline#themes#gruvbox#refresh()
let M0 = airline#themes#get_highlight('Identifier')
let accents_group = airline#themes#get_highlight('Special')
let modified_group = [M0[0], '', M0[2], '', '']
let warning_group = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg'])
let error_group = airline#themes#get_highlight2(['Normal', 'bg'], ['WarningMsg', 'fg'])
let s:N1 = airline#themes#get_highlight2(['Normal', 'bg'], ['StatusLineNC', 'bg'])
let s:N2 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['Pmenu', 'bg'])
let s:N3 = airline#themes#get_highlight2(['StatusLineNC', 'bg'], ['CursorLine', 'bg'])
let g:airline#themes#gruvbox#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
let g:airline#themes#gruvbox#palette.normal_modified = { 'airline_c': modified_group }
let g:airline#themes#gruvbox#palette.normal.airline_warning = warning_group
let g:airline#themes#gruvbox#palette.normal_modified.airline_warning = warning_group
let g:airline#themes#gruvbox#palette.normal.airline_error = error_group
let g:airline#themes#gruvbox#palette.normal_modified.airline_error = error_group
let s:I1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Identifier', 'fg'])
let s:I2 = s:N2
let s:I3 = airline#themes#get_highlight2(['Normal', 'fg'], ['Pmenu', 'bg'])
let g:airline#themes#gruvbox#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
let g:airline#themes#gruvbox#palette.insert_modified = g:airline#themes#gruvbox#palette.normal_modified
let g:airline#themes#gruvbox#palette.insert.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning
let g:airline#themes#gruvbox#palette.insert_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning
let g:airline#themes#gruvbox#palette.insert.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error
let g:airline#themes#gruvbox#palette.insert_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error
let s:R1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Structure', 'fg'])
let s:R2 = s:I2
let s:R3 = s:I3
let g:airline#themes#gruvbox#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3)
let g:airline#themes#gruvbox#palette.replace_modified = g:airline#themes#gruvbox#palette.normal_modified
let g:airline#themes#gruvbox#palette.replace.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning
let g:airline#themes#gruvbox#palette.replace_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning
let g:airline#themes#gruvbox#palette.replace.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error
let g:airline#themes#gruvbox#palette.replace_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error
let s:V1 = airline#themes#get_highlight2(['Normal', 'bg'], ['Question', 'fg'])
let s:V2 = s:N2
let s:V3 = airline#themes#get_highlight2(['Normal', 'bg'], ['TabLine', 'fg'])
let g:airline#themes#gruvbox#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
let g:airline#themes#gruvbox#palette.visual_modified = { 'airline_c': [ s:V3[0], '', s:V3[2], '', '' ] }
let g:airline#themes#gruvbox#palette.visual.airline_warning = g:airline#themes#gruvbox#palette.normal.airline_warning
let g:airline#themes#gruvbox#palette.visual_modified.airline_warning = g:airline#themes#gruvbox#palette.normal_modified.airline_warning
let g:airline#themes#gruvbox#palette.visual.airline_error = g:airline#themes#gruvbox#palette.normal.airline_error
let g:airline#themes#gruvbox#palette.visual_modified.airline_error = g:airline#themes#gruvbox#palette.normal_modified.airline_error
let s:IA = airline#themes#get_highlight2(['TabLine', 'fg'], ['CursorLine', 'bg'])
let g:airline#themes#gruvbox#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)
let g:airline#themes#gruvbox#palette.inactive_modified = { 'airline_c': modified_group }
let g:airline#themes#gruvbox#palette.accents = { 'red': accents_group }
let s:TF = airline#themes#get_highlight2(['Normal', 'bg'], ['Normal', 'bg'])
let g:airline#themes#gruvbox#palette.tabline = {
\ 'airline_tab': s:N2,
\ 'airline_tabsel': s:N1,
\ 'airline_tabtype': s:V1,
\ 'airline_tabfill': s:TF,
\ 'airline_tabhid': s:IA,
\ 'airline_tabmod': s:I1
\ }
endfunction
call airline#themes#gruvbox#refresh()
" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker:

View File

@ -0,0 +1,42 @@
let g:airline#themes#quantum#palette = {}
function! airline#themes#quantum#refresh()
let g:airline#themes#quantum#palette.accents = {
\ 'red': airline#themes#get_highlight('Identifier'),
\ }
let s:N1 = airline#themes#get_highlight2(['CursorLine', 'bg'], ['Directory', 'fg'], 'bold')
let s:N2 = airline#themes#get_highlight('Pmenu')
let s:N3 = airline#themes#get_highlight('TabLine')
let g:airline#themes#quantum#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
let group = airline#themes#get_highlight('Type')
let g:airline#themes#quantum#palette.normal_modified = {
\ 'airline_c': [ group[0], '', group[2], '', '' ]
\ }
let s:I1 = airline#themes#get_highlight2(['CursorLine', 'bg'], ['MoreMsg', 'fg'], 'bold')
let g:airline#themes#quantum#palette.insert = airline#themes#generate_color_map(s:I1, s:N2, s:N3)
let g:airline#themes#quantum#palette.insert_modified = g:airline#themes#quantum#palette.normal_modified
let s:R1 = airline#themes#get_highlight2(['CursorLine', 'bg'], ['Error', 'fg'], 'bold')
let g:airline#themes#quantum#palette.replace = airline#themes#generate_color_map(s:R1, s:N2, s:N3)
let g:airline#themes#quantum#palette.replace_modified = g:airline#themes#quantum#palette.normal_modified
let s:V1 = airline#themes#get_highlight2(['CursorLine', 'bg'], ['Statement', 'fg'], 'bold')
let g:airline#themes#quantum#palette.visual = airline#themes#generate_color_map(s:V1, s:N2, s:N3)
let g:airline#themes#quantum#palette.visual_modified = g:airline#themes#quantum#palette.normal_modified
let s:IA = airline#themes#get_highlight2(['NonText', 'fg'], ['CursorLine', 'bg'])
let g:airline#themes#quantum#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)
let g:airline#themes#quantum#palette.inactive_modified = g:airline#themes#quantum#palette.normal_modified
if get(g:, 'loaded_ctrlp', 0)
let g:airline#themes#quantum#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(
\ airline#themes#get_highlight('CursorLine'),
\ airline#themes#get_highlight2(['Operator', 'fg'], ['Normal', 'bg']),
\ airline#themes#get_highlight2(['Normal', 'bg'], ['Operator', 'fg'], 'bold'))
endif
endfun
call airline#themes#quantum#refresh()

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,670 @@
" _ _ _ __
" | |__ __ _ __| | __ _____ | |/ _|
" | '_ \ / _` |/ _` | \ \ /\ / / _ \| | |_
" | |_) | (_| | (_| | \ V V / (_) | | _|
" |_.__/ \__,_|\__,_| \_/\_/ \___/|_|_|
"
" I am the Bad Wolf. I create myself.
" I take the words. I scatter them in time and space.
" A message to lead myself here.
"
" A Vim colorscheme pieced together by Steve Losh.
" Available at http://stevelosh.com/projects/badwolf/
"
" Why? {{{
"
" After using Molokai for quite a long time, I started longing for
" a replacement.
"
" I love Molokai's high contrast and gooey, saturated tones, but it can be
" a little inconsistent at times.
"
" Also it's winter here in Rochester, so I wanted a color scheme that's a bit
" warmer. A little less blue and a bit more red.
"
" And so Bad Wolf was born. I'm no designer, but designers have been scattering
" beautiful colors through time and space long before I came along. I took
" advantage of that and reused some of my favorites to lead me to this scheme.
"
" }}}
" Supporting code -------------------------------------------------------------
" Preamble {{{
if !has("gui_running") && &t_Co != 88 && &t_Co != 256
finish
endif
color=#1f1f1f
set background=dark
if exists("syntax_on")
syntax reset
endif
let g:colors_name = "badwolf"
if !exists("g:badwolf_html_link_underline") " {{{
let g:badwolf_html_link_underline = 1
endif " }}}
if !exists("g:badwolf_css_props_highlight") " {{{
let g:badwolf_css_props_highlight = 0
endif " }}}
" }}}
" Palette {{{
let s:bwc = {}
" The most basic of all our colors is a slightly tweaked version of the Molokai
" Normal text.
let s:bwc.plain = ['f8f6f2', 15]
" Pure and simple.
let s:bwc.snow = ['ffffff', 15]
let s:bwc.coal = ['000000', 16]
" All of the Gravel colors are based on a brown from Clouds Midnight.
let s:bwc.brightgravel = ['d9cec3', 252]
let s:bwc.lightgravel = ['998f84', 245]
let s:bwc.gravel = ['857f78', 243]
let s:bwc.mediumgravel = ['666462', 241]
let s:bwc.deepgravel = ['45413b', 238]
let s:bwc.deepergravel = ['35322d', 236]
let s:bwc.darkgravel = ['242321', 235]
let s:bwc.blackgravel = ['1c1b1a', 233]
let s:bwc.blackestgravel = ['141413', 232]
" A color sampled from a highlight in a photo of a glass of Dale's Pale Ale on
" my desk.
let s:bwc.dalespale = ['fade3e', 221]
" A beautiful tan from Tomorrow Night.
let s:bwc.dirtyblonde = ['f4cf86', 222]
" Delicious, chewy red from Made of Code for the poppiest highlights.
let s:bwc.taffy = ['ff2c4b', 196]
" Another chewy accent, but use sparingly!
let s:bwc.saltwatertaffy = ['8cffba', 121]
" The star of the show comes straight from Made of Code.
"
" You should almost never use this. It should be used for things that denote
" 'where the user is', which basically consists of:
"
" * The cursor
" * A REPL prompt
let s:bwc.tardis = ['0a9dff', 39]
" This one's from Mustang, not Florida!
let s:bwc.orange = ['ffa724', 214]
" A limier green from Getafe.
let s:bwc.lime = ['aeee00', 154]
" Rose's dress in The Idiot's Lantern.
let s:bwc.dress = ['ff9eb8', 211]
" Another play on the brown from Clouds Midnight. I love that color.
let s:bwc.toffee = ['b88853', 137]
" Also based on that Clouds Midnight brown.
let s:bwc.coffee = ['c7915b', 173]
let s:bwc.darkroast = ['88633f', 95]
" }}}
" Highlighting Function {{{
function! s:HL(group, fg, ...)
" Arguments: group, guifg, guibg, gui, guisp
let histring = 'hi ' . a:group . ' '
if strlen(a:fg)
if a:fg == 'fg'
let histring .= 'guifg=fg ctermfg=fg '
else
let c = get(s:bwc, a:fg)
let histring .= 'guifg=#' . c[0] . ' ctermfg=' . c[1] . ' '
endif
endif
if a:0 >= 1 && strlen(a:1)
if a:1 == 'bg'
let histring .= 'guibg=bg ctermbg=bg '
else
let c = get(s:bwc, a:1)
let histring .= 'guibg=#' . c[0] . ' ctermbg=' . c[1] . ' '
endif
endif
if a:0 >= 2 && strlen(a:2)
let histring .= 'gui=' . a:2 . ' cterm=' . a:2 . ' '
endif
if a:0 >= 3 && strlen(a:3)
let c = get(s:bwc, a:3)
let histring .= 'guisp=#' . c[0] . ' '
endif
" echom histring
execute histring
endfunction
" }}}
" Configuration Options {{{
if exists('g:badwolf_darkgutter') && g:badwolf_darkgutter
let s:gutter = 'blackestgravel'
else
let s:gutter = 'blackgravel'
endif
if exists('g:badwolf_tabline')
if g:badwolf_tabline == 0
let s:tabline = 'blackestgravel'
elseif g:badwolf_tabline == 1
let s:tabline = 'blackgravel'
elseif g:badwolf_tabline == 2
let s:tabline = 'darkgravel'
elseif g:badwolf_tabline == 3
let s:tabline = 'deepgravel'
else
let s:tabline = 'blackestgravel'
endif
else
let s:tabline = 'blackgravel'
endif
" }}}
" Actual colorscheme ----------------------------------------------------------
" Vanilla Vim {{{
" General/UI {{{
call s:HL('Normal', 'plain', 'blackgravel')
call s:HL('Folded', 'mediumgravel', 'bg', 'none')
call s:HL('VertSplit', 'lightgravel', 'bg', 'none')
call s:HL('CursorLine', '', 'darkgravel', 'none')
call s:HL('CursorColumn', '', 'darkgravel')
call s:HL('ColorColumn', '', 'darkgravel')
call s:HL('TabLine', 'plain', s:tabline, 'none')
call s:HL('TabLineFill', 'plain', s:tabline, 'none')
call s:HL('TabLineSel', 'coal', 'tardis', 'none')
call s:HL('MatchParen', 'dalespale', 'darkgravel', 'bold')
call s:HL('NonText', 'deepgravel', 'bg')
call s:HL('SpecialKey', 'deepgravel', 'bg')
call s:HL('Visual', '', 'deepgravel')
call s:HL('VisualNOS', '', 'deepgravel')
call s:HL('Search', 'coal', 'dalespale', 'bold')
call s:HL('IncSearch', 'coal', 'tardis', 'bold')
call s:HL('Underlined', 'fg', '', 'underline')
call s:HL('StatusLine', 'coal', 'tardis', 'bold')
call s:HL('StatusLineNC', 'snow', 'deepgravel', 'bold')
call s:HL('Directory', 'dirtyblonde', '', 'bold')
call s:HL('Title', 'lime')
call s:HL('ErrorMsg', 'taffy', 'bg', 'bold')
call s:HL('MoreMsg', 'dalespale', '', 'bold')
call s:HL('ModeMsg', 'dirtyblonde', '', 'bold')
call s:HL('Question', 'dirtyblonde', '', 'bold')
call s:HL('WarningMsg', 'dress', '', 'bold')
" This is a ctags tag, not an HTML one. 'Something you can use c-] on'.
call s:HL('Tag', '', '', 'bold')
" hi IndentGuides guibg=#373737
" hi WildMenu guifg=#66D9EF guibg=#000000
" }}}
" Gutter {{{
call s:HL('LineNr', 'mediumgravel', s:gutter)
call s:HL('SignColumn', '', s:gutter)
call s:HL('FoldColumn', 'mediumgravel', s:gutter)
" }}}
" Cursor {{{
call s:HL('Cursor', 'coal', 'tardis', 'bold')
call s:HL('vCursor', 'coal', 'tardis', 'bold')
call s:HL('iCursor', 'coal', 'tardis', 'none')
" }}}
" Syntax highlighting {{{
" Start with a simple base.
call s:HL('Special', 'plain')
" Comments are slightly brighter than folds, to make 'headers' easier to see.
call s:HL('Comment', 'gravel')
call s:HL('Todo', 'snow', 'bg', 'bold')
call s:HL('SpecialComment', 'snow', 'bg', 'bold')
" Strings are a nice, pale straw color. Nothing too fancy.
call s:HL('String', 'dirtyblonde')
" Control flow stuff is taffy.
call s:HL('Statement', 'taffy', '', 'bold')
call s:HL('Keyword', 'taffy', '', 'bold')
call s:HL('Conditional', 'taffy', '', 'bold')
call s:HL('Operator', 'taffy', '', 'none')
call s:HL('Label', 'taffy', '', 'none')
call s:HL('Repeat', 'taffy', '', 'none')
" Functions and variable declarations are orange, because plain looks weird.
call s:HL('Identifier', 'orange', '', 'none')
call s:HL('Function', 'orange', '', 'none')
" Preprocessor stuff is lime, to make it pop.
"
" This includes imports in any given language, because they should usually be
" grouped together at the beginning of a file. If they're in the middle of some
" other code they should stand out, because something tricky is
" probably going on.
call s:HL('PreProc', 'lime', '', 'none')
call s:HL('Macro', 'lime', '', 'none')
call s:HL('Define', 'lime', '', 'none')
call s:HL('PreCondit', 'lime', '', 'bold')
" Constants of all kinds are colored together.
" I'm not really happy with the color yet...
call s:HL('Constant', 'toffee', '', 'bold')
call s:HL('Character', 'toffee', '', 'bold')
call s:HL('Boolean', 'toffee', '', 'bold')
call s:HL('Number', 'toffee', '', 'bold')
call s:HL('Float', 'toffee', '', 'bold')
" Not sure what 'special character in a constant' means, but let's make it pop.
call s:HL('SpecialChar', 'dress', '', 'bold')
call s:HL('Type', 'dress', '', 'none')
call s:HL('StorageClass', 'taffy', '', 'none')
call s:HL('Structure', 'taffy', '', 'none')
call s:HL('Typedef', 'taffy', '', 'bold')
" Make try/catch blocks stand out.
call s:HL('Exception', 'lime', '', 'bold')
" Misc
call s:HL('Error', 'snow', 'taffy', 'bold')
call s:HL('Debug', 'snow', '', 'bold')
call s:HL('Ignore', 'gravel', '', '')
" }}}
" Completion Menu {{{
call s:HL('Pmenu', 'plain', 'deepergravel')
call s:HL('PmenuSel', 'coal', 'tardis', 'bold')
call s:HL('PmenuSbar', '', 'deepergravel')
call s:HL('PmenuThumb', 'brightgravel')
" }}}
" Diffs {{{
call s:HL('DiffDelete', 'coal', 'coal')
call s:HL('DiffAdd', '', 'deepergravel')
call s:HL('DiffChange', '', 'darkgravel')
call s:HL('DiffText', 'snow', 'deepergravel', 'bold')
" }}}
" Spelling {{{
if has("spell")
call s:HL('SpellCap', 'dalespale', 'bg', 'undercurl,bold', 'dalespale')
call s:HL('SpellBad', '', 'bg', 'undercurl', 'dalespale')
call s:HL('SpellLocal', '', '', 'undercurl', 'dalespale')
call s:HL('SpellRare', '', '', 'undercurl', 'dalespale')
endif
" }}}
" }}}
" Plugins {{{
" CtrlP {{{
" the message when no match is found
call s:HL('CtrlPNoEntries', 'snow', 'taffy', 'bold')
" the matched pattern
call s:HL('CtrlPMatch', 'orange', 'bg', 'none')
" the line prefix '>' in the match window
call s:HL('CtrlPLinePre', 'deepgravel', 'bg', 'none')
" the prompts base
call s:HL('CtrlPPrtBase', 'deepgravel', 'bg', 'none')
" the prompts text
call s:HL('CtrlPPrtText', 'plain', 'bg', 'none')
" the prompts cursor when moving over the text
call s:HL('CtrlPPrtCursor', 'coal', 'tardis', 'bold')
" 'prt' or 'win', also for 'regex'
call s:HL('CtrlPMode1', 'coal', 'tardis', 'bold')
" 'file' or 'path', also for the local working dir
call s:HL('CtrlPMode2', 'coal', 'tardis', 'bold')
" the scanning status
call s:HL('CtrlPStats', 'coal', 'tardis', 'bold')
" TODO: CtrlP extensions.
" CtrlPTabExtra : the part of each line thats not matched against (Comment)
" CtrlPqfLineCol : the line and column numbers in quickfix mode (|s:HL-Search|)
" CtrlPUndoT : the elapsed time in undo mode (|s:HL-Directory|)
" CtrlPUndoBr : the square brackets [] in undo mode (Comment)
" CtrlPUndoNr : the undo number inside [] in undo mode (String)
" }}}
" EasyMotion {{{
call s:HL('EasyMotionTarget', 'tardis', 'bg', 'bold')
call s:HL('EasyMotionShade', 'deepgravel', 'bg')
" }}}
" Interesting Words {{{
" These are only used if you're me or have copied the <leader>hNUM mappings
" from my Vimrc.
call s:HL('InterestingWord1', 'coal', 'orange')
call s:HL('InterestingWord2', 'coal', 'lime')
call s:HL('InterestingWord3', 'coal', 'saltwatertaffy')
call s:HL('InterestingWord4', 'coal', 'toffee')
call s:HL('InterestingWord5', 'coal', 'dress')
call s:HL('InterestingWord6', 'coal', 'taffy')
" }}}
" Makegreen {{{
" hi GreenBar term=reverse ctermfg=white ctermbg=green guifg=coal guibg=#9edf1c
" hi RedBar term=reverse ctermfg=white ctermbg=red guifg=white guibg=#C50048
" }}}
" Rainbow Parentheses {{{
call s:HL('level16c', 'mediumgravel', '', 'bold')
call s:HL('level15c', 'dalespale', '', '')
call s:HL('level14c', 'dress', '', '')
call s:HL('level13c', 'orange', '', '')
call s:HL('level12c', 'tardis', '', '')
call s:HL('level11c', 'lime', '', '')
call s:HL('level10c', 'toffee', '', '')
call s:HL('level9c', 'saltwatertaffy', '', '')
call s:HL('level8c', 'coffee', '', '')
call s:HL('level7c', 'dalespale', '', '')
call s:HL('level6c', 'dress', '', '')
call s:HL('level5c', 'orange', '', '')
call s:HL('level4c', 'tardis', '', '')
call s:HL('level3c', 'lime', '', '')
call s:HL('level2c', 'toffee', '', '')
call s:HL('level1c', 'saltwatertaffy', '', '')
" }}}
" ShowMarks {{{
call s:HL('ShowMarksHLl', 'tardis', 'blackgravel')
call s:HL('ShowMarksHLu', 'tardis', 'blackgravel')
call s:HL('ShowMarksHLo', 'tardis', 'blackgravel')
call s:HL('ShowMarksHLm', 'tardis', 'blackgravel')
" }}}
" }}}
" Filetype-specific {{{
" Clojure {{{
call s:HL('clojureSpecial', 'taffy', '', '')
call s:HL('clojureDefn', 'taffy', '', '')
call s:HL('clojureDefMacro', 'taffy', '', '')
call s:HL('clojureDefine', 'taffy', '', '')
call s:HL('clojureMacro', 'taffy', '', '')
call s:HL('clojureCond', 'taffy', '', '')
call s:HL('clojureKeyword', 'orange', '', 'none')
call s:HL('clojureFunc', 'dress', '', 'none')
call s:HL('clojureRepeat', 'dress', '', 'none')
call s:HL('clojureParen0', 'lightgravel', '', 'none')
call s:HL('clojureAnonArg', 'snow', '', 'bold')
" }}}
" Common Lisp {{{
call s:HL('lispFunc', 'lime', '', 'none')
call s:HL('lispVar', 'orange', '', 'bold')
call s:HL('lispEscapeSpecial', 'orange', '', 'none')
" }}}
" CSS {{{
if g:badwolf_css_props_highlight
call s:HL('cssColorProp', 'taffy', '', 'none')
call s:HL('cssBoxProp', 'taffy', '', 'none')
call s:HL('cssTextProp', 'taffy', '', 'none')
call s:HL('cssRenderProp', 'taffy', '', 'none')
call s:HL('cssGeneratedContentProp', 'taffy', '', 'none')
else
call s:HL('cssColorProp', 'fg', '', 'none')
call s:HL('cssBoxProp', 'fg', '', 'none')
call s:HL('cssTextProp', 'fg', '', 'none')
call s:HL('cssRenderProp', 'fg', '', 'none')
call s:HL('cssGeneratedContentProp', 'fg', '', 'none')
end
call s:HL('cssValueLength', 'toffee', '', 'bold')
call s:HL('cssColor', 'toffee', '', 'bold')
call s:HL('cssBraces', 'lightgravel', '', 'none')
call s:HL('cssIdentifier', 'orange', '', 'bold')
call s:HL('cssClassName', 'orange', '', 'none')
" }}}
" Diff {{{
call s:HL('gitDiff', 'lightgravel', '',)
call s:HL('diffRemoved', 'dress', '',)
call s:HL('diffAdded', 'lime', '',)
call s:HL('diffFile', 'coal', 'taffy', 'bold')
call s:HL('diffNewFile', 'coal', 'taffy', 'bold')
call s:HL('diffLine', 'coal', 'orange', 'bold')
call s:HL('diffSubname', 'orange', '', 'none')
" }}}
" Django Templates {{{
call s:HL('djangoArgument', 'dirtyblonde', '',)
call s:HL('djangoTagBlock', 'orange', '')
call s:HL('djangoVarBlock', 'orange', '')
" hi djangoStatement guifg=#ff3853 gui=bold
" hi djangoVarBlock guifg=#f4cf86
" }}}
" HTML {{{
" Punctuation
call s:HL('htmlTag', 'darkroast', 'bg', 'none')
call s:HL('htmlEndTag', 'darkroast', 'bg', 'none')
" Tag names
call s:HL('htmlTagName', 'coffee', '', 'bold')
call s:HL('htmlSpecialTagName', 'coffee', '', 'bold')
call s:HL('htmlSpecialChar', 'lime', '', 'none')
" Attributes
call s:HL('htmlArg', 'coffee', '', 'none')
" Stuff inside an <a> tag
if g:badwolf_html_link_underline
call s:HL('htmlLink', 'lightgravel', '', 'underline')
else
call s:HL('htmlLink', 'lightgravel', '', 'none')
endif
" }}}
" Java {{{
call s:HL('javaClassDecl', 'taffy', '', 'bold')
call s:HL('javaScopeDecl', 'taffy', '', 'bold')
call s:HL('javaCommentTitle', 'gravel', '')
call s:HL('javaDocTags', 'snow', '', 'none')
call s:HL('javaDocParam', 'dalespale', '', '')
" }}}
" LaTeX {{{
call s:HL('texStatement', 'tardis', '', 'none')
call s:HL('texMathZoneX', 'orange', '', 'none')
call s:HL('texMathZoneA', 'orange', '', 'none')
call s:HL('texMathZoneB', 'orange', '', 'none')
call s:HL('texMathZoneC', 'orange', '', 'none')
call s:HL('texMathZoneD', 'orange', '', 'none')
call s:HL('texMathZoneE', 'orange', '', 'none')
call s:HL('texMathZoneV', 'orange', '', 'none')
call s:HL('texMathZoneX', 'orange', '', 'none')
call s:HL('texMath', 'orange', '', 'none')
call s:HL('texMathMatcher', 'orange', '', 'none')
call s:HL('texRefLabel', 'dirtyblonde', '', 'none')
call s:HL('texRefZone', 'lime', '', 'none')
call s:HL('texComment', 'darkroast', '', 'none')
call s:HL('texDelimiter', 'orange', '', 'none')
call s:HL('texZone', 'brightgravel', '', 'none')
augroup badwolf_tex
au!
au BufRead,BufNewFile *.tex syn region texMathZoneV start="\\(" end="\\)\|%stopzone\>" keepend contains=@texMathZoneGroup
au BufRead,BufNewFile *.tex syn region texMathZoneX start="\$" skip="\\\\\|\\\$" end="\$\|%stopzone\>" keepend contains=@texMathZoneGroup
augroup END
" }}}
" LessCSS {{{
call s:HL('lessVariable', 'lime', '', 'none')
" }}}
" Lispyscript {{{
call s:HL('lispyscriptDefMacro', 'lime', '', '')
call s:HL('lispyscriptRepeat', 'dress', '', 'none')
" }}}
" REPLs {{{
" This isn't a specific plugin, but just useful highlight classes for anything
" that might want to use them.
call s:HL('replPrompt', 'tardis', '', 'bold')
" }}}
" Mail {{{
call s:HL('mailSubject', 'orange', '', 'bold')
call s:HL('mailHeader', 'lightgravel', '', '')
call s:HL('mailHeaderKey', 'lightgravel', '', '')
call s:HL('mailHeaderEmail', 'snow', '', '')
call s:HL('mailURL', 'toffee', '', 'underline')
call s:HL('mailSignature', 'gravel', '', 'none')
call s:HL('mailQuoted1', 'gravel', '', 'none')
call s:HL('mailQuoted2', 'dress', '', 'none')
call s:HL('mailQuoted3', 'dirtyblonde', '', 'none')
call s:HL('mailQuoted4', 'orange', '', 'none')
call s:HL('mailQuoted5', 'lime', '', 'none')
" }}}
" Markdown {{{
call s:HL('markdownHeadingRule', 'lightgravel', '', 'bold')
call s:HL('markdownHeadingDelimiter', 'lightgravel', '', 'bold')
call s:HL('markdownOrderedListMarker', 'lightgravel', '', 'bold')
call s:HL('markdownListMarker', 'lightgravel', '', 'bold')
call s:HL('markdownItalic', 'snow', '', 'bold')
call s:HL('markdownBold', 'snow', '', 'bold')
call s:HL('markdownH1', 'orange', '', 'bold')
call s:HL('markdownH2', 'lime', '', 'bold')
call s:HL('markdownH3', 'lime', '', 'none')
call s:HL('markdownH4', 'lime', '', 'none')
call s:HL('markdownH5', 'lime', '', 'none')
call s:HL('markdownH6', 'lime', '', 'none')
call s:HL('markdownLinkText', 'toffee', '', 'underline')
call s:HL('markdownIdDeclaration', 'toffee')
call s:HL('markdownAutomaticLink', 'toffee', '', 'bold')
call s:HL('markdownUrl', 'toffee', '', 'bold')
call s:HL('markdownUrldelimiter', 'lightgravel', '', 'bold')
call s:HL('markdownLinkDelimiter', 'lightgravel', '', 'bold')
call s:HL('markdownLinkTextDelimiter', 'lightgravel', '', 'bold')
call s:HL('markdownCodeDelimiter', 'dirtyblonde', '', 'bold')
call s:HL('markdownCode', 'dirtyblonde', '', 'none')
call s:HL('markdownCodeBlock', 'dirtyblonde', '', 'none')
" }}}
" MySQL {{{
call s:HL('mysqlSpecial', 'dress', '', 'bold')
" }}}
" Python {{{
hi def link pythonOperator Operator
call s:HL('pythonBuiltin', 'dress')
call s:HL('pythonBuiltinObj', 'dress')
call s:HL('pythonBuiltinFunc', 'dress')
call s:HL('pythonEscape', 'dress')
call s:HL('pythonException', 'lime', '', 'bold')
call s:HL('pythonExceptions', 'lime', '', 'none')
call s:HL('pythonPrecondit', 'lime', '', 'none')
call s:HL('pythonDecorator', 'taffy', '', 'none')
call s:HL('pythonRun', 'gravel', '', 'bold')
call s:HL('pythonCoding', 'gravel', '', 'bold')
" }}}
" SLIMV {{{
" Rainbow parentheses
call s:HL('hlLevel0', 'gravel')
call s:HL('hlLevel1', 'orange')
call s:HL('hlLevel2', 'saltwatertaffy')
call s:HL('hlLevel3', 'dress')
call s:HL('hlLevel4', 'coffee')
call s:HL('hlLevel5', 'dirtyblonde')
call s:HL('hlLevel6', 'orange')
call s:HL('hlLevel7', 'saltwatertaffy')
call s:HL('hlLevel8', 'dress')
call s:HL('hlLevel9', 'coffee')
" }}}
" Vim {{{
call s:HL('VimCommentTitle', 'lightgravel', '', 'bold')
call s:HL('VimMapMod', 'dress', '', 'none')
call s:HL('VimMapModKey', 'dress', '', 'none')
call s:HL('VimNotation', 'dress', '', 'none')
call s:HL('VimBracket', 'dress', '', 'none')
" }}}
" }}}

View File

@ -0,0 +1,672 @@
set background=dark
hi clear
if exists("syntax_on")
syntax reset
endif
let colors_name = "jellybeans"
if has("gui_running") || (has('termguicolors') && &termguicolors)
let s:true_color = 1
else
let s:true_color = 0
endif
if s:true_color || &t_Co >= 88
let s:low_color = 0
else
let s:low_color = 1
endif
" Configuration Variables:
" - g:jellybeans_overrides (default = {})
" - g:jellybeans_use_lowcolor_black (default = 0)
" - g:jellybeans_use_gui_italics (default = 1)
" - g:jellybeans_use_term_italics (default = 0)
let s:background_color = "000"
if exists("g:jellybeans_overrides")
let s:overrides = g:jellybeans_overrides
else
let s:overrides = {}
endif
" Backwards compatibility
if exists("g:jellybeans_background_color")
\ || exists("g:jellybeans_background_color_256")
\ || exists("g:jellybeans_use_term_background_color")
let s:overrides = deepcopy(s:overrides)
if !has_key(s:overrides, "background")
let s:overrides["background"] = {}
endif
if exists("g:jellybeans_background_color")
let s:overrides["background"]["guibg"] = g:jellybeans_background_color
endif
if exists("g:jellybeans_background_color_256")
let s:overrides["background"]["256ctermbg"] = g:jellybeans_background_color_256
endif
if exists("g:jellybeans_use_term_background_color")
\ && g:jellybeans_use_term_background_color
let s:overrides["background"]["ctermbg"] = "NONE"
let s:overrides["background"]["256ctermbg"] = "NONE"
endif
endif
if exists("g:jellybeans_use_lowcolor_black") && g:jellybeans_use_lowcolor_black
let s:termBlack = "Black"
else
let s:termBlack = "Grey"
endif
" When `termguicolors` is set, Vim[^1] ignores `hi Normal guibg=NONE`
" after Normal's `guibg` is already set to a color. See:
"
" - https://github.com/vim/vim/issues/981
" - https://github.com/nanotech/jellybeans.vim/issues/64
"
" To work around this, ensure we don't set the default background
" color before an override changes it to `NONE` by ensuring that the
" background color isn't set to a value different from its override.
"
" [^1]: Tested on 8.0.567. Does not apply to Neovim.
"
if has_key(s:overrides, "background") && has_key(s:overrides["background"], "guibg")
let s:background_color = s:overrides["background"]["guibg"]
endif
" Color approximation functions by Henry So, Jr. and David Liang {{{
" Added to jellybeans.vim by Daniel Herbert
if &t_Co == 88
" returns an approximate grey index for the given grey level
fun! s:grey_number(x)
if a:x < 23
return 0
elseif a:x < 69
return 1
elseif a:x < 103
return 2
elseif a:x < 127
return 3
elseif a:x < 150
return 4
elseif a:x < 173
return 5
elseif a:x < 196
return 6
elseif a:x < 219
return 7
elseif a:x < 243
return 8
else
return 9
endif
endfun
" returns the actual grey level represented by the grey index
fun! s:grey_level(n)
if a:n == 0
return 0
elseif a:n == 1
return 46
elseif a:n == 2
return 92
elseif a:n == 3
return 115
elseif a:n == 4
return 139
elseif a:n == 5
return 162
elseif a:n == 6
return 185
elseif a:n == 7
return 208
elseif a:n == 8
return 231
else
return 255
endif
endfun
" returns the palette index for the given grey index
fun! s:grey_color(n)
if a:n == 0
return 16
elseif a:n == 9
return 79
else
return 79 + a:n
endif
endfun
" returns an approximate color index for the given color level
fun! s:rgb_number(x)
if a:x < 69
return 0
elseif a:x < 172
return 1
elseif a:x < 230
return 2
else
return 3
endif
endfun
" returns the actual color level for the given color index
fun! s:rgb_level(n)
if a:n == 0
return 0
elseif a:n == 1
return 139
elseif a:n == 2
return 205
else
return 255
endif
endfun
" returns the palette index for the given R/G/B color indices
fun! s:rgb_color(x, y, z)
return 16 + (a:x * 16) + (a:y * 4) + a:z
endfun
else " assuming &t_Co == 256
" returns an approximate grey index for the given grey level
fun! s:grey_number(x)
if a:x < 14
return 0
else
let l:n = (a:x - 8) / 10
let l:m = (a:x - 8) % 10
if l:m < 5
return l:n
else
return l:n + 1
endif
endif
endfun
" returns the actual grey level represented by the grey index
fun! s:grey_level(n)
if a:n == 0
return 0
else
return 8 + (a:n * 10)
endif
endfun
" returns the palette index for the given grey index
fun! s:grey_color(n)
if a:n == 0
return 16
elseif a:n == 25
return 231
else
return 231 + a:n
endif
endfun
" returns an approximate color index for the given color level
fun! s:rgb_number(x)
if a:x < 75
return 0
else
let l:n = (a:x - 55) / 40
let l:m = (a:x - 55) % 40
if l:m < 20
return l:n
else
return l:n + 1
endif
endif
endfun
" returns the actual color level for the given color index
fun! s:rgb_level(n)
if a:n == 0
return 0
else
return 55 + (a:n * 40)
endif
endfun
" returns the palette index for the given R/G/B color indices
fun! s:rgb_color(x, y, z)
return 16 + (a:x * 36) + (a:y * 6) + a:z
endfun
endif
" returns the palette index to approximate the given R/G/B color levels
fun! s:color(r, g, b)
" map greys directly (see xterm's 256colres.pl)
if &t_Co == 256 && a:r == a:g && a:g == a:b && a:r > 3 && a:r < 243
return (a:r - 8) / 10 + 232
endif
" get the closest grey
let l:gx = s:grey_number(a:r)
let l:gy = s:grey_number(a:g)
let l:gz = s:grey_number(a:b)
" get the closest color
let l:x = s:rgb_number(a:r)
let l:y = s:rgb_number(a:g)
let l:z = s:rgb_number(a:b)
if l:gx == l:gy && l:gy == l:gz
" there are two possibilities
let l:dgr = s:grey_level(l:gx) - a:r
let l:dgg = s:grey_level(l:gy) - a:g
let l:dgb = s:grey_level(l:gz) - a:b
let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
let l:dr = s:rgb_level(l:gx) - a:r
let l:dg = s:rgb_level(l:gy) - a:g
let l:db = s:rgb_level(l:gz) - a:b
let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db)
if l:dgrey < l:drgb
" use the grey
return s:grey_color(l:gx)
else
" use the color
return s:rgb_color(l:x, l:y, l:z)
endif
else
" only one possibility
return s:rgb_color(l:x, l:y, l:z)
endif
endfun
fun! s:is_empty_or_none(str)
return empty(a:str) || a:str ==? "NONE"
endfun
" returns the palette index to approximate the 'rrggbb' hex string
fun! s:rgb(rgb)
if s:is_empty_or_none(a:rgb)
return "NONE"
endif
let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0
let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0
let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0
return s:color(l:r, l:g, l:b)
endfun
fun! s:prefix_highlight_value_with(prefix, color)
if s:is_empty_or_none(a:color)
return "NONE"
else
return a:prefix . a:color
endif
endfun
fun! s:remove_italic_attr(attr)
let l:attr = join(filter(split(a:attr, ","), "v:val !=? 'italic'"), ",")
if empty(l:attr)
let l:attr = "NONE"
endif
return l:attr
endfun
" sets the highlighting for the given group
fun! s:X(group, fg, bg, attr, lcfg, lcbg)
if s:low_color
let l:cmd = "hi ".a:group.
\ " ctermfg=".s:prefix_highlight_value_with("", a:lcfg).
\ " ctermbg=".s:prefix_highlight_value_with("", a:lcbg)
else
let l:cmd = "hi ".a:group.
\ " guifg=".s:prefix_highlight_value_with("#", a:fg).
\ " guibg=".s:prefix_highlight_value_with("#", a:bg)
if !s:true_color
let l:cmd = l:cmd.
\ " ctermfg=".s:rgb(a:fg).
\ " ctermbg=".s:rgb(a:bg)
endif
endif
let l:attr = s:prefix_highlight_value_with("", a:attr)
if exists("g:jellybeans_use_term_italics") && g:jellybeans_use_term_italics
let l:cterm_attr = l:attr
else
let l:cterm_attr = s:remove_italic_attr(l:attr)
endif
if !exists("g:jellybeans_use_gui_italics") || g:jellybeans_use_gui_italics
let l:gui_attr = l:attr
else
let l:gui_attr = s:remove_italic_attr(l:attr)
endif
let l:cmd = l:cmd." gui=".l:gui_attr." cterm=".l:cterm_attr
exec l:cmd
endfun
" }}}
call s:X("Normal","e8e8d3",s:background_color,"","White","")
set background=dark
call s:X("CursorLine","","1c1c1c","","",s:termBlack)
call s:X("CursorColumn","","1c1c1c","","",s:termBlack)
" Some of Terminal.app's default themes have a cursor color
" too close to Jellybeans' preferred MatchParen background
" color to be easily distinguishable. Other terminals tend
" to use a brighter cursor color.
"
" Use a more distinct color in Terminal.app, and also in
" low-color terminals if the preferred background color is
" not available.
if !has('gui_running') && $TERM_PROGRAM == "Apple_Terminal"
let s:matchParenGuiFg = "dd0093"
let s:matchParenGuiBg = "000000"
else
let s:matchParenGuiFg = "ffffff"
let s:matchParenGuiBg = "556779"
endif
if s:termBlack != "Black"
let s:matchParenTermFg = "Magenta"
let s:matchParenTermBg = ""
else
let s:matchParenTermFg = ""
let s:matchParenTermBg = s:termBlack
endif
call s:X("MatchParen",s:matchParenGuiFg,s:matchParenGuiBg,"bold",
\ s:matchParenTermFg,s:matchParenTermBg)
call s:X("TabLine","000000","b0b8c0","italic","",s:termBlack)
call s:X("TabLineFill","9098a0","","","",s:termBlack)
call s:X("TabLineSel","000000","f0f0f0","italic,bold",s:termBlack,"White")
" Auto-completion
call s:X("Pmenu","ffffff","606060","","White",s:termBlack)
call s:X("PmenuSel","101010","eeeeee","",s:termBlack,"White")
call s:X("Visual","","404040","","",s:termBlack)
call s:X("Cursor",s:background_color,"b0d0f0","","","")
call s:X("LineNr","605958",s:background_color,"NONE",s:termBlack,"")
call s:X("CursorLineNr","ccc5c4","","NONE","White","")
call s:X("Comment","888888","","italic","Grey","")
call s:X("Todo","c7c7c7","","bold","White",s:termBlack)
call s:X("StatusLine","000000","dddddd","italic","","White")
call s:X("StatusLineNC","ffffff","403c41","italic","White","Black")
call s:X("VertSplit","777777","403c41","",s:termBlack,s:termBlack)
call s:X("WildMenu","f0a0c0","302028","","Magenta","")
call s:X("Folded","a0a8b0","384048","italic",s:termBlack,"")
call s:X("FoldColumn","535D66","1f1f1f","","",s:termBlack)
call s:X("SignColumn","777777","333333","","",s:termBlack)
call s:X("ColorColumn","","000000","","",s:termBlack)
call s:X("Title","70b950","","bold","Green","")
call s:X("Constant","cf6a4c","","","Red","")
call s:X("Special","799d6a","","","Green","")
call s:X("Delimiter","668799","","","Grey","")
call s:X("String","99ad6a","","","Green","")
call s:X("StringDelimiter","556633","","","DarkGreen","")
call s:X("Identifier","c6b6ee","","","LightCyan","")
call s:X("Structure","8fbfdc","","","LightCyan","")
call s:X("Function","fad07a","","","Yellow","")
call s:X("Statement","8197bf","","","DarkBlue","")
call s:X("PreProc","8fbfdc","","","LightBlue","")
hi! link Operator Structure
hi! link Conceal Operator
call s:X("Type","ffb964","","","Yellow","")
call s:X("NonText","606060",s:background_color,"",s:termBlack,"")
call s:X("SpecialKey","444444","1c1c1c","",s:termBlack,"")
call s:X("Search","f0a0c0","302028","underline","Magenta","")
call s:X("Directory","dad085","","","Yellow","")
call s:X("ErrorMsg","","902020","","","DarkRed")
hi! link Error ErrorMsg
hi! link MoreMsg Special
call s:X("Question","65C254","","","Green","")
" Spell Checking
call s:X("SpellBad","","902020","underline","","DarkRed")
call s:X("SpellCap","","0000df","underline","","Blue")
call s:X("SpellRare","","540063","underline","","DarkMagenta")
call s:X("SpellLocal","","2D7067","underline","","Green")
" Diff
hi! link diffRemoved Constant
hi! link diffAdded String
" VimDiff
call s:X("DiffAdd","D2EBBE","437019","","White","DarkGreen")
call s:X("DiffDelete","40000A","700009","","DarkRed","DarkRed")
call s:X("DiffChange","","2B5B77","","White","DarkBlue")
call s:X("DiffText","8fbfdc","000000","reverse","Yellow","")
" PHP
hi! link phpFunctions Function
call s:X("StorageClass","c59f6f","","","Red","")
hi! link phpSuperglobal Identifier
hi! link phpQuoteSingle StringDelimiter
hi! link phpQuoteDouble StringDelimiter
hi! link phpBoolean Constant
hi! link phpNull Constant
hi! link phpArrayPair Operator
hi! link phpOperator Normal
hi! link phpRelation Normal
hi! link phpVarSelector Identifier
" Python
hi! link pythonOperator Statement
" Ruby
hi! link rubySharpBang Comment
call s:X("rubyClass","447799","","","DarkBlue","")
call s:X("rubyIdentifier","c6b6fe","","","Cyan","")
hi! link rubyConstant Type
hi! link rubyFunction Function
call s:X("rubyInstanceVariable","c6b6fe","","","Cyan","")
call s:X("rubySymbol","7697d6","","","Blue","")
hi! link rubyGlobalVariable rubyInstanceVariable
hi! link rubyModule rubyClass
call s:X("rubyControl","7597c6","","","Blue","")
hi! link rubyString String
hi! link rubyStringDelimiter StringDelimiter
hi! link rubyInterpolationDelimiter Identifier
call s:X("rubyRegexpDelimiter","540063","","","Magenta","")
call s:X("rubyRegexp","dd0093","","","DarkMagenta","")
call s:X("rubyRegexpSpecial","a40073","","","Magenta","")
call s:X("rubyPredefinedIdentifier","de5577","","","Red","")
" Erlang
hi! link erlangAtom rubySymbol
hi! link erlangBIF rubyPredefinedIdentifier
hi! link erlangFunction rubyPredefinedIdentifier
hi! link erlangDirective Statement
hi! link erlangNode Identifier
" Elixir
hi! link elixirAtom rubySymbol
" JavaScript
hi! link javaScriptValue Constant
hi! link javaScriptRegexpString rubyRegexp
hi! link javaScriptTemplateVar StringDelim
hi! link javaScriptTemplateDelim Identifier
hi! link javaScriptTemplateString String
" CoffeeScript
hi! link coffeeRegExp javaScriptRegexpString
" Lua
hi! link luaOperator Conditional
" C
hi! link cFormat Identifier
hi! link cOperator Constant
" Objective-C/Cocoa
hi! link objcClass Type
hi! link cocoaClass objcClass
hi! link objcSubclass objcClass
hi! link objcSuperclass objcClass
hi! link objcDirective rubyClass
hi! link objcStatement Constant
hi! link cocoaFunction Function
hi! link objcMethodName Identifier
hi! link objcMethodArg Normal
hi! link objcMessageName Identifier
" Vimscript
hi! link vimOper Normal
" HTML
hi! link htmlTag Statement
hi! link htmlEndTag htmlTag
hi! link htmlTagName htmlTag
" XML
hi! link xmlTag Statement
hi! link xmlEndTag xmlTag
hi! link xmlTagName xmlTag
hi! link xmlEqual xmlTag
hi! link xmlEntity Special
hi! link xmlEntityPunct xmlEntity
hi! link xmlDocTypeDecl PreProc
hi! link xmlDocTypeKeyword PreProc
hi! link xmlProcessingDelim xmlAttrib
" Debugger.vim
call s:X("DbgCurrent","DEEBFE","345FA8","","White","DarkBlue")
call s:X("DbgBreakPt","","4F0037","","","DarkMagenta")
" vim-indent-guides
if !exists("g:indent_guides_auto_colors")
let g:indent_guides_auto_colors = 0
endif
call s:X("IndentGuidesOdd","","232323","","","")
call s:X("IndentGuidesEven","","1b1b1b","","","")
" Plugins, etc.
hi! link TagListFileName Directory
call s:X("PreciseJumpTarget","B9ED67","405026","","White","Green")
" Manual overrides for 256-color terminals. Dark colors auto-map badly.
if !s:low_color
hi StatusLineNC ctermbg=235
hi Folded ctermbg=236
hi DiffText ctermfg=81
hi DbgBreakPt ctermbg=53
hi IndentGuidesOdd ctermbg=235
hi IndentGuidesEven ctermbg=234
endif
if !empty("s:overrides")
fun! s:current_attr(group)
let l:synid = synIDtrans(hlID(a:group))
let l:attrs = []
for l:attr in ["bold", "italic", "reverse", "standout", "underline", "undercurl"]
if synIDattr(l:synid, l:attr, "gui") == 1
call add(l:attrs, l:attr)
endif
endfor
return join(l:attrs, ",")
endfun
fun! s:current_color(group, what, mode)
let l:color = synIDattr(synIDtrans(hlID(a:group)), a:what, a:mode)
if l:color == -1
return ""
else
return substitute(l:color, "^#", "", "")
endif
endfun
fun! s:load_color_def(group, def)
call s:X(a:group, get(a:def, "guifg", s:current_color(a:group, "fg", "gui")),
\ get(a:def, "guibg", s:current_color(a:group, "bg", "gui")),
\ get(a:def, "attr", s:current_attr(a:group)),
\ get(a:def, "ctermfg", s:current_color(a:group, "fg", "cterm")),
\ get(a:def, "ctermbg", s:current_color(a:group, "bg", "cterm")))
if !s:low_color
for l:prop in ["ctermfg", "ctermbg"]
let l:override_key = "256".l:prop
if has_key(a:def, l:override_key)
exec "hi ".a:group." ".l:prop."=".a:def[l:override_key]
endif
endfor
endif
endfun
fun! s:load_colors(defs)
for [l:group, l:def] in items(a:defs)
if l:group == "background"
call s:load_color_def("LineNr", l:def)
call s:load_color_def("NonText", l:def)
call s:load_color_def("Normal", l:def)
else
call s:load_color_def(l:group, l:def)
endif
unlet l:group
unlet l:def
endfor
endfun
call s:load_colors(s:overrides)
delf s:load_colors
delf s:load_color_def
delf s:current_color
delf s:current_attr
endif
" delete functions {{{
delf s:X
delf s:remove_italic_attr
delf s:prefix_highlight_value_with
delf s:rgb
delf s:is_empty_or_none
delf s:color
delf s:rgb_color
delf s:rgb_level
delf s:rgb_number
delf s:grey_color
delf s:grey_level
delf s:grey_number
" }}}

View File

@ -0,0 +1,261 @@
" Quantum - A 24-bit Material color scheme for Vim
" Author: Brandon Siders
" License: MIT
highlight clear
if exists('syntax_on')
syntax reset
endif
set background=dark
let g:colors_name = 'quantum'
let g:quantum_italics = get(g:, 'quantum_italics', 0)
let g:quantum_black = get(g:, 'quantum_black', 0)
" Color Palette
let s:gray1 = g:quantum_black ? '#000000' : '#000'
let s:gray2 = g:quantum_black ? '#292929' : '#2c3a41'
let s:gray3 = g:quantum_black ? '#474646' : '#425762'
let s:gray4 = g:quantum_black ? '#6a6c6c' : '#658494'
let s:gray5 = g:quantum_black ? '#b7bdc0' : '#aebbc5'
let s:red = '#dd7186'
let s:green = '#87bb7c'
let s:yellow = '#d5b875'
let s:blue = '#70ace5'
let s:purple = '#a48add'
let s:cyan = '#69c5ce'
let s:orange = '#d7956e'
let s:indigo = '#7681de'
function! s:HL(group, fg, bg, attr)
let l:attr = a:attr
if !g:quantum_italics && l:attr ==# 'italic'
let l:attr = 'none'
endif
if !empty(a:fg)
exec 'hi ' . a:group . ' guifg=' . a:fg
endif
if !empty(a:bg)
exec 'hi ' . a:group . ' guibg=' . a:bg
endif
if !empty(a:attr)
exec 'hi ' . a:group . ' gui=' . l:attr . ' cterm=' . l:attr
endif
endfun
" Vim Editor
call s:HL('ColorColumn', '', s:gray2, '')
call s:HL('Cursor', s:gray2, s:gray5, '')
call s:HL('CursorColumn', '', s:gray2, '')
call s:HL('CursorLine', '', s:gray2, 'none')
call s:HL('CursorLineNr', s:cyan, s:gray2, 'none')
call s:HL('Directory', s:blue, '', '')
call s:HL('DiffAdd', s:green, s:gray2, 'none')
call s:HL('DiffChange', s:yellow, s:gray2, 'none')
call s:HL('DiffDelete', s:red, s:gray2, 'none')
call s:HL('DiffText', s:blue, s:gray2, 'none')
call s:HL('ErrorMsg', s:red, s:gray1, 'bold')
call s:HL('FoldColumn', s:gray4, s:gray1, '')
call s:HL('Folded', s:gray3, s:gray1, '')
call s:HL('IncSearch', s:gray1, 's:gray5', '')
call s:HL('LineNr', s:gray3, '', '')
call s:HL('MatchParen', s:gray4, s:cyan, 'bold')
call s:HL('ModeMsg', s:green, '', '')
call s:HL('MoreMsg', s:green, '', '')
call s:HL('NonText', s:gray4, '', 'none')
call s:HL('Normal', s:gray5, s:gray1, 'none')
call s:HL('Pmenu', s:gray5, s:gray3, '')
call s:HL('PmenuSbar', '', s:gray2, '')
call s:HL('PmenuSel', s:gray2, s:cyan, '')
call s:HL('PmenuThumb', '', s:gray4, '')
call s:HL('Question', s:blue, '', 'none')
call s:HL('Search', s:yellow, s:gray1, '')
call s:HL('SignColumn', s:gray5, s:gray1, '')
call s:HL('SpecialKey', s:gray4, '', '')
call s:HL('SpellCap', s:blue, s:gray2, 'undercurl')
call s:HL('SpellBad', s:red, s:gray2, 'undercurl')
call s:HL('StatusLine', s:gray5, s:gray3, 'none')
call s:HL('StatusLineNC', s:gray2, s:gray4, '')
call s:HL('TabLine', s:gray4, s:gray2, 'none')
call s:HL('TabLineFill', s:gray4, s:gray2, 'none')
call s:HL('TabLineSel', s:yellow, s:gray3, 'none')
call s:HL('Title', s:green, '', 'none')
call s:HL('VertSplit', s:gray4, s:gray1, 'none')
call s:HL('Visual', s:gray5, s:gray3, '')
call s:HL('WarningMsg', s:red, '', '')
call s:HL('WildMenu', s:gray2, s:cyan, '')
" Standard Syntax
call s:HL('Comment', s:gray4, '', 'italic')
call s:HL('Constant', s:orange, '', '')
call s:HL('String', s:green, '', '')
call s:HL('Character', s:green, '', '')
call s:HL('Identifier', s:red, '', 'none')
call s:HL('Function', s:blue, '', '')
call s:HL('Statement', s:purple, '', 'none')
call s:HL('Operator', s:cyan, '', '')
call s:HL('PreProc', s:cyan, '', '')
call s:HL('Include', s:blue, '', '')
call s:HL('Define', s:purple, '', 'none')
call s:HL('Macro', s:purple, '', '')
call s:HL('Type', s:yellow, '', 'none')
call s:HL('Structure', s:cyan, '', '')
call s:HL('Special', s:indigo, '', '')
call s:HL('Underlined', s:blue, '', 'none')
call s:HL('Error', s:red, s:gray1, 'bold')
call s:HL('Todo', s:orange, s:gray1, 'bold')
" CSS
call s:HL('cssAttrComma', s:gray5, '', '')
call s:HL('cssPseudoClassId', s:yellow, '', '')
call s:HL('cssBraces', s:gray5, '', '')
call s:HL('cssClassName', s:yellow, '', '')
call s:HL('cssClassNameDot', s:yellow, '', '')
call s:HL('cssFunctionName', s:blue, '', '')
call s:HL('cssImportant', s:cyan, '', '')
call s:HL('cssIncludeKeyword', s:purple, '', '')
call s:HL('cssTagName', s:red, '', '')
call s:HL('cssMediaType', s:orange, '', '')
call s:HL('cssProp', s:gray5, '', '')
call s:HL('cssSelectorOp', s:cyan, '', '')
call s:HL('cssSelectorOp2', s:cyan, '', '')
" Commit Messages (Git)
call s:HL('gitcommitHeader', s:purple, '', '')
call s:HL('gitcommitUnmerged', s:green, '', '')
call s:HL('gitcommitSelectedFile', s:green, '', '')
call s:HL('gitcommitDiscardedFile', s:red, '', '')
call s:HL('gitcommitUnmergedFile', s:yellow, '', '')
call s:HL('gitcommitSelectedType', s:green, '', '')
call s:HL('gitcommitSummary', s:blue, '', '')
call s:HL('gitcommitDiscardedType', s:red, '', '')
hi link gitcommitNoBranch gitcommitBranch
hi link gitcommitUntracked gitcommitComment
hi link gitcommitDiscarded gitcommitComment
hi link gitcommitSelected gitcommitComment
hi link gitcommitDiscardedArrow gitcommitDiscardedFile
hi link gitcommitSelectedArrow gitcommitSelectedFile
hi link gitcommitUnmergedArrow gitcommitUnmergedFile
" HTML
call s:HL('htmlEndTag', s:blue, '', '')
call s:HL('htmlLink', s:red, '', '')
call s:HL('htmlTag', s:blue, '', '')
call s:HL('htmlTitle', s:gray5, '', '')
call s:HL('htmlSpecialTagName', s:purple, '', '')
" Javascript
call s:HL('javaScriptBraces', s:gray5, '', '')
call s:HL('javaScriptNull', s:orange, '', '')
call s:HL('javaScriptIdentifier', s:purple, '', '')
call s:HL('javaScriptNumber', s:orange, '', '')
call s:HL('javaScriptRequire', s:cyan, '', '')
call s:HL('javaScriptReserved', s:purple, '', '')
" pangloss/vim-javascript
call s:HL('jsArrowFunction', s:purple, '', '')
call s:HL('jsAsyncKeyword', s:purple, '', '')
call s:HL('jsExtendsKeyword', s:purple, '', '')
call s:HL('jsClassKeyword', s:purple, '', '')
call s:HL('jsDocParam', s:green, '', '')
call s:HL('jsDocTags', s:cyan, '', '')
call s:HL('jsForAwait', s:purple, '', '')
call s:HL('jsFlowArgumentDef', s:yellow, '', '')
call s:HL('jsFrom', s:purple, '', '')
call s:HL('jsImport', s:purple, '', '')
call s:HL('jsExport', s:purple, '', '')
call s:HL('jsExportDefault', s:purple, '', '')
call s:HL('jsFuncCall', s:blue, '', '')
call s:HL('jsFunction', s:purple, '', '')
call s:HL('jsGlobalObjects', s:yellow, '', '')
call s:HL('jsGlobalNodeObjects', s:yellow, '', '')
call s:HL('jsModuleAs', s:purple, '', '')
call s:HL('jsNull', s:orange, '', '')
call s:HL('jsStorageClass', s:purple, '', '')
call s:HL('jsTemplateBraces', s:red, '', '')
call s:HL('jsTemplateExpression', s:red, '', '')
call s:HL('jsThis', s:red, '', '')
call s:HL('jsUndefined', s:orange, '', '')
" JSON
call s:HL('jsonBraces', s:gray5, '', '')
" Less
call s:HL('lessAmpersand', s:red, '', '')
call s:HL('lessClassChar', s:yellow, '', '')
call s:HL('lessCssAttribute', s:gray5, '', '')
call s:HL('lessFunction', s:blue, '', '')
call s:HL('lessVariable', s:purple, '', '')
" Markdown
call s:HL('markdownBold', s:yellow, '', 'bold')
call s:HL('markdownCode', s:cyan, '', '')
call s:HL('markdownCodeBlock', s:cyan, '', '')
call s:HL('markdownCodeDelimiter', s:cyan, '', '')
call s:HL('markdownHeadingDelimiter', s:green, '', '')
call s:HL('markdownHeadingRule', s:gray4, '', '')
call s:HL('markdownId', s:purple, '', '')
call s:HL('markdownItalic', s:blue, '', 'italic')
call s:HL('markdownListMarker', s:orange, '', '')
call s:HL('markdownOrderedListMarker', s:orange, '', '')
call s:HL('markdownRule', s:gray4, '', '')
call s:HL('markdownUrl', s:purple, '', '')
call s:HL('markdownUrlTitleDelimiter', s:green, '', '')
" Ruby
call s:HL('rubyInterpolation', s:cyan, '', '')
call s:HL('rubyInterpolationDelimiter', s:indigo, '', '')
call s:HL('rubyRegexp', s:cyan, '', '')
call s:HL('rubyRegexpDelimiter', s:indigo, '', '')
call s:HL('rubyStringDelimiter', s:green, '', '')
" Sass
call s:HL('sassAmpersand', s:red, '', '')
call s:HL('sassClassChar', s:yellow, '', '')
call s:HL('sassMixinName', s:blue, '', '')
call s:HL('sassVariable', s:purple, '', '')
" Vim-Fugitive
call s:HL('diffAdded', s:green, '', '')
call s:HL('diffRemoved', s:red, '', '')
" Vim-Gittgutter
call s:HL('GitGutterAdd', s:green, '', '')
call s:HL('GitGutterChange', s:yellow, '', '')
call s:HL('GitGutterChangeDelete', s:orange, '', '')
call s:HL('GitGutterDelete', s:red, '', '')
" Vim-Signify
hi link SignifySignAdd GitGutterAdd
hi link SignifySignChange GitGutterChange
hi link SignifySignDelete GitGutterDelete
" XML
call s:HL('xmlAttrib', s:yellow, '', '')
call s:HL('xmlEndTag', s:blue, '', '')
call s:HL('xmlTag', s:blue, '', '')
call s:HL('xmlTagName', s:blue, '', '')
" Neovim terminal colors
if has('nvim')
let g:terminal_color_0 = s:gray1
let g:terminal_color_1 = s:red
let g:terminal_color_2 = s:green
let g:terminal_color_3 = s:yellow
let g:terminal_color_4 = s:blue
let g:terminal_color_5 = s:purple
let g:terminal_color_6 = s:cyan
let g:terminal_color_7 = s:gray5
let g:terminal_color_8 = s:gray3
let g:terminal_color_9 = s:red
let g:terminal_color_10 = s:green
let g:terminal_color_11 = s:yellow
let g:terminal_color_12 = s:blue
let g:terminal_color_13 = s:purple
let g:terminal_color_14 = s:cyan
let g:terminal_color_15 = s:gray4
let g:terminal_color_background = g:terminal_color_0
let g:terminal_color_foreground = g:terminal_color_7
endif

View File

@ -0,0 +1,216 @@
" Goyo mappings
nmap <C-g> :Goyo 60x60
" Enable the Vue Language server
let g:LanguageClient_serverCommands = {
\ 'vue': ['vls']
\ }
" init rainbow brackets
"set to 0 if you want to enable it later via :RainbowToggle
let g:rainbow_active = 0
" Emmet mappings
let g:user_emmet_mode='a' " enable all functions in all modes
let g:user_emmet_leader_key='<C-S>'
" Devicon Configurations
" loading the plugin
let g:webdevicons_enable = 1
" Indention Config
let g:indentLine_char = '┊'
" Lightline Themes Configurations
let g:lightline = {
\ 'colorscheme': 'simpleblack',
\ 'active': {
\ 'left': [ [ 'mode', 'paste' ],
\ [ 'cocstatus', 'readonly', 'filename', 'modified' ] ]
\ },
\ 'component_function': {
\ 'cocstatus': 'coc#status'
\ },
\ }
" Use auocmd to force lightline update.
autocmd User CocStatusChange,CocDiagnosticChange call lightline#update()
" Fancy markdown syntax
let g:markdown_fenced_languages = ['css', 'js=javascript']
" +++++++++++++++++++++ vim-float-term configuration +++++++++++++++++++++++++
let g:floaterm_keymap_new = '<leader>.'
let g:floaterm_position = 'center'
let g:floaterm_type = 'normal'
" custom mappings for my person tools in normal mode only
nnoremap <C-p> :FloatermNew ipython<CR>
nnoremap <C-l> :FloatermNew lf<CR>
nnoremap <C-s> :FloatermNew sefr<CR>
" +++++++++++++++++++++++++ Conquer of Completion +++++++++++++++++++++++++
" if hidden is not set, TextEdit might fail.
set hidden
" Some servers have issues with backup files, see #649
set nobackup
set nowritebackup
" Better display for messages
set cmdheight=2
" You will have bad experience for diagnostic messages when it's default 4000.
set updatetime=300
" don't give |ins-completion-menu| messages.
set shortmess+=c
" always show signcolumns
set signcolumn=yes
" Use tab for trigger completion with characters ahead and navigate.
" Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin.
inoremap <silent><expr> <TAB>
\ pumvisible() ? "\<C-n>" :
\ <SID>check_back_space() ? "\<TAB>" :
\ coc#refresh()
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
" Use <c-space> to trigger completion.
inoremap <silent><expr> <c-space> coc#refresh()
" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position.
" Coc only does snippet and additional edit on confirm.
inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
" Or use `complete_info` if your vim support it, like:
" inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>"
" Use `[g` and `]g` to navigate diagnostics
nmap <silent> [g <Plug>(coc-diagnostic-prev)
nmap <silent> ]g <Plug>(coc-diagnostic-next)
" Remap keys for gotos
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
" Use K to show documentation in preview window
"nnoremap <silent> K :call <SID>show_documentation()<CR>
function! s:show_documentation()
if (index(['vim','help'], &filetype) >= 0)
execute 'h '.expand('<cword>')
else
call CocAction('doHover')
endif
endfunction
" Highlight symbol under cursor on CursorHold
autocmd CursorHold * silent call CocActionAsync('highlight')
" Remap for rename current word
nmap <leader>rn <Plug>(coc-rename)
" Remap for format selected region
xmap <leader>fr <Plug>(coc-format-selected)
nmap <leader>fr <Plug>(coc-format-selected)
augroup mygroup
autocmd!
" Setup formatexpr specified filetype(s).
autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
" Update signature help on jump placeholder
autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
augroup end
" Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph
xmap <leader>a <Plug>(coc-codeaction-selected)
nmap <leader>a <Plug>(coc-codeaction-selected)
" Remap for do codeAction of current line
nmap <leader>ac <Plug>(coc-codeaction)
" Fix autofix problem of current line
nmap <leader>qf <Plug>(coc-fix-current)
" Create mappings for function text object, requires document symbols feature of languageserver.
xmap if <Plug>(coc-funcobj-i)
xmap af <Plug>(coc-funcobj-a)
omap if <Plug>(coc-funcobj-i)
omap af <Plug>(coc-funcobj-a)
" Use <TAB> for select selections ranges, needs server support, like: coc-tsserver, coc-python
nmap <silent> <TAB> <Plug>(coc-range-select)
xmap <silent> <TAB> <Plug>(coc-range-select)
" Use `:Format` to format current buffer
command! -nargs=0 Format :call CocAction('format')
" Use `:Fold` to fold current buffer
command! -nargs=? Fold :call CocAction('fold', <f-args>)
" use `:OR` for organize import of current buffer
command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport')
" Add status line support, for integration with other plugin, checkout `:h coc-status`
set statusline^=%{StatusDiagnostic()}
" Using CocList
" Show all diagnostics
nnoremap <silent> <space>a :<C-u>CocList diagnostics<cr>
" Manage extensions
nnoremap <silent> <space>e :<C-u>CocList extensions<cr>
" Show commands
nnoremap <silent> <space>c :<C-u>CocList commands<cr>
" Find symbol of current document
nnoremap <silent> <space>o :<C-u>CocList outline<cr>
" Search workspace symbols
nnoremap <silent> <space>s :<C-u>CocList -I symbols<cr>
" Do default action for next item.
nnoremap <silent> <space>j :<C-u>CocNext<CR>
" Do default action for previous item.
nnoremap <silent> <space>k :<C-u>CocPrev<CR>
" Resume latest coc list
nnoremap <silent> <space>p :<C-u>CocListResume<CR>
" Auto command for python projects
autocmd FileType python let b:coc_root_patterns = ['.git', '.env']
" Auto command for correct comment highlighting in Json files
autocmd FileType json syntax match Comment +\/\/.\+$+
" status line function
function! StatusDiagnostic() abort
let info = get(b:, 'coc_diagnostic_info', {})
if empty(info) | return '' | endif
let msgs = []
if get(info, 'error', 0)
call add(msgs, 'E' . info['error'])
endif
if get(info, 'warning', 0)
call add(msgs, 'W' . info['warning'])
endif
return join(msgs, ' ') . ' ' . get(g:, 'coc_status', '')
endfunction
" Disable node version warning
let g:coc_disable_startup_warning = 1
" Vim script coc extension
let g:markdown_fenced_languages = [
\ 'vim',
\ 'help'
\]
" Emoji completion
set completefunc=emoji#complete

835
dotfiles/.config/nvim/init.vim Executable file → Normal file
View File

@ -1,586 +1,339 @@
" _____ _ ___ _
" / ___|| | / _ \ | |
" \ `--. | |__ __ _ __ __ _ __ / /_\ \ _ __ __| | ___ _ __ ___ ___ _ __
" `--. \| '_ \ / _` |\ \ /\ / /| '_ \ | _ || '_ \ / _` | / _ \| '__|/ __| / _ \ | '_ \
" /\__/ /| | | || (_| | \ V V / | | | | | | | || | | || (_| || __/| | \__ \| (_) || | | |
" \____/ |_| |_| \__,_| \_/\_/ |_| |_| \_| |_/|_| |_| \__,_| \___||_| |___/ \___/ |_| |_|
"
" _ _ _ _____ __ _ _ _
" | | | |(_) / __ \ / _|(_) | | (_)
" | | | | _ _ __ ___ | / \/ ___ _ __ | |_ _ __ _ _ _ _ __ __ _ | |_ _ ___ _ __
" | | | || || '_ ` _ \ | | / _ \ | '_ \ | _|| | / _` || | | || '__| / _` || __|| | / _ \ | '_ \
" \ \_/ /| || | | | | | | \__/\| (_) || | | || | | || (_| || |_| || | | (_| || |_ | || (_) || | | |
" Neo \___/ |_||_| |_| |_| \____/ \___/ |_| |_||_| |_| \__, | \__,_||_| \__,_| \__||_| \___/ |_| |_|
" __/ |
" |___/
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" Originally a fork of:
" https://github.com/novln/nvim/blob/master/init.vim
"
" Key shortcuts
" <C-p> -> ctrl-p
" <C-n> -> nerdtree toggle
" ...
"
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
"
" First and foremost, set the cache directory. This is needed to coordinate
" plugins.
"
let b:cache_directory = $HOME . '/.cache/nvim'
"
" Plugins are the beauty of vim! Use the awesome plugged plugin manager in
" neovim.
"
call plug#begin('~/.local/share/nvim/plugged')
"
" Plugins are in ascending chronological order relative to when they were
" added to the configuration.
"
"
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
"
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" Add words in visible tmux panes to vims completefunc
Plug 'wellle/tmux-complete.vim'
"
" FZF Fuzzy Finder! Careful, things are about to get FAAAAASSSTTT
"
" A command line fuzzy finder Very powerful
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'airblade/vim-rooter'
"
"
" This command tells fzf to skip filenames during its :Rg search command.
"
command! -bang -nargs=* Rg call fzf#vim#grep("rg --column --line-number --no-heading --color=always --smart-case ".shellescape(<q-args>), 1, {'options': '--delimiter : --nth 4..'}, <bang>0)
"
"
" Images in vim! Using NeoVim, FZF and termpix.
"
" Original inspiration: to preview image files: https://www.youtube.com/watch?v=vzWibjhLBUs
" See gist here: https://gist.github.com/LinuxIsCool/457658f5298e4186f23f3731324b68cb
"
let g:fzf_layout = { 'down': '~60%' }
let g:fzf_files_options =
\ '--preview "(~/.cargo/bin/termpix --width 50 --true-color {} || cat {}) 2> /dev/null "'
" Vim-plug initialization
let vim_plug_just_installed = 0
let vim_plug_path = expand('~/.config/nvim/autoload/plug.vim')
if !filereadable(vim_plug_path)
echo "Installing Vim-plug..."
echo "" silent !mkdir -p ~/.config/nvim/autoload
silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
let vim_plug_just_installed = 1
endif
" Map ctrl-t to bring up fzf fuzzy finder for files
noremap <silent> <C-t> :Files<CR>
"
" Vim Minimap!
" Very cool concept but it's causing a bit of lag, and it raises an error when
" I open it. I very well could take a look at the code. I could probably fix
" that bug and also increase the performance.
" Also, it would need a way to be controlled, like I need to access that
" window. It seems like that's actually what's bugging out.
" I should probably get back to work. I can probably leave it installed for
" now, and not use to too often. I'll take a look at the source too.
Plug 'lleixat/vim-minimap'
let g:minimap_show='<leader>mm'
let g:minimap_close='<leader>mc'
let g:minimap_update='<leader>mu'
let g:minimap_toggle='<leader>mt'
" This one seems sketch as well ..
" Plug 'koron/minimap-vim'
" No minimap for now. Sept 2020
" Although, I couls see how the minimap could be super useful. Let's take
" a look at the code of the original python one.
" manually load vim-plug the first time
if vim_plug_just_installed
:execute 'source '.fnameescape(vim_plug_path)
:PlugInstall
endif
" Get the dot operator (repeat) functional on plugin commands
Plug 'tpope/vim-repeat'
" A collection of symetric commands shortcuts the use [ and ] as access keys.
Plug 'tpope/vim-unimpaired'
" ============================================================================
" Active plugins
call plug#begin('~/.config/nvim/plugged')
" This one has a lot of potential. 95 contributors on github, and it's 83%
" python
Plug 'Shougo/denite.nvim'
" Now the actual plugins:
" rainbow brackets
Plug 'luochen1990/rainbow'
" ES2015 code snippets (Optional)
" Plug 'epilande/vim-es2015-snippets'
" Vim emoji
Plug 'junegunn/vim-emoji'
" React code snippets
" Plug 'epilande/vim-react-snippets'
" quick commenter
Plug 'preservim/nerdcommenter'
" Ultisnips
" Plug 'SirVer/ultisnips'
" Conquer of Completion
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" Snippets are separated from the engine. Add this if you want them:
" Plug 'honza/vim-snippets'
" Override configs by directory
Plug 'arielrossanigo/dir-configs-override.vim'
" Plug 'dsznajder/vscode-es7-javascript-react-snippets', {
" \ 'do': 'yarn install --frozen-lockfile && yarn compile' }
" Better file browser
Plug 'scrooloose/nerdtree'
" Trigger configuration (Optional)
" let g:UltiSnipsExpandTrigger="<C-l>"
"
" Vimagit inspired by magit for emacs
Plug 'jreybert/vimagit'
" Class/module browser
Plug 'majutsushi/tagbar'
" TODO known problems:
" * current block not refreshing'
Plug 'jiangmiao/auto-pairs'
" Search results counter
Plug 'vim-scripts/IndexedSearch'
Plug 'alvan/vim-closetag'
let g:closetag_filenames = '*.html,*.xhtml,*.phtml,*.js'
" Plugin for live preview of LaTex
Plug 'donRaphaco/neotex', {'for': 'tex'}
" Polyglot language pack
" Integrated Floating terminal
Plug 'voldikss/vim-floaterm'
" Lightline
Plug 'itchyny/lightline.vim'
" Code and files fuzzy finder
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
" Pending tasks list
Plug 'fisadev/FixedTaskList.vim'
" Completion from other opened files
Plug 'Shougo/context_filetype.vim'
" Automatically close parenthesis, etc
Plug 'Townk/vim-autoclose'
" Indent text object
Plug 'michaeljsmith/vim-indent-object'
" Indentation based movements
Plug 'jeetsukumaran/vim-indentwise'
" Better language packs
Plug 'sheerun/vim-polyglot'
" Show indentation level
Plug 'Yggdroot/indentLine'
" Ack code search (requires ack installed in the system)
Plug 'mileszs/ack.vim'
" TODO is there a way to prevent the progress which hides the editor?
" NeoMake
Plug 'neomake/neomake'
" Paint css colors with the real color
Plug 'lilydjwg/colorizer'
" TODO is there a better option for neovim?
" COC
" Javascript configuration from: https://thoughtbot.com/blog/modern-typescript-and-react-development-in-vim
Plug 'neoclide/coc.nvim', {'branch': 'release'}
let g:coc_global_extensions = [
\ 'coc-tsserver'
\ ]
" if isdirectory('./node_modules') && isdirectory('./node_modules/prettier')
" let g:coc_global_extensions += ['coc-prettier']
" endif
" Generate html in a simple way
Plug 'mattn/emmet-vim'
if isdirectory('./node_modules') && isdirectory('./node_modules/eslint')
let g:coc_global_extensions += ['coc-eslint']
endif
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gr <Plug>(coc-references)
nmap <silent> [g <Plug>(coc-diagnostic-prev)
nmap <silent> ]g <Plug>(coc-diagnostic-next)
nmap <leader>do <Plug>(coc-codeaction)
nmap <leader>rn <Plug>(coc-rename)
Plug 'neoclide/coc-eslint'
Plug 'neoclide/coc-prettier'
" Automatically generate ctags for files
Plug 'xolox/vim-easytags'
" Language Server Protocol
" View and search Language Server Protocol symbols and tags
Plug 'liuchengxu/vista.vim'
" Goyo for distraction free editing! And T-shirts!
Plug 'junegunn/goyo.vim'
" Limelight for focused editing
Plug 'junegunn/limelight.vim'
" Make sure you use single quotes
"
Plug 'tomlion/vim-solidity'
"Jupyter Support for VIM
" Plug 'szymonmaszke/vimpyter'
" autocmd Filetype ipynb nmap <silent><Leader>b :VimpyterInsertPythonBlock<CR>
" autocmd Filetype ipynb nmap <silent><Leader>i :VimpyterStartJupyter<CR>
" autocmd Filetype ipynb nmap <silent><Leader>n :VimpyterStartNteract<CR>
Plug 'jeffkreeftmeijer/vim-numbertoggle'
Plug 'tpope/vim-surround'
"-------------------------------------------------------------------------------
"Color Theme
Plug 'tomasiser/vim-code-dark'
Plug 'ajmwagar/vim-deus'
Plug 'arcticicestudio/nord-vim'
"-------------------------------------------------------------------------------
Plug 'jceb/vim-orgmode'
Plug 'tpope/vim-speeddating'
Plug 'junegunn/vim-easy-align'
"-------------------------------------------------------------------------------
" Git Section
"
" Github dashboard in vim!
Plug 'junegunn/vim-github-dashboard'
" Git commands in vim
" Git integration
Plug 'tpope/vim-fugitive'
" A git commit browser.
Plug 'junegunn/gv.vim'
" Git/mercurial/others diff icons on the side of the file lines
Plug 'mhinz/vim-signify'
" Show git diff in the sign column
Plug 'airblade/vim-gitgutter'
"-------------------------------------------------------------------------------
" Linters
Plug 'neomake/neomake'
" TODO is it running on save? or when?
" TODO not detecting errors, just style, is it using pylint?
" Nice icons: Need to install patched font for this to work
Plug 'ryanoasis/vim-devicons'
Plug 'tpope/vim-rhubarb'
" add or override individual additional filetypes
let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols = {} " needed
let g:WebDevIconsUnicodeDecorateFileNodesExtensionSymbols['mkv'] = 'ƛ'
"---------------
" For Javascript and Typescript
" INVESTIGATE THESE
Plug 'pangloss/vim-javascript'
Plug 'leafgarland/typescript-vim'
Plug 'peitalin/vim-jsx-typescript'
Plug 'styled-components/vim-styled-components', { 'branch': 'main' }
Plug 'jparise/vim-graphql'
Plug 'yuezk/vim-js'
Plug 'maxmellon/vim-jsx-pretty'
" Show indention level through lines
Plug 'Yggdroot/indentLine'
" Start interactive EasyAlign in visual mode (e.g. vipga)
xmap ga <Plug>(EasyAlign)
" Distraction free programming
Plug 'junegunn/goyo.vim'
" Start interactive EasyAlign for a motion/text object (e.g. gaip)
nmap ga <Plug>(EasyAlign)
"-------------------------------------------------------------------------------
" Trying out vim lightline as an alternative to vim-airline, sticking with
" airline.
" Plug 'itchyny/lightline.vim'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
"Enable tabline extension
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#left_sep = '|'
let g:airline#extensions#tabline#left_alt_sep = '|'
let g:airline#extensions#tabline#formatter = 'unique_tail'
"-------------------------------------------------------------------------------
" Markdown Composer
function! BuildComposer(info)
if a:info.status != 'unchanged' || a:info.force
if has('nvim')
!cargo build --release
else
!cargo build --release --no-default-features --features json-rpc
endif
endif
endfunction
"
Plug 'euclio/vim-markdown-composer', { 'do': function('BuildComposer') }
let g:markdown_composer_open_browser = 0
"-------------------------------------------------------------------------------
"
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,__pycache__/ " MacOSX/Linux<Paste>
Plug 'ctrlpvim/ctrlp.vim'
"The below 4 lines are for speed!from https://stackoverflow.com/questions/21346068/slow-performance-on-ctrlp-it-doesnt-work-to-ignore-some-folders/22784889#22784889
let g:ctrlp_cache_dir = $HOME . '/.cache/ctrlp'
if executable('ag')
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
endif
let g:ctrlp_cmd = 'CtrlPMixed' " search anything (in files, buffers and MRU files at the same time.)
let g:ctrlp_working_path_mode = '' " search for nearest ancestor like .git, .hg, and the directory of the current file
let g:ctrlp_match_window_bottom = 1 " show the match window at the top of the screen
let g:ctrlp_by_filename = 0
let g:ctrlp_max_height = 10 " maximum height of match window
let g:ctrlp_switch_buffer = 'et' " jump to a file if it's open already
let g:ctrlp_use_caching = 1 " enable caching
let g:ctrlp_cache_dir = b:cache_directory . '/ctrlp' " define cache path
let g:ctrlp_clear_cache_on_exit = 0 " speed up by not removing clearing cache everytime
let g:ctrlp_mruf_max = 250 " number of recently opened files
let g:ctrlp_show_hidden = 1
let g:ctrlp_custom_ignore = {
\ 'py': '__pycache__/',
\ }
" \'py':__pycache__/'
" 'bin'
" 'develop-eggs',
" 'eggs'
" 'parts'
" 'src/*.egg-info'
" set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux
"-------------------------------------------------------------------------------
Plug 'scrooloose/nerdcommenter'
"Comment manager
" Allow commenting and inverting empty lines (useful when commenting a region)
let g:NERDCommentEmptyLines = 1
" Enable trimming of trailing whitespace when uncommenting
let g:NERDTrimTrailingWhitespace = 1
" Add spaces after comment delimiters by default
let g:NERDSpaceDelims = 1
" Align line-wise comment delimiters flush left instead of following code indentation
let g:NERDDefaultAlign = 'left'
"-------------------------------------------------------------------------------
Plug 'goerz/ipynb_notedown.vim'
"-------------------------------------------------------------------------------
" Modified vim start screen
Plug 'mhinz/vim-startify'
Plug 'preservim/nerdtree' |
\ Plug 'Xuyuanp/nerdtree-git-plugin' |
\ Plug 'ryanoasis/vim-devicons'
let g:NERDTreeGitStatusIndicatorMapCustom = {
\ 'Modified' :'✹',
\ 'Staged' :'✚',
\ 'Untracked' :'✭',
\ 'Renamed' :'➜',
\ 'Unmerged' :'═',
\ 'Deleted' :'✖',
\ 'Dirty' :'✗',
\ 'Ignored' :'☒',
\ 'Clean' :'✔︎',
\ 'Unknown' :'?',
\ }
let g:NERDTreeGitStatusUseNerdFonts = 1 " you should install nerdfonts by yourself. default: 0
" Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } " On-demand loading
":help NERDTreeOptions
map <C-n> :NERDTreeToggle<CR>
map <leader>r :NERDTreeFind<cr>
let NERDTreeIgnore=['\.pyc$', '\~$']
" This makes the location of the current open file always the current working
" directory of vim. Experimental - Sept 15th 2020
autocmd BufEnter * lcd %:p:h
"-------------------------------------------------------------------------------
Plug 'bfredl/nvim-ipy'
let g:nvim_ipy_perform_mappings = 0
map <silent> <leader>s <Plug>(IPy-Run)
map <silent> <leader><Enter> <Plug>(IPy-RunCell)
map <silent> <c-s> <Plug>(IPy-Complete)
map <silent> <c-s> <Plug>(IPy-WordObjInfo)
map <silent> <leader>? <Plug>(IPy-Interrupt)
map <silent> <c-s> <Plug>(IPy-Terminate)
""---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" Fix for slimux:
set shell=/bin/sh
Plug 'lotabout/slimux'
"Send text between tmux panes!
nmap <Leader>s :SlimuxREPLSendLine<CR>j
vmap <Leader>s :SlimuxREPLSendSelection<CR>
" map <C-c><C-c> :SlimuxREPLConfigure<CR>
let g:slimux_pane_format = "#W #P "
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plug 'vimwiki/vimwiki'
set nocompatible
filetype plugin on
syntax on
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" Initialize plugin system
" Tell vim-plug we finished declaring plugins, so it can load them
call plug#end()
" DVC
autocmd! BufNewFile,BufRead Dvcfile,*.dvc,dvc.lock setfiletype yaml
" ============================================================================
" Install plugins the first time vim runs
if vim_plug_just_installed
echo "Installing Bundles, please ignore key map error messages"
:PlugInstall
endif
"============u============u============u============u============u============u
" VIM BEHAVIOUR
" Highlight character at column 80
:set colorcolumn=80
" ============================================================================
" Vim settings and mappings
" Tab completion in command mode
set wildmenu
" remap default leader key to comma
let mapleader = ","
nnoremap <leader>vr :source $MYVIMRC<CR>
nnoremap <leader>vc :e $MYVIMRC<CR>
"These filetypes are ignored when expanding wildcard searches
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.pyc
" show line numbers
set number
" Change Ctrl N mapping to Ctrl Space "
inoremap <C-space> <C-n>
" using only 1 column (and 1 space) while possible
set numberwidth=1
" Set vim system timeouts
set timeoutlen=1000
set ttimeoutlen=5
" Vim Arithmetic
" <C-c> -> increase the count of a number
" <C-x> -> decrease the count of a number
nnoremap <C-c> :exe "normal \<C-a>"<CR>
" Vim date key
" I would like this to put behind the cursor.
nnoremap <leader>d :r !date<CR>
" Vim ls key
" Wed 16 Sep 2020 09:32:44 PM PDT
nnoremap <leader>l :r ! ls<CR>
" Here we map the leader key! This is where things get spicy! The leader key
" in vim is extremely powerful. Wielded by great mages, it unlocks the ability
" to cast spells through one's very own fingertips by merely thinking a string
" of words. Once the energetic vibration of these thoughts pass through the
" keys into the keyboard, the spell is activated and it's consequences take
" effect. Use this key in normal mode to run commands through key bindings!
" * Why do we define it twice? Once with no g, then with a g, what is the
" difference?
"
" Set the leader key - #setleader
let mapleader=","
let g:mapleader=","
" I was about to make something bad ass here. It escapes me. It was something
" about doing something in vim.
" Here I make <b>shortcuts</b> to various system locations.
" ssh config, fish config, vim config, my personal notes,
nnoremap <leader>ev :e $MYVIMRC<CR>
nnoremap <leader>ef :e ~/.config/fish/config.fish<CR>
nnoremap <leader>et :e ~/.tmux.conf<CR>
nnoremap <leader>es :e ~/.ssh/config<CR>
nnoremap <leader>ed :e ~/Workspace/dotfiles/<CR>
nnoremap <leader>ew :e ~/Workspace/<CR>
nnoremap <leader>en :e ~/Notes/<CR>
" funct! Exec(command)
" redir =>output
" silent exec a:command
" redir END
" return output
" endfunct!
nnoremap <leader><leader> i^R=Exec('ls')
" Force reload vimrc
nnoremap <leader>rv :source $MYVIMRC<CR>
" stow -v -R dotfiles -t ~/
" For copying text out of VIM
"" Make vim scroll faster
set ttyfast
set mouse=a
" Syntax Highlighting
syntax enable
" set background=dark
"colorscheme solarized
set t_Co=256
set t_ut=
colorscheme nord
" colorscheme iceberg
" colorscheme codedark
hi Normal guibg=NONE ctermbg=NONE
" colors deus
"Highlight Cursor line
set cursorline
" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
" Enable Intuitive copy and paste
" vnoremap <C-c> "*y
" vnoremap <C-c> "+y
" nnoremap <C-v> "+p
" inoremap <C-v> <C-r>+
set pastetoggle=<F2>
"Use modifier to jump to beginning and end of lines
map <leader>j $
map <leader>f 0
"split more naturally
set splitbelow
set splitright
" Searching
set incsearch " show 'best match so far' as you type
set hlsearch " hilight the items found by the search
set ignorecase " ignores case of letters on searches
set smartcase " Override the 'ignorecase' option if the search pattern contains upper case characters
"Manually turn off the search highlight
map <leader>/ :nohl<CR>
set lazyredraw
set nu
set nowrap
set relativenumber
set encoding=UTF-8
" set tabline to not display full path
set guitablabel=%t
"Abbreviations
ab h1 hi
" Disable these mappings that I don't want.
" Hmm.. Better look into this. I should know what these do.
noremap <silent> <C-c> <Nop>
noremap <silent> <C-w>f <Nop>
noremap <silent> <Del> <Nop>
noremap <silent> <F1> <Nop>
" Set tabs for certain file types
" for html and css js and vue
autocmd FileType html setlocal ts=2 sw=2 expandtab
autocmd FileType css setlocal ts=2 sw=2 expandtab
autocmd FileType scss setlocal ts=2 sw=2 expandtab
autocmd FileType javascript setlocal ts=2 sw=2 expandtab
autocmd FileType json setlocal ts=4 sw=4 expandtab
autocmd FileType vue setlocal ts=2 sw=2 expandtab
" Set expand width to 2 for C/C++
autocmd FileType cpp setlocal ts=2 sw=2 expandtab
autocmd FileType c setlocal ts=2 sw=2 expandtab
" Set expand width to 2 for Shell scripts and perl
autocmd FileType sh setlocal ts=2 sw=2 expandtab
autocmd FileType zsh setlocal ts=2 sw=2 expandtab
autocmd FileType bash setlocal ts=2 sw=2 expandtab
autocmd FileType perl setlocal ts=2 sw=2 expandtab
" Set expand width to 2 for markdown
autocmd FileType md setlocal ts=2 sw=2 expandtab
autocmd FileType markdown setlocal ts=2 sw=2 expandtab
" Make buffer movement similar to vimium/vimfx for firefox using let
" g:airline#extensions#tabline#enabled v 1
"
" Cycle tabs
" Don't fuckin save, it makes things slow, wish I changed this
" earlier...(removing save - Sept 12 2020)
" I've been mixing up the terminology of tabs and windows.
" A Buffer is what's drawn on the screen
" A window is a view of particular text
" A tab page is a utility for organizing multiple windows
nnoremap <silent> <S-k> :bn<CR>:NERDTreeFind<CR><C-w>l
nnoremap <silent> <S-j> :bp<CR>:NERDTreeFind<CR><C-w>l
" noremap <C-t> :tabnew split<CR>
" Let's shuffle windows just as easy. Then we can get into nerd tree smoother
" Whatabout shift n and shift p to cycle tabs?
" What do shipt p and shift n do?
" shift p is print behind, and shift n is previous search result.
" OK, we are not changing the above, they actually match vimium in firefox
" Fix Cycle tabs
" nnoremap <silent> <S-j> <S-l>
" nnoremap <silent> <S-l> :w<CR>:bp<CR>
"
" nnoremap <silent> <S-k> <S-h>
" nnoremap <silent> <S-l> :w<CR>:bn<CR>
" " Copy to clipboard
vnoremap <leader>y "+y
nnoremap <leader>Y "+yg_
nnoremap <leader>y "+y
nnoremap <leader>yy "+yy
" Tab spacing on html
autocmd Filetype html setlocal ts=2 sw=2 expandtab
autocmd Filetype djangohtml setlocal ts=2 sw=2 expandtab
autocmd Filetype css setlocal ts=2 sw=2 expandtab
autocmd Filetype scss setlocal ts=2 sw=2 expandtab
autocmd Filetype javascript setlocal ts=2 sw=2 expandtab
autocmd Filetype json setlocal ts=2 sw=2 expandtab
autocmd Filetype cpp setlocal ts=2 sw=2 expandtab
autocmd Filetype c setlocal ts=2 sw=2 expandtab
autocmd Filetype sh setlocal ts=2 sw=2 expandtab
autocmd Filetype fish setlocal ts=2 sw=2 expandtab
autocmd Filetype bash setlocal ts=2 sw=2 expandtab
autocmd Filetype perl setlocal ts=2 sw=2 expandtab
" " Paste from clipboard
nnoremap <leader>p "+p
nnoremap <leader>P "+P
vnoremap <leader>p "+p
vnoremap <leader>P "+P
"Maintain cursor and window position when switching buffers
if v:version >= 700
au BufLeave * let b:winview = winsaveview()
au BufEnter * if(exists('b:winview')) | call winrestview(b:winview) | endif
" Run xrdb whenever Xdefaults or Xresources are updated.
autocmd BufWritePost *Xresources,*Xdefaults !xrdb %
" Recompile suckless programs. only for files that are config.h
autocmd BufWritePost config.h,config.def.h !sudo make install; make clean
" Comile any latex document into pdf form
autocmd BufWritePost answers.tex !pdflatex answers.tex
" Compile VIU markdown notes to pdf
autocmd BufWritePost notes.md !pandoc -s -o notes.pdf notes.md
" tabs and spaces handling
set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4
" remove ugly vertical lines on window division
set fillchars+=vert:\
"" Color Scheme set up for Material ===============================
if (has("nvim"))
"For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 >
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
endif
" For COC
if filereadable(expand("~/.config/nvim/coc.vim"))
source ~/.config/nvim/coc.vim
" < https://github.com/neovim/neovim/wiki/Following-HEAD #20160511 >
if (has("termguicolors"))
set termguicolors
endif
" When writing a buffer (no delay).
call neomake#configure#automake('w')
" From Matt Williams
" use 256 colors when possible
" if (&term =~? 'mlterm\|xterm\|xterm-256\|screen-256') || has('nvim')
" let &t_Co = 256
" syntax on
" colorscheme nord
" else
" colorscheme jellybeans
" endif
if (&term =~? 'mlterm\|xterm\|xterm-256\|screen-256') || has('nvim')
let &t_Co = 256
syntax on
set background=light
colorscheme quantum
else
colorscheme jellybeans
endif
"Specify which python to use
" let g:python3_host_prog = '/home/shawn/Software/miniconda3/bin/python'
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
"
" .-"" ""--.
" ,' `.
" / ,' \
" `\/ . |
" .===:_, | /
" / .'""". ,:=:. / _.,
" " `--. `|/ _\` ( _/-" /
" |\_b_9-"" ___) -"-"//'
" | --/`--_o"_/' (6_//
" P I C C O L O / ,' -"" .),-'
" ( "-__ `-(
" \ |HHH/ / \
" \ - _./ `-._..._
" 7----",'/ ..-" .-- "--.._
" _.._.-/) .-',/ .-" -" ""--..
" _..--"|=""--..--""""""./' . .-"""-.\
" ,' .-',' ,' /. / .' \\
" .:' ,' ,: / ,/'/ /' _....' _..--""" )
" ,"/ / /( / _,/' / ,/' /. .-" __|
" / / /' ( ""----"""" / ,/ / `:.-" _.--"" /
" || ( \_ __.-' / |`-.`:=._-" _.-:|
" \/ \ """"""" / ""-` `-"===="-' \
" | "-. __..-" \._.====.. `
" | ""--"""" //..---""\\ .
" \ /'| __...---.\ |
"
" autocompletion of files and commands behaves like shell
" (complete only the common part, list the options that match)
set wildmode=list:longest
" save as sudo
ca w!! w !sudo tee "%"
" tab navigation mappings
map tt :tabnew
map <M-Right> :tabn<CR>
imap <M-Right> <ESC>:tabn<CR>
map <M-Left> :tabp<CR>
imap <M-Left> <ESC>:tabp<CR>
" when scrolling, keep cursor 3 lines away from screen border
set scrolloff=3
" clear search results
nnoremap <silent> // :noh<CR>
" clear empty spaces at the end of lines on save of python files
"autocmd BufWritePre *.py :%s/\s\+$//e
" fix problems with uncommon shells (fish, xonsh) and plugins running commands
" (neomake, ...)
set shell=$SHELL
" Ability to add python breakpoints
" (I use ipdb, but you can change it to whatever tool you use for debugging)
au FileType python map <silent> <leader>b Oimport ipdb; ipdb.set_trace()<esc>
" ============================================================================
" Plugins settings and mappings
" Edit them as you wish.
" Tagbar -----------------------------
" toggle tagbar display
nmap <leader>tb :TagbarToggle<CR>
" autofocus on tagbar open
let g:tagbar_autofocus = 1
" NERDTree -----------------------------
" toggle nerdtree display
map <leader>nn :NERDTreeToggle<CR>
" open nerdtree with the current file selected
nmap <leader>nf :NERDTreeFind<CR>
" don;t show these file types
let NERDTreeIgnore = ['\.pyc$', '\.pyo$']
" Tasklist ------------------------------
" show pending tasks list
map <leader>tl :TaskList<CR>
" Neomake ------------------------------
" Run linter on write
autocmd! BufWritePost * Neomake
" Check code as python3 by default
let g:neomake_python_python_maker = neomake#makers#ft#python#python()
let g:neomake_python_flake8_maker = neomake#makers#ft#python#flake8()
let g:neomake_python_python_maker.exe = 'python3 -m py_compile'
let g:neomake_python_flake8_maker.exe = 'python3 -m flake8'
" Disable error messages inside the buffer, next to the problematic line
let g:neomake_virtualtext_current_error = 1
" Fzf ------------------------------
" file finder mapping
nmap <leader>e :Files<CR>
" tags (symbols) in current file finder mapping
nmap <leader>g :BTag<CR>
" tags (symbols) in all files finder mapping
nmap <leader>G :Tags<CR>
" general code finder in current file mapping
nmap <leader>f :BLines<CR>
" general code finder in all files mapping
nmap <leader>F :Lines<CR>
" commands finder mapping
nmap <leader>c :Commands<CR>
" Signify ------------------------------
" this first setting decides in which order try to guess your current vcs
" UPDATE it to reflect your preferences, it will speed up opening files
let g:signify_vcs_list = [ 'git', 'hg' ]
" mappings to jump to changed blocks
nmap <leader>sn <plug>(signify-next-hunk)
nmap <leader>sp <plug>(signify-prev-hunk)
" nicer colors
highlight DiffAdd cterm=bold ctermbg=none ctermfg=119
highlight DiffDelete cterm=bold ctermbg=none ctermfg=167
highlight DiffChange cterm=bold ctermbg=none ctermfg=227
highlight SignifySignAdd cterm=bold ctermbg=237 ctermfg=119
highlight SignifySignDelete cterm=bold ctermbg=237 ctermfg=167
highlight SignifySignChange cterm=bold ctermbg=237 ctermfg=227
" Autoclose ------------------------------
" Fix to let ESC work as espected with Autoclose plugin
" (without this, when showing an autocompletion window, ESC won't leave insert
" mode)
let g:AutoClosePumvisible = {"ENTER": "\<C-Y>", "ESC": "\<ESC>"}
let g:AutoClosePairs = "() {} [] ' ` \" "
" This is solves a bug in devicons that appears when sourcing vimrc
if exists("g:loaded_webdevicons")
call webdevicons#refresh()
endif
" Include user's custom nvim configurations
if filereadable(expand("~/.config/nvim/custom.vim"))
source ~/.config/nvim/custom.vim
endif

593
dotfiles/.config/nvim_bak/\ Normal file
View File

@ -0,0 +1,593 @@
" _____ _ ___ _
" / ___|| | / _ \ | |
" \ `--. | |__ __ _ __ __ _ __ / /_\ \ _ __ __| | ___ _ __ ___ ___ _ __
" `--. \| '_ \ / _` |\ \ /\ / /| '_ \ | _ || '_ \ / _` | / _ \| '__|/ __| / _ \ | '_ \
" /\__/ /| | | || (_| | \ V V / | | | | | | | || | | || (_| || __/| | \__ \| (_) || | | |
" \____/ |_| |_| \__,_| \_/\_/ |_| |_| \_| |_/|_| |_| \__,_| \___||_| |___/ \___/ |_| |_|
"
" _ _ _ _____ __ _ _ _
" | | | |(_) / __ \ / _|(_) | | (_)
" | | | | _ _ __ ___ | / \/ ___ _ __ | |_ _ __ _ _ _ _ __ __ _ | |_ _ ___ _ __
" | | | || || '_ ` _ \ | | / _ \ | '_ \ | _|| | / _` || | | || '__| / _` || __|| | / _ \ | '_ \
" \ \_/ /| || | | | | | | \__/\| (_) || | | || | | || (_| || |_| || | | (_| || |_ | || (_) || | | |
" Neo \___/ |_||_| |_| |_| \____/ \___/ |_| |_||_| |_| \__, | \__,_||_| \__,_| \__||_| \___/ |_| |_|
" __/ |
" |___/
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" Originally a fork of:
" https://github.com/novln/nvim/blob/master/init.vim
"
" Key shortcuts
" <C-p> -> ctrl-p
" <C-n> -> nerdtree toggle
" ...
"
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
"
" First and foremost, set the cache directory. This is needed to coordinate
" plugins.
"
let b:cache_directory = $HOME . '/.cache/nvim'
"
" Plugins are the beauty of vim! Use the awesome plugged plugin manager in
" neovim.
"
call plug#begin('~/.local/share/nvim/plugged')
"
" Plugins are in ascending chronological order relative to when they were
" added to the configuration.
"
"
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plug 'junegunn/vim-emoji'
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" Add words in visible tmux panes to vims completefunc
Plug 'wellle/tmux-complete.vim'
"
" FZF Fuzzy Finder! Careful, things are about to get FAAAAASSSTTT
"
" A command line fuzzy finder Very powerful
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'airblade/vim-rooter'
"
"
" This command tells fzf to skip filenames during its :Rg search command.
"
command! -bang -nargs=* Rg call fzf#vim#grep("rg --column --line-number --no-heading --color=always --smart-case ".shellescape(<q-args>), 1, {'options': '--delimiter : --nth 4..'}, <bang>0)
"
"
" Images in vim! Using NeoVim, FZF and termpix.
"
" Original inspiration: to preview image files: https://www.youtube.com/watch?v=vzWibjhLBUs
" See gist here: https://gist.github.com/LinuxIsCool/457658f5298e4186f23f3731324b68cb
"
let g:fzf_layout = { 'down': '~60%' }
let g:fzf_files_options =
\ '--preview "(~/.cargo/bin/termpix --width 50 --true-color {} || cat {}) 2> /dev/null "'
" Map ctrl-t to bring up fzf fuzzy finder for files
noremap <silent> <C-t> :Files<CR>
"
" Vim Minimap!
" Very cool concept but it's causing a bit of lag, and it raises an error when
" I open it. I very well could take a look at the code. I could probably fix
" that bug and also increase the performance.
" Also, it would need a way to be controlled, like I need to access that
" window. It seems like that's actually what's bugging out.
" I should probably get back to work. I can probably leave it installed for
" now, and not use to too often. I'll take a look at the source too.
Plug 'lleixat/vim-minimap'
let g:minimap_show='<leader>mm'
let g:minimap_close='<leader>mc'
let g:minimap_update='<leader>mu'
let g:minimap_toggle='<leader>mt'
" This one seems sketch as well ..
" Plug 'koron/minimap-vim'
" No minimap for now. Sept 2020
" Although, I couls see how the minimap could be super useful. Let's take
" a look at the code of the original python one.
" Get the dot operator (repeat) functional on plugin commands
Plug 'tpope/vim-repeat'
" A collection of symetric commands shortcuts the use [ and ] as access keys.
Plug 'tpope/vim-unimpaired'
" This one has a lot of potential. 95 contributors on github, and it's 83%
" python
Plug 'Shougo/denite.nvim'
" ES2015 code snippets (Optional)
" Plug 'epilande/vim-es2015-snippets'
" React code snippets
" Plug 'epilande/vim-react-snippets'
" Ultisnips
" Plug 'SirVer/ultisnips'
" Snippets are separated from the engine. Add this if you want them:
" Plug 'honza/vim-snippets'
" Plug 'dsznajder/vscode-es7-javascript-react-snippets', {
" \ 'do': 'yarn install --frozen-lockfile && yarn compile' }
" Trigger configuration (Optional)
" let g:UltiSnipsExpandTrigger="<C-l>"
"
" Vimagit inspired by magit for emacs
Plug 'jreybert/vimagit'
Plug 'jiangmiao/auto-pairs'
let g:AutoPairsFlyMode = 1
au FileType html let b:AutoPairs = AutoPairsDefine({'<!--' : '-->'}, [])
au FileType vim let b:AutoPairs = AutoPairsDefine({}, ['"'])
Plug 'alvan/vim-closetag'
let g:closetag_filenames = '*.html,*.xhtml,*.phtml,*.js'
" Polyglot language pack
Plug 'sheerun/vim-polyglot'
" Show indentation level
Plug 'Yggdroot/indentLine'
" NeoMake
Plug 'neomake/neomake'
" COC
" Javascript configuration from: https://thoughtbot.com/blog/modern-typescript-and-react-development-in-vim
Plug 'neoclide/coc.nvim', {'branch': 'release'}
let g:coc_global_extensions = [
\ 'coc-tsserver'
\ ]
" if isdirectory('./node_modules') && isdirectory('./node_modules/prettier')
" let g:coc_global_extensions += ['coc-prettier']
" endif
if isdirectory('./node_modules') && isdirectory('./node_modules/eslint')
let g:coc_global_extensions += ['coc-eslint']
endif
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gr <Plug>(coc-references)
nmap <silent> [g <Plug>(coc-diagnostic-prev)
nmap <silent> ]g <Plug>(coc-diagnostic-next)
nmap <leader>do <Plug>(coc-codeaction)
nmap <leader>rn <Plug>(coc-rename)
Plug 'neoclide/coc-eslint'
Plug 'neoclide/coc-prettier'
" Automatically generate ctags for files
Plug 'xolox/vim-easytags'
" Language Server Protocol
" View and search Language Server Protocol symbols and tags
Plug 'liuchengxu/vista.vim'
" Goyo for distraction free editing! And T-shirts!
Plug 'junegunn/goyo.vim'
" Limelight for focused editing
Plug 'junegunn/limelight.vim'
" Make sure you use single quotes
"
Plug 'tomlion/vim-solidity'
"Jupyter Support for VIM
" Plug 'szymonmaszke/vimpyter'
" autocmd Filetype ipynb nmap <silent><Leader>b :VimpyterInsertPythonBlock<CR>
" autocmd Filetype ipynb nmap <silent><Leader>i :VimpyterStartJupyter<CR>
" autocmd Filetype ipynb nmap <silent><Leader>n :VimpyterStartNteract<CR>
Plug 'jeffkreeftmeijer/vim-numbertoggle'
Plug 'tpope/vim-surround'
"-------------------------------------------------------------------------------
"Color Theme
Plug 'tomasiser/vim-code-dark'
Plug 'ajmwagar/vim-deus'
Plug 'arcticicestudio/nord-vim'
"-------------------------------------------------------------------------------
Plug 'jceb/vim-orgmode'
Plug 'tpope/vim-speeddating'
Plug 'junegunn/vim-easy-align'
"-------------------------------------------------------------------------------
" Git Section
"
" Github dashboard in vim!
Plug 'junegunn/vim-github-dashboard'
" Git commands in vim
Plug 'tpope/vim-fugitive'
" A git commit browser.
Plug 'junegunn/gv.vim'
" Show git diff in the sign column
Plug 'airblade/vim-gitgutter'
"-------------------------------------------------------------------------------
Plug 'tpope/vim-rhubarb'
"---------------
" For Javascript and Typescript
" INVESTIGATE THESE
Plug 'pangloss/vim-javascript'
Plug 'leafgarland/typescript-vim'
Plug 'peitalin/vim-jsx-typescript'
Plug 'styled-components/vim-styled-components', { 'branch': 'main' }
Plug 'jparise/vim-graphql'
Plug 'yuezk/vim-js'
Plug 'maxmellon/vim-jsx-pretty'
" Start interactive EasyAlign in visual mode (e.g. vipga)
xmap ga <Plug>(EasyAlign)
" Start interactive EasyAlign for a motion/text object (e.g. gaip)
nmap ga <Plug>(EasyAlign)
"-------------------------------------------------------------------------------
" Trying out vim lightline as an alternative to vim-airline, sticking with
" airline.
" Plug 'itchyny/lightline.vim'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
"Enable tabline extension
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#left_sep = '|'
let g:airline#extensions#tabline#left_alt_sep = '|'
let g:airline#extensions#tabline#formatter = 'unique_tail'
"-------------------------------------------------------------------------------
" Markdown Composer
function! BuildComposer(info)
if a:info.status != 'unchanged' || a:info.force
if has('nvim')
!cargo build --release
else
!cargo build --release --no-default-features --features json-rpc
endif
endif
endfunction
"
Plug 'euclio/vim-markdown-composer', { 'do': function('BuildComposer') }
let g:markdown_composer_open_browser = 0
"-------------------------------------------------------------------------------
"
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,__pycache__/ " MacOSX/Linux<Paste>
Plug 'ctrlpvim/ctrlp.vim'
"The below 4 lines are for speed!from https://stackoverflow.com/questions/21346068/slow-performance-on-ctrlp-it-doesnt-work-to-ignore-some-folders/22784889#22784889
let g:ctrlp_cache_dir = $HOME . '/.cache/ctrlp'
if executable('ag')
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
endif
let g:ctrlp_cmd = 'CtrlPMixed' " search anything (in files, buffers and MRU files at the same time.)
let g:ctrlp_working_path_mode = '' " search for nearest ancestor like .git, .hg, and the directory of the current file
let g:ctrlp_match_window_bottom = 1 " show the match window at the top of the screen
let g:ctrlp_by_filename = 0
let g:ctrlp_max_height = 10 " maximum height of match window
let g:ctrlp_switch_buffer = 'et' " jump to a file if it's open already
let g:ctrlp_use_caching = 1 " enable caching
let g:ctrlp_cache_dir = b:cache_directory . '/ctrlp' " define cache path
let g:ctrlp_clear_cache_on_exit = 0 " speed up by not removing clearing cache everytime
let g:ctrlp_mruf_max = 250 " number of recently opened files
let g:ctrlp_show_hidden = 1
let g:ctrlp_custom_ignore = {
\ 'py': '__pycache__/',
\ }
" \'py':__pycache__/'
" 'bin'
" 'develop-eggs',
" 'eggs'
" 'parts'
" 'src/*.egg-info'
" set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux
"-------------------------------------------------------------------------------
Plug 'scrooloose/nerdcommenter'
"Comment manager
" Allow commenting and inverting empty lines (useful when commenting a region)
let g:NERDCommentEmptyLines = 1
" Enable trimming of trailing whitespace when uncommenting
let g:NERDTrimTrailingWhitespace = 1
" Add spaces after comment delimiters by default
let g:NERDSpaceDelims = 1
" Align line-wise comment delimiters flush left instead of following code indentation
let g:NERDDefaultAlign = 'left'
"-------------------------------------------------------------------------------
Plug 'goerz/ipynb_notedown.vim'
"-------------------------------------------------------------------------------
" Modified vim start screen
Plug 'mhinz/vim-startify'
Plug 'preservim/nerdtree' |
\ Plug 'Xuyuanp/nerdtree-git-plugin' |
\ Plug 'ryanoasis/vim-devicons'
let g:NERDTreeGitStatusIndicatorMapCustom = {
\ 'Modified' :'✹',
\ 'Staged' :'✚',
\ 'Untracked' :'✭',
\ 'Renamed' :'➜',
\ 'Unmerged' :'═',
\ 'Deleted' :'✖',
\ 'Dirty' :'✗',
\ 'Ignored' :'☒',
\ 'Clean' :'✔︎',
\ 'Unknown' :'?',
\ }
let g:NERDTreeGitStatusUseNerdFonts = 1 " you should install nerdfonts by yourself. default: 0
" Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } " On-demand loading
":help NERDTreeOptions
map <C-n> :NERDTreeToggle<CR>
map <leader>r :NERDTreeFind<cr>
let NERDTreeIgnore=['\.pyc$', '\~$']
" This makes the location of the current open file always the current working
" directory of vim. Experimental - Sept 15th 2020
autocmd BufEnter * lcd %:p:h
"-------------------------------------------------------------------------------
Plug 'bfredl/nvim-ipy'
let g:nvim_ipy_perform_mappings = 0
map <silent> <leader>s <Plug>(IPy-Run)
map <silent> <leader><Enter> <Plug>(IPy-RunCell)
map <silent> <c-s> <Plug>(IPy-Complete)
map <silent> <c-s> <Plug>(IPy-WordObjInfo)
map <silent> <leader>? <Plug>(IPy-Interrupt)
map <silent> <c-s> <Plug>(IPy-Terminate)
""---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" Fix for slimux:
set shell=/bin/sh
Plug 'lotabout/slimux'
"Send text between tmux panes!
nmap <Leader>s :SlimuxREPLSendLine<CR>j
vmap <Leader>s :SlimuxREPLSendSelection<CR>
" map <C-c><C-c> :SlimuxREPLConfigure<CR>
let g:slimux_pane_format = "#W #P "
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plug 'vimwiki/vimwiki'
set nocompatible
filetype plugin on
syntax on
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" Initialize plugin system
call plug#end()
" DVC
autocmd! BufNewFile,BufRead Dvcfile,*.dvc,dvc.lock setfiletype yaml
"============u============u============u============u============u============u
" VIM BEHAVIOUR - Settings
" Highlight character at column 80
:set colorcolumn=80
" Tab completion in command mode
set wildmenu
"These filetypes are ignored when expanding wildcard searches
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.pyc
" show line numbers
set number
" using only 1 column (and 1 space) while possible
set numberwidth=1
" Set vim system timeouts
set timeoutlen=1000
set ttimeoutlen=5
" Set numbers relative or
" set relativenumber
set norelativenumber
" Vim Arithmetic
" <C-c> -> increase the count of a number
" <C-x> -> decrease the count of a number
nnoremap <C-c> :exe "normal \<C-a>"<CR>
" Vim date key
" I would like this to put behind the cursor.
" nnoremap <leader>d :r !date<CR>
" Vim ls key
" Wed 16 Sep 2020 09:32:44 PM PDT
nnoremap <leader>l :r ! ls<CR>
" Here we map the leader key! This is where things get spicy! The leader key
" in vim is extremely powerful. Wielded by great mages, it unlocks the ability
" to cast spells through one's very own fingertips by merely thinking a string
" of words. Once the energetic vibration of these thoughts pass through the
" keys into the keyboard, the spell is activated and it's consequences take
" effect. Use this key in normal mode to run commands through key bindings!
" * Why do we define it twice? Once with no g, then with a g, what is the
" difference?
"
" Set the leader key - #setleader
let mapleader=","
let g:mapleader=","
" I was about to make something bad ass here. It escapes me. It was something
" about doing something in vim.
" Here I make <b>shortcuts</b> to various system locations.
" ssh config, fish config, vim config, my personal notes,
nnoremap <leader>ev :e $MYVIMRC<CR>
nnoremap <leader>ef :e ~/.config/fish/config.fish<CR>
nnoremap <leader>et :e ~/.tmux.conf<CR>
nnoremap <leader>es :e ~/.ssh/config<CR>
nnoremap <leader>ed :e ~/Workspace/dotfiles/<CR>
nnoremap <leader>ew :e ~/Workspace/<CR>
" let current_week "=strftime('%V')
" nnoremap <leader>en :e ~/Notes/strftime('%V')/strftime('%V').md<CR>G
function Edit()
let n = '~/Notes/'.strftime('%V').'/'.strftime('%V').'.md'
edit(n)
endfunction
function! Edit()
let n = '~/Notes/'.strftime('%V').'/'.strftime('%V').'.md'
execute "e ".fnameescape(n)
endfunction
" nnoremap <leader>en :Edit()
" nnoremap <leader>en :ex "e ".fnameescape('~/Notes/'.=strftime('%V').'/'.=strftime('%V').'.md')<CR>
nnoremap <leader>en "='~/Notes/'.strftime('%V').'/'.strftime('%V').'.md'
nnoremap <leader>en :e strftime('%V')
" Date utilities
:nnoremap <F5> "=strftime("%c")<CR>P
:inoremap <F5> <C-R>=strftime("%c")<CR>
" funct! Exec(command)
" redir =>output
" silent exec a:command
" redir END
" return output
" endfunct!
nnoremap <leader><leader> i^R=Exec('ls')
" Force reload vimrc
nnoremap <leader>rv :source $MYVIMRC<CR>
" stow -v -R dotfiles -t ~/
" For copying text out of VIM
set mouse=a
" Syntax Highlighting
syntax enable
" set background=dark
"colorscheme solarized
set t_Co=256
set t_ut=
colorscheme nord
" colorscheme iceberg
" colorscheme codedark
hi Normal guibg=NONE ctermbg=NONE
" colors deus
"Highlight Cursor line
set cursorline
" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
" Enable Intuitive copy and paste
" vnoremap <C-c> "*y
" vnoremap <C-c> "+y
" nnoremap <C-v> "+p
" inoremap <C-v> <C-r>+
set pastetoggle=<F2>
"Use modifier to jump to beginning and end of lines
map <leader>j $
map <leader>f 0
" This keeps the cursor at the center of the screen.
set scrolloff=999
"split more naturally
set splitbelow
set splitright
" Searching
set incsearch " show 'best match so far' as you type
set hlsearch " hilight the items found by the search
set ignorecase " ignores case of letters on searches
set smartcase " Override the 'ignorecase' option if the search pattern contains upper case characters
"Manually turn off the search highlight
map <leader>/ :nohl<CR>
set nowrap
"Abbreviations
ab h1 hi
" Disable these mappings that I don't want.
" Hmm.. Better look into this. I should know what these do.
noremap <silent> <C-c> <Nop>
noremap <silent> <C-w>f <Nop>
noremap <silent> <Del> <Nop>
noremap <silent> <F1> <Nop>
" Make buffer movement similar to vimium/vimfx for firefox using let
" g:airline#extensions#tabline#enabled v 1
"
" Cycle tabs
" Don't fuckin save, it makes things slow, wish I changed this
" earlier...(removing save - Sept 12 2020)
" I've been mixing up the terminology of tabs and windows.
" A Buffer is what's drawn on the screen
" A window is a view of particular text
" A tab page is a utility for organizing multiple windows
nnoremap <silent> <S-k> :bn<CR>:NERDTreeFind<CR><C-w>l
nnoremap <silent> <S-j> :bp<CR>:NERDTreeFind<CR><C-w>l
" noremap <C-t> :tabnew split<CR>
" Let's shuffle windows just as easy. Then we can get into nerd tree smoother
" Whatabout shift n and shift p to cycle tabs?
" What do shipt p and shift n do?
" shift p is print behind, and shift n is previous search result.
" OK, we are not changing the above, they actually match vimium in firefox
" Fix Cycle tabs
" nnoremap <silent> <S-j> <S-l>
" nnoremap <silent> <S-l> :w<CR>:bp<CR>
"
" nnoremap <silent> <S-k> <S-h>
" nnoremap <silent> <S-l> :w<CR>:bn<CR>
" Tab spacing on html
autocmd Filetype html setlocal ts=2 sw=2 expandtab
autocmd Filetype djangohtml setlocal ts=2 sw=2 expandtab
autocmd Filetype css setlocal ts=2 sw=2 expandtab
autocmd Filetype scss setlocal ts=2 sw=2 expandtab
autocmd Filetype javascript setlocal ts=2 sw=2 expandtab
autocmd Filetype json setlocal ts=2 sw=2 expandtab
autocmd Filetype cpp setlocal ts=2 sw=2 expandtab
autocmd Filetype c setlocal ts=2 sw=2 expandtab
autocmd Filetype sh setlocal ts=2 sw=2 expandtab
autocmd Filetype fish setlocal ts=2 sw=2 expandtab
autocmd Filetype bash setlocal ts=2 sw=2 expandtab
autocmd Filetype perl setlocal ts=2 sw=2 expandtab
"Maintain cursor and window position when switching buffers
if v:version >= 700
au BufLeave * let b:winview = winsaveview()
au BufEnter * if(exists('b:winview')) | call winrestview(b:winview) | endif
endif
" For COC
if filereadable(expand("~/.config/nvim/coc.vim"))
source ~/.config/nvim/coc.vim
endif
" " `--. `|/ _\` ( _/-" /
" |\_b_9-"" ___) -"-"//'
" | --/`--_o"_/' (6_//
" P I C C O L O / ,' -"" .),-'
" ( "-__ `-(
" \ |HHH/ / \
" \ - _./ `-._..._
" 7----",'/ ..-" .-- "--.._
" _.._.-/) .-',/ .-" -" ""--..
" _..--"|=""--..--""""""./' . .-"""-.\
" ,' .-',' ,' /. / .' \\
" .:' ,' ,: / ,/'/ /' _....' _..--""" )
" ,"/ / /( / _,/' / ,/' /. .-" __|
" / / /' ( ""----"""" / ,/ / `:.-" _.--"" /
" || ( \_ __.-' / |`-.`:=._-" _.-:|
" \/ \ """"""" / ""-` `-"===="-' \
" | "-. __..-" \._.====.. `
" | ""--"""" //..---""\\ .
" \ /'| __...---.\ |
"

View File

@ -0,0 +1,13 @@
{
"coc.preferences.formatOnSaveFiletypes": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
],
"tsserver.formatOnType": true,
"coc.preferences.formatOnType": true,
"eslint.autoFixOnSave": true,
"eslint.filetypes": ["javascript", "javascriptreact", "typescript", "typescriptreact"]
}

View File

@ -0,0 +1,615 @@
" _____ _ ___ _
" / ___|| | / _ \ | |
" \ `--. | |__ __ _ __ __ _ __ / /_\ \ _ __ __| | ___ _ __ ___ ___ _ __
" `--. \| '_ \ / _` |\ \ /\ / /| '_ \ | _ || '_ \ / _` | / _ \| '__|/ __| / _ \ | '_ \
" /\__/ /| | | || (_| | \ V V / | | | | | | | || | | || (_| || __/| | \__ \| (_) || | | |
" \____/ |_| |_| \__,_| \_/\_/ |_| |_| \_| |_/|_| |_| \__,_| \___||_| |___/ \___/ |_| |_|
"
" _ _ _ _____ __ _ _ _
" | | | |(_) / __ \ / _|(_) | | (_)
" | | | | _ _ __ ___ | / \/ ___ _ __ | |_ _ __ _ _ _ _ __ __ _ | |_ _ ___ _ __
" | | | || || '_ ` _ \ | | / _ \ | '_ \ | _|| | / _` || | | || '__| / _` || __|| | / _ \ | '_ \
" \ \_/ /| || | | | | | | \__/\| (_) || | | || | | || (_| || |_| || | | (_| || |_ | || (_) || | | |
" Neo \___/ |_||_| |_| |_| \____/ \___/ |_| |_||_| |_| \__, | \__,_||_| \__,_| \__||_| \___/ |_| |_|
" __/ |
" |___/
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" Originally a fork of:
" https://github.com/novln/nvim/blob/master/init.vim
"
" Key shortcuts
" <C-p> -> ctrl-p
" <C-n> -> nerdtree toggle
" ...
"
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
"
" First and foremost, set the cache directory. This is needed to coordinate
" plugins.
"
let b:cache_directory = $HOME . '/.cache/nvim'
"
" Plugins are the beauty of vim! Use the awesome plugged plugin manager in
" neovim.
"
call plug#begin('~/.local/share/nvim/plugged')
"
" Plugins are in ascending chronological order relative to when they were
" added to the configuration.
"
Plug 'junegunn/rainbow_parentheses.vim'
Plug 'psliwka/vim-smoothie'
Plug 'jez/vim-superman'
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plug 'junegunn/vim-emoji'
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" Add words in visible tmux panes to vims completefunc
Plug 'wellle/tmux-complete.vim'
"
" FZF Fuzzy Finder! Careful, things are about to get FAAAAASSSTTT
"
" A command line fuzzy finder Very powerful
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'yuki-ycino/fzf-preview.vim', { 'branch': 'release', 'do': ':UpdateRemotePlugins' }
Plug 'junegunn/fzf.vim'
Plug 'airblade/vim-rooter'
"
"
" This command tells fzf to skip filenames during its :Rg search command.
" Why do that? I don't know.. needs experimentation.
command! -bang -nargs=* Rg call fzf#vim#grep("rg --column --line-number --no-heading --color=always --smart-case ".shellescape(<q-args>), 1, {'options': '--delimiter : --nth 4..'}, <bang>0)
" https://dev.to/iggredible/how-to-search-faster-in-vim-with-fzf-vim-36ko
" This overides the vim :grep command
set grepprg=rg\ --vimgrep\ --smart-case\ --follow
" It allows for search and replace across our entire project with the
" following:
" :grep "pizza"
" :cfdo %s/pizza/donut/g | update
" cfdo executes any command we pass on all entries in our quickfix list.
"
" Video - https://www.youtube.com/watch?v=vzWibjhLBUs
" Gist - https://gist.github.com/LinuxIsCool/457658f5298e4186f23f3731324b68cb
" Images in vim! Using NeoVim, FZF and termpix.
if executable('fish')
" use fish for embedded terminals
set shell=fish
" use bash for else
let $SHELL = 'bash'
endif
let g:fzf_layout = { 'down': '~60%' }
let g:fzf_files_options =
\ '--preview "(termpix --width 50 {} || bat {}) 2> /dev/null "'
" Map ctrl-t to bring up fzf fuzzy finder for files
noremap <silent> <C-t> :Files<CR>
"
" Vim Minimap!
" Very cool concept but it's causing a bit of lag, and it raises an error when
" I open it. I very well could take a look at the code. I could probably fix
" that bug and also increase the performance.
" Also, it would need a way to be controlled, like I need to access that
" window. It seems like that's actually what's bugging out.
" I should probably get back to work. I can probably leave it installed for
" now, and not use to too often. I'll take a look at the source too.
Plug 'lleixat/vim-minimap'
let g:minimap_show='<leader>mm'
let g:minimap_close='<leader>mc'
let g:minimap_update='<leader>mu'
let g:minimap_toggle='<leader>mt'
" This one seems sketch as well ..
" Plug 'koron/minimap-vim'
" No minimap for now. Sept 2020
" Although, I couls see how the minimap could be super useful. Let's take
" a look at the code of the original python one.
" Get the dot operator (repeat) functional on plugin commands
Plug 'tpope/vim-repeat'
" A collection of symetric commands shortcuts the use [ and ] as access keys.
Plug 'tpope/vim-unimpaired'
" This one has a lot of potential. 95 contributors on github, and it's 83%
" python
Plug 'Shougo/denite.nvim'
" ES2015 code snippets (Optional)
" Plug 'epilande/vim-es2015-snippets'
" React code snippets
" Plug 'epilande/vim-react-snippets'
" Ultisnips
" Plug 'SirVer/ultisnips'
" Snippets are separated from the engine. Add this if you want them:
" Plug 'honza/vim-snippets'
" Plug 'dsznajder/vscode-es7-javascript-react-snippets', {
" \ 'do': 'yarn install --frozen-lockfile && yarn compile' }
" Trigger configuration (Optional)
" let g:UltiSnipsExpandTrigger="<C-l>"
"
" Vimagit inspired by magit for emacs
Plug 'jreybert/vimagit'
Plug 'jiangmiao/auto-pairs'
let g:AutoPairsFlyMode = 1
au FileType html let b:AutoPairs = AutoPairsDefine({'<!--' : '-->'}, [])
au FileType vim let b:AutoPairs = AutoPairsDefine({}, ['"'])
Plug 'alvan/vim-closetag'
let g:closetag_filenames = '*.html,*.xhtml,*.phtml,*.js'
" Polyglot language pack
Plug 'sheerun/vim-polyglot'
" Show indentation level
Plug 'Yggdroot/indentLine'
" NeoMake
Plug 'neomake/neomake'
" COC
" Javascript configuration from: https://thoughtbot.com/blog/modern-typescript-and-react-development-in-vim
Plug 'neoclide/coc.nvim', {'branch': 'release'}
let g:coc_global_extensions = [
\ 'coc-tsserver'
\ ]
" if isdirectory('./node_modules') && isdirectory('./node_modules/prettier')
" let g:coc_global_extensions += ['coc-prettier']
" endif
if isdirectory('./node_modules') && isdirectory('./node_modules/eslint')
let g:coc_global_extensions += ['coc-eslint']
endif
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gr <Plug>(coc-references)
nmap <silent> [g <Plug>(coc-diagnostic-prev)
nmap <silent> ]g <Plug>(coc-diagnostic-next)
nmap <leader>do <Plug>(coc-codeaction)
nmap <leader>rn <Plug>(coc-rename)
Plug 'neoclide/coc-eslint'
Plug 'neoclide/coc-prettier'
" Automatically generate ctags for files
Plug 'xolox/vim-easytags'
" Language Server Protocol
" View and search Language Server Protocol symbols and tags
Plug 'liuchengxu/vista.vim'
" Goyo for distraction free editing! And T-shirts!
Plug 'junegunn/goyo.vim'
" Limelight for focused editing
Plug 'junegunn/limelight.vim'
" Make sure you use single quotes
"
Plug 'tomlion/vim-solidity'
"Jupyter Support for VIM
" Plug 'szymonmaszke/vimpyter'
" autocmd Filetype ipynb nmap <silent><Leader>b :VimpyterInsertPythonBlock<CR>
" autocmd Filetype ipynb nmap <silent><Leader>i :VimpyterStartJupyter<CR>
" autocmd Filetype ipynb nmap <silent><Leader>n :VimpyterStartNteract<CR>
Plug 'jeffkreeftmeijer/vim-numbertoggle'
Plug 'tpope/vim-surround'
"-------------------------------------------------------------------------------
"Color Theme
Plug 'tomasiser/vim-code-dark'
Plug 'ajmwagar/vim-deus'
Plug 'arcticicestudio/nord-vim'
"-------------------------------------------------------------------------------
Plug 'jceb/vim-orgmode'
Plug 'tpope/vim-speeddating'
Plug 'junegunn/vim-easy-align'
"-------------------------------------------------------------------------------
" Git Section
"
" Github dashboard in vim!
Plug 'junegunn/vim-github-dashboard'
" Git commands in vim
Plug 'tpope/vim-fugitive'
" A git commit browser.
Plug 'junegunn/gv.vim'
" Show git diff in the sign column
Plug 'airblade/vim-gitgutter'
"-------------------------------------------------------------------------------
Plug 'tpope/vim-rhubarb'
"---------------
" For Javascript and Typescript
" INVESTIGATE THESE
Plug 'pangloss/vim-javascript'
Plug 'leafgarland/typescript-vim'
Plug 'peitalin/vim-jsx-typescript'
Plug 'styled-components/vim-styled-components', { 'branch': 'main' }
Plug 'jparise/vim-graphql'
Plug 'yuezk/vim-js'
Plug 'maxmellon/vim-jsx-pretty'
" Start interactive EasyAlign in visual mode (e.g. vipga)
xmap ga <Plug>(EasyAlign)
" Start interactive EasyAlign for a motion/text object (e.g. gaip)
nmap ga <Plug>(EasyAlign)
"-------------------------------------------------------------------------------
" Trying out vim lightline as an alternative to vim-airline, sticking with
" airline.
" Plug 'itchyny/lightline.vim'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
"Enable tabline extension
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#left_sep = '|'
let g:airline#extensions#tabline#left_alt_sep = '|'
let g:airline#extensions#tabline#formatter = 'unique_tail'
"-------------------------------------------------------------------------------
" Markdown Composer
function! BuildComposer(info)
if a:info.status != 'unchanged' || a:info.force
if has('nvim')
!cargo build --release
else
!cargo build --release --no-default-features --features json-rpc
endif
endif
endfunction
"
Plug 'euclio/vim-markdown-composer', { 'do': function('BuildComposer') }
let g:markdown_composer_open_browser = 0
"-------------------------------------------------------------------------------
"
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,__pycache__/ " MacOSX/Linux<Paste>
Plug 'ctrlpvim/ctrlp.vim'
"The below 4 lines are for speed!from https://stackoverflow.com/questions/21346068/slow-performance-on-ctrlp-it-doesnt-work-to-ignore-some-folders/22784889#22784889
let g:ctrlp_cache_dir = $HOME . '/.cache/ctrlp'
if executable('ag')
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
endif
let g:ctrlp_cmd = 'CtrlPMixed' " search anything (in files, buffers and MRU files at the same time.)
let g:ctrlp_working_path_mode = '' " search for nearest ancestor like .git, .hg, and the directory of the current file
let g:ctrlp_match_window_bottom = 1 " show the match window at the top of the screen
let g:ctrlp_by_filename = 0
let g:ctrlp_max_height = 10 " maximum height of match window
let g:ctrlp_switch_buffer = 'et' " jump to a file if it's open already
let g:ctrlp_use_caching = 1 " enable caching
let g:ctrlp_cache_dir = b:cache_directory . '/ctrlp' " define cache path
let g:ctrlp_clear_cache_on_exit = 0 " speed up by not removing clearing cache everytime
let g:ctrlp_mruf_max = 250 " number of recently opened files
let g:ctrlp_show_hidden = 1
let g:ctrlp_custom_ignore = {
\ 'py': '__pycache__/',
\ }
" \'py':__pycache__/'
" 'bin'
" 'develop-eggs',
" 'eggs'
" 'parts'
" 'src/*.egg-info'
" set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux
"-------------------------------------------------------------------------------
Plug 'scrooloose/nerdcommenter'
"Comment manager
" Allow commenting and inverting empty lines (useful when commenting a region)
let g:NERDCommentEmptyLines = 1
" Enable trimming of trailing whitespace when uncommenting
let g:NERDTrimTrailingWhitespace = 1
" Add spaces after comment delimiters by default
let g:NERDSpaceDelims = 1
" Align line-wise comment delimiters flush left instead of following code indentation
let g:NERDDefaultAlign = 'left'
"-------------------------------------------------------------------------------
Plug 'goerz/ipynb_notedown.vim'
"-------------------------------------------------------------------------------
" Modified vim start screen
Plug 'mhinz/vim-startify'
Plug 'preservim/nerdtree' |
\ Plug 'Xuyuanp/nerdtree-git-plugin' |
\ Plug 'ryanoasis/vim-devicons'
let g:NERDTreeGitStatusIndicatorMapCustom = {
\ 'Modified' :'✹',
\ 'Staged' :'✚',
\ 'Untracked' :'✭',
\ 'Renamed' :'➜',
\ 'Unmerged' :'═',
\ 'Deleted' :'✖',
\ 'Dirty' :'✗',
\ 'Ignored' :'☒',
\ 'Clean' :'✔︎',
\ 'Unknown' :'?',
\ }
let g:NERDTreeGitStatusUseNerdFonts = 1 " you should install nerdfonts by yourself. default: 0
" Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } " On-demand loading
":help NERDTreeOptions
map <C-n> :NERDTreeToggle<CR>
map <leader>r :NERDTreeFind<cr>
let NERDTreeIgnore=['\.pyc$', '\~$']
" This makes the location of the current open file always the current working
" directory of vim. Experimental - Sept 15th 2020
autocmd BufEnter * lcd %:p:h
"-------------------------------------------------------------------------------
Plug 'bfredl/nvim-ipy'
let g:nvim_ipy_perform_mappings = 0
map <silent> <leader>s <Plug>(IPy-Run)
map <silent> <leader><Enter> <Plug>(IPy-RunCell)
map <silent> <c-s> <Plug>(IPy-Complete)
map <silent> <c-s> <Plug>(IPy-WordObjInfo)
map <silent> <leader>? <Plug>(IPy-Interrupt)
map <silent> <c-s> <Plug>(IPy-Terminate)
""---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" Fix for slimux:
set shell=/bin/sh
Plug 'lotabout/slimux'
"Send text between tmux panes!
nmap <Leader>s :SlimuxREPLSendLine<CR>j
vmap <Leader>s :SlimuxREPLSendSelection<CR>
" map <C-c><C-c> :SlimuxREPLConfigure<CR>
let g:slimux_pane_format = "#W #P "
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plug 'vimwiki/vimwiki'
set nocompatible
filetype plugin on
syntax on
"---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" Initialize plugin system
call plug#end()
" DVC
autocmd! BufNewFile,BufRead Dvcfile,*.dvc,dvc.lock setfiletype yaml
"============u============u============u============u============u============u
" VIM BEHAVIOUR - Settings
" Highlight character at column 80
:set colorcolumn=80
" Tab completion in command mode
set wildmenu
"These filetypes are ignored when expanding wildcard searches
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.pyc
" show line numbers
set number
" using only 1 column (and 1 space) while possible
set numberwidth=1
" Set vim system timeouts
set timeoutlen=1000
set ttimeoutlen=5
" Set numbers relative or
set relativenumber
" set norelativenumber
" Vim Arithmetic
" <C-c> -> increase the count of a number
" <C-x> -> decrease the count of a number
nnoremap <C-c> :exe "normal \<C-a>"<CR>
" Vim date key
" I would like this to put behind the cursor.
" nnoremap <leader>d :r !date<CR>
" Vim ls key
" Wed 16 Sep 2020 09:32:44 PM PDT
nnoremap <leader>l :r ! ls<CR>
" Here we map the leader key! This is where things get spicy! The leader key
" in vim is extremely powerful. Wielded by great mages, it unlocks the ability
" to cast spells through one's very own fingertips by merely thinking a string
" of words. Once the energetic vibration of these thoughts pass through the
" keys into the keyboard, the spell is activated and it's consequences take
" effect. Use this key in normal mode to run commands through key bindings!
" * Why do we define it twice? Once with no g, then with a g, what is the
" difference?
"
" Set the leader key - #setleader
let mapleader=","
let g:mapleader=","
" I was about to make something bad ass here. It escapes me. It was something
" about doing something in vim.
" Here I make <b>shortcuts</b> to various system locations.
" ssh config, fish config, vim config, my personal notes,
nnoremap <leader>ev :e $MYVIMRC<CR>
nnoremap <leader>ef :e ~/.config/fish/config.fish<CR>
nnoremap <leader>et :e ~/.tmux.conf<CR>
nnoremap <leader>es :e ~/.ssh/config<CR>
nnoremap <leader>ed :e ~/Workspace/dotfiles/<CR>
nnoremap <leader>ew :e ~/Workspace/<CR>
" let current_week "=strftime('%V')
" nnoremap <leader>en :e ~/Notes/strftime('%V')/strftime('%V').md<CR>G
function Edit()
let n = '~/Notes/'.strftime('%V').'/'.strftime('%V').'.md'
edit(n)
endfunction
function! Edit()
let n = '~/Notes/'.strftime('%V').'/'.strftime('%V').'.md'
execute "e ".fnameescape(n)
endfunction
" nnoremap <leader>en :Edit()
" nnoremap <leader>en :ex "e ".fnameescape('~/Notes/'.=strftime('%V').'/'.=strftime('%V').'.md')<CR>
nnoremap <leader>en "='~/Notes/'.strftime('%V').'/'.strftime('%V').'.md'
nnoremap <leader>en :e strftime('%V')
" Date utilities
:nnoremap <F5> "=strftime("%c")<CR>P
:inoremap <F5> <C-R>=strftime("%c")<CR>
" funct! Exec(command)
" redir =>output
" silent exec a:command
" redir END
" return output
" endfunct!
nnoremap <leader><leader> i^R=Exec('ls')
" Force reload vimrc
nnoremap <leader>rv :source $MYVIMRC<CR>
" stow -v -R dotfiles -t ~/
" For copying text out of VIM
set mouse=a
" Syntax Highlighting
syntax enable
" set background=dark
"colorscheme solarized
set t_Co=256
set t_ut=
" set t_AB=^[[48;5;%dm
" set t_AF=^[[38;5;%dm
" let NVIM_TUI_ENABLE_TRUE_COLOR=1
" colorscheme desert-warm-256
colorscheme quantum
" colorscheme nord
" colorscheme iceberg
" colorscheme codedark
hi Normal guibg=NONE ctermbg=NONE
" colors deus
"Highlight Cursor line
set cursorline
" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
" Enable Intuitive copy and paste
" vnoremap <C-c> "*y
" vnoremap <C-c> "+y
" nnoremap <C-v> "+p
" inoremap <C-v> <C-r>+
set pastetoggle=<F2>
"Use modifier to jump to beginning and end of lines
map <leader>j $
map <leader>f 0
" This keeps the cursor at the center of the screen.
" set scrolloff=0
set scrolloff=999
"split more naturally
set splitbelow
set splitright
" Searching
set incsearch " show 'best match so far' as you type
set hlsearch " hilight the items found by the search
set ignorecase " ignores case of letters on searches
set smartcase " Override the 'ignorecase' option if the search pattern contains upper case characters
"Manually turn off the search highlight
map <leader>/ :nohl<CR>
set nowrap
"Abbreviations
ab h1 hi
" Disable these mappings that I don't want.
" Hmm.. Better look into this. I should know what these do.
noremap <silent> <C-c> <Nop>
noremap <silent> <C-w>f <Nop>
noremap <silent> <Del> <Nop>
noremap <silent> <F1> <Nop>
" Make buffer movement similar to vimium/vimfx for firefox using let
" g:airline#extensions#tabline#enabled v 1
"
" Cycle tabs
" Don't fuckin save, it makes things slow, wish I changed this
" earlier...(removing save - Sept 12 2020)
" I've been mixing up the terminology of tabs and windows.
" A Buffer is what's drawn on the screen
" A window is a view of particular text
" A tab page is a utility for organizing multiple windows
nnoremap <silent> <S-k> :bn<CR>:NERDTreeFind<CR><C-w>l
nnoremap <silent> <S-j> :bp<CR>:NERDTreeFind<CR><C-w>l
" noremap <C-t> :tabnew split<CR>
" Let's shuffle windows just as easy. Then we can get into nerd tree smoother
" Whatabout shift n and shift p to cycle tabs?
" What do shipt p and shift n do?
" shift p is print behind, and shift n is previous search result.
" OK, we are not changing the above, they actually match vimium in firefox
" Fix Cycle tabs
" nnoremap <silent> <S-j> <S-l>
" nnoremap <silent> <S-l> :w<CR>:bp<CR>
"
" nnoremap <silent> <S-k> <S-h>
" nnoremap <silent> <S-l> :w<CR>:bn<CR>
" Tab spacing on html
autocmd Filetype html setlocal ts=2 sw=2 expandtab
autocmd Filetype djangohtml setlocal ts=2 sw=2 expandtab
autocmd Filetype css setlocal ts=2 sw=2 expandtab
autocmd Filetype scss setlocal ts=2 sw=2 expandtab
autocmd Filetype javascript setlocal ts=2 sw=2 expandtab
autocmd Filetype json setlocal ts=2 sw=2 expandtab
autocmd Filetype cpp setlocal ts=2 sw=2 expandtab
autocmd Filetype c setlocal ts=2 sw=2 expandtab
autocmd Filetype sh setlocal ts=2 sw=2 expandtab
autocmd Filetype fish setlocal ts=2 sw=2 expandtab
autocmd Filetype bash setlocal ts=2 sw=2 expandtab
autocmd Filetype perl setlocal ts=2 sw=2 expandtab
"Maintain cursor and window position when switching buffers
if v:version >= 700
au BufLeave * let b:winview = winsaveview()
au BufEnter * if(exists('b:winview')) | call winrestview(b:winview) | endif
endif
" For COC
if filereadable(expand("~/.config/nvim/coc.vim"))
source ~/.config/nvim/coc.vim
endif
" " `--. `|/ _\` ( _/-" /
" |\_b_9-"" ___) -"-"//'
" | --/`--_o"_/' (6_//
" P I C C O L O / ,' -"" .),-'
" ( "-__ `-(
" \ |HHH/ / \
" \ - _./ `-._..._
" 7----",'/ ..-" .-- "--.._
" _.._.-/) .-',/ .-" -" ""--..
" _..--"|=""--..--""""""./' . .-"""-.\
" ,' .-',' ,' /. / .' \\
" .:' ,' ,: / ,/'/ /' _....' _..--""" )
" ,"/ / /( / _,/' / ,/' /. .-" __|
" / / /' ( ""----"""" / ,/ / `:.-" _.--"" /
" || ( \_ __.-' / |`-.`:=._-" _.-:|
" \/ \ """"""" / ""-` `-"===="-' \
" | "-. __..-" \._.====.. `
" | ""--"""" //..---""\\ .
" \ /'| __...---.\ |
"

View File

@ -0,0 +1,86 @@
1601205341.298278 client started (175843): version 3.0a, socket /tmp//tmux-1000/default, protocol 8
1601205341.298290 on Linux 5.4.0-7642-generic #46~1598628707~20.04~040157c-Ubuntu SMP Fri Aug 28 18:02:16 UTC ; libevent 2.1.11-stable (poll)
1601205341.298296 socket is /tmp//tmux-1000/default
1601205341.298304 trying connect
1601205341.298329 add peer 0x5582eff8d5e0: 6 ((nil))
1601205341.298379 sending message 100 to peer 0x5582eff8d5e0 (4 bytes)
1601205341.298382 sending message 101 to peer 0x5582eff8d5e0 (7 bytes)
1601205341.298384 sending message 102 to peer 0x5582eff8d5e0 (11 bytes)
1601205341.298385 sending message 108 to peer 0x5582eff8d5e0 (60 bytes)
1601205341.298387 sending message 104 to peer 0x5582eff8d5e0 (0 bytes)
1601205341.298389 sending message 107 to peer 0x5582eff8d5e0 (4 bytes)
1601205341.298391 sending message 105 to peer 0x5582eff8d5e0 (63 bytes)
1601205341.298392 sending message 105 to peer 0x5582eff8d5e0 (19 bytes)
1601205341.298394 sending message 105 to peer 0x5582eff8d5e0 (16 bytes)
1601205341.298395 sending message 105 to peer 0x5582eff8d5e0 (20 bytes)
1601205341.298397 sending message 105 to peer 0x5582eff8d5e0 (54 bytes)
1601205341.298398 sending message 105 to peer 0x5582eff8d5e0 (48 bytes)
1601205341.298400 sending message 105 to peer 0x5582eff8d5e0 (20 bytes)
1601205341.298401 sending message 105 to peer 0x5582eff8d5e0 (11 bytes)
1601205341.298403 sending message 105 to peer 0x5582eff8d5e0 (12 bytes)
1601205341.298404 sending message 105 to peer 0x5582eff8d5e0 (15 bytes)
1601205341.298406 sending message 105 to peer 0x5582eff8d5e0 (44 bytes)
1601205341.298411 sending message 105 to peer 0x5582eff8d5e0 (29 bytes)
1601205341.298413 sending message 105 to peer 0x5582eff8d5e0 (86 bytes)
1601205341.298415 sending message 105 to peer 0x5582eff8d5e0 (29 bytes)
1601205341.298416 sending message 105 to peer 0x5582eff8d5e0 (52 bytes)
1601205341.298418 sending message 105 to peer 0x5582eff8d5e0 (47 bytes)
1601205341.298435 sending message 105 to peer 0x5582eff8d5e0 (15 bytes)
1601205341.298436 sending message 105 to peer 0x5582eff8d5e0 (18 bytes)
1601205341.298438 sending message 105 to peer 0x5582eff8d5e0 (47 bytes)
1601205341.298439 sending message 105 to peer 0x5582eff8d5e0 (23 bytes)
1601205341.298441 sending message 105 to peer 0x5582eff8d5e0 (17 bytes)
1601205341.298443 sending message 105 to peer 0x5582eff8d5e0 (18 bytes)
1601205341.298444 sending message 105 to peer 0x5582eff8d5e0 (23 bytes)
1601205341.298445 sending message 105 to peer 0x5582eff8d5e0 (30 bytes)
1601205341.298447 sending message 105 to peer 0x5582eff8d5e0 (27 bytes)
1601205341.298448 sending message 105 to peer 0x5582eff8d5e0 (24 bytes)
1601205341.298450 sending message 105 to peer 0x5582eff8d5e0 (20 bytes)
1601205341.298451 sending message 105 to peer 0x5582eff8d5e0 (23 bytes)
1601205341.298453 sending message 105 to peer 0x5582eff8d5e0 (21 bytes)
1601205341.298454 sending message 105 to peer 0x5582eff8d5e0 (25 bytes)
1601205341.298456 sending message 105 to peer 0x5582eff8d5e0 (20 bytes)
1601205341.298457 sending message 105 to peer 0x5582eff8d5e0 (35 bytes)
1601205341.298459 sending message 105 to peer 0x5582eff8d5e0 (12 bytes)
1601205341.298460 sending message 105 to peer 0x5582eff8d5e0 (16 bytes)
1601205341.298462 sending message 105 to peer 0x5582eff8d5e0 (51 bytes)
1601205341.298463 sending message 105 to peer 0x5582eff8d5e0 (33 bytes)
1601205341.298465 sending message 105 to peer 0x5582eff8d5e0 (36 bytes)
1601205341.298466 sending message 105 to peer 0x5582eff8d5e0 (17 bytes)
1601205341.298468 sending message 105 to peer 0x5582eff8d5e0 (17 bytes)
1601205341.298469 sending message 105 to peer 0x5582eff8d5e0 (387 bytes)
1601205341.298471 sending message 105 to peer 0x5582eff8d5e0 (64 bytes)
1601205341.298473 sending message 105 to peer 0x5582eff8d5e0 (19 bytes)
1601205341.298474 sending message 105 to peer 0x5582eff8d5e0 (18 bytes)
1601205341.298476 sending message 105 to peer 0x5582eff8d5e0 (15 bytes)
1601205341.298477 sending message 105 to peer 0x5582eff8d5e0 (82 bytes)
1601205341.298479 sending message 105 to peer 0x5582eff8d5e0 (20 bytes)
1601205341.298484 sending message 105 to peer 0x5582eff8d5e0 (8 bytes)
1601205341.298485 sending message 105 to peer 0x5582eff8d5e0 (19 bytes)
1601205341.298487 sending message 105 to peer 0x5582eff8d5e0 (41 bytes)
1601205341.298488 sending message 105 to peer 0x5582eff8d5e0 (12 bytes)
1601205341.298490 sending message 105 to peer 0x5582eff8d5e0 (24 bytes)
1601205341.298491 sending message 105 to peer 0x5582eff8d5e0 (36 bytes)
1601205341.298493 sending message 105 to peer 0x5582eff8d5e0 (14 bytes)
1601205341.298494 sending message 105 to peer 0x5582eff8d5e0 (9 bytes)
1601205341.298496 sending message 105 to peer 0x5582eff8d5e0 (13 bytes)
1601205341.298498 sending message 105 to peer 0x5582eff8d5e0 (17 bytes)
1601205341.298499 sending message 105 to peer 0x5582eff8d5e0 (13 bytes)
1601205341.298501 sending message 105 to peer 0x5582eff8d5e0 (41 bytes)
1601205341.298502 sending message 105 to peer 0x5582eff8d5e0 (42 bytes)
1601205341.298504 sending message 105 to peer 0x5582eff8d5e0 (30 bytes)
1601205341.298505 sending message 105 to peer 0x5582eff8d5e0 (158 bytes)
1601205341.298507 sending message 105 to peer 0x5582eff8d5e0 (23 bytes)
1601205341.298509 sending message 105 to peer 0x5582eff8d5e0 (31 bytes)
1601205341.298510 sending message 105 to peer 0x5582eff8d5e0 (23 bytes)
1601205341.298512 sending message 105 to peer 0x5582eff8d5e0 (24 bytes)
1601205341.298513 sending message 105 to peer 0x5582eff8d5e0 (21 bytes)
1601205341.298514 sending message 105 to peer 0x5582eff8d5e0 (20 bytes)
1601205341.298516 sending message 105 to peer 0x5582eff8d5e0 (56 bytes)
1601205341.298518 sending message 106 to peer 0x5582eff8d5e0 (0 bytes)
1601205341.298519 sending message 200 to peer 0x5582eff8d5e0 (4 bytes)
1601205341.298521 client loop enter
1601205341.298781 peer 0x5582eff8d5e0 message 211
1601205341.298786 client_write: sessions should be nested with care, unset $TMUX to force\n
1601205341.298791 peer 0x5582eff8d5e0 message 203
1601205341.298794 client loop exit

View File

@ -0,0 +1,24 @@
package argu
package bass
package config
package expand
package marlin
package spark
package vcs
package weather
theme agnoster
theme aight
theme ays
theme bira
theme bobthefish
theme coffeeandcode
theme default
theme doughsay
theme es
theme gentoo
theme gitstatus
theme gnuykeaj
theme godfather
theme pie
theme rider
theme sushi

View File

@ -0,0 +1 @@
stable

View File

@ -0,0 +1 @@
agnoster

View File

@ -0,0 +1 @@
34da4a18e8fdacda2ce10061f1cd6340

View File

@ -0,0 +1 @@
30

View File

@ -0,0 +1 @@
default

View File

@ -8,7 +8,7 @@
# peat rate. In the case that the server supports the XKB extension, the delay is the
# number of milliseconds before autorepeat starts, and the rate is the number of repeats
# per second. If the rate or delay is not given, it will be set to the default value.
xset r rate 225 60 &
xset r rate 200 60 &
# make CapsLock behave like Ctrl:
setxkbmap -option ctrl:nocaps

View File

@ -32,6 +32,10 @@ bind -n S-right next
bind -n C-left swap-window -t -1
bind -n C-right swap-window -t +1
# Surfraw shortcuts
# bind -n g send-keys -t . "sr google "
bind -n g send-keys -t . "g"
# zoom a pane into a new window for temporary work
# unbind +
@ -70,8 +74,8 @@ unbind ^L
bind ^L refresh-client
#quick reload and edit config
bind-key r source-file ~/.config/serious-tmux/serious.tmux.conf \; display-message "Tmux config reloaded"
bind-key e split-window -h "vim ~/.config/serious-tmux/serious.tmux.conf"
bind-key r source-file ~/.tmux.conf \; display-message "Tmux config reloaded"
bind-key e split-window -h "nvim ~/.tmux.conf"
# split windows like vim
bind s split-window -v -c '#{pane_current_path}'
@ -110,7 +114,9 @@ setw -g mode-keys vi
setw -g xterm-keys on
# Get 24 bit colors
set -ga terminal-overrides ",xterm-256color:Tc"
set -g default-terminal "tmux-256color" # or tmux-256color
set -ga terminal-overrides ",*256col*:Tc"
# set -ga terminal-overrides ",xterm-256color:Tc"
# set -ga terminal-overrides 'xterm*:smcup@:rmcup@'
# Recommended by nvim from ':checkhealth'
@ -128,7 +134,7 @@ set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @continuum-save-interval '15'
set -g @continuum-restore 'off'
set -g @plugin 'tmux-plugins/tmux-continuum'
run -b "~/.config/serious-tmux/serious/plugins/tpm/tpm"
# run -b "~/.config/serious-tmux/serious/plugins/tpm/tpm"
set -g status-right-length 240
set -g status-left-length 140
@ -139,8 +145,8 @@ set -g status-right 'Continuum status: #{continuum_status}'
set -g status-right "#{pane_current_path} "
set -ag status-right "#{prefix_highlight}"
set -ag status-right '#[fg=brightblack,bg=black,nobold,noitalics,nounderscore]#[fg=white,bg=brightblack] Continuum: #{@continuum-restore} #[fg=white,bg=brightblack,nobold,noitalics,nounderscore] '
run -b "~/.config/serious-tmux/serious/plugins/tpm/tpm"
run-shell "~/.config/serious-tmux/serious/plugins/nord-tmux/nord.tmux"
# run -b "~/.config/serious-tmux/serious/plugins/tpm/tpm"
# run-shell "~/.config/serious-tmux/serious/plugins/nord-tmux/nord.tmux"
# set -ag status-left "#{prefix_highlight}"
# set -g pane-border-status on
@ -183,3 +189,27 @@ unbind -T copy-mode MouseDragEnd1Pane
# set -ag window-status-current-format "#[fg=red,bg=black] #{pane_current_path}"
# set -ag window-status-current-format ' '
# ------------------------------------------------------------------------------
# From https://www.rockyourcode.com/copy-and-paste-in-tmux/
# Use vim keybindings in copy mode
set-option -g mouse on
setw -g mode-keys vi
set-option -s set-clipboard off
bind P paste-buffer
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X rectangle-toggle
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel 'xclip -se c -i'
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel 'xclip -se c -i'
#
# <c-a>[ Now Enters copy mode
# Navigate the copy mode with vi-like-key bindings (u for up, d for down, etc.)
# Hit v to start copying.
# Press y or Enter to copy the text into the tmux buffer. This automatically cancels copy mode.
# Paste into the buffer with <prefix>+P (make sure that its uppercase P).
#
# Or alternatively, use the mouse to copy text after youve entered copy mode.
#
# The above commands use xclip, a Linux command line tool for X11. You can
# replace xclip -se c -i with a platform-specific command like pbcopy (MacOS) or
# wl-copy (Wayland).

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB