{"id":17698522,"url":"https://github.com/pmeinhardt/thrasher","last_synced_at":"2025-07-18T04:37:17.569Z","repository":{"id":141524437,"uuid":"56214162","full_name":"pmeinhardt/thrasher","owner":"pmeinhardt","description":"a heavy-metal music player for vim – :guitar: :metal: :zap:","archived":false,"fork":false,"pushed_at":"2019-11-15T07:38:16.000Z","size":28,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T00:31:38.953Z","etag":null,"topics":["itunes","music","player","vim"],"latest_commit_sha":null,"homepage":"","language":"Vim script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pmeinhardt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-14T06:50:34.000Z","updated_at":"2023-03-05T06:22:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"bec7e996-f639-423f-bf54-60a96fef42ec","html_url":"https://github.com/pmeinhardt/thrasher","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmeinhardt%2Fthrasher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmeinhardt%2Fthrasher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmeinhardt%2Fthrasher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pmeinhardt%2Fthrasher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pmeinhardt","download_url":"https://codeload.github.com/pmeinhardt/thrasher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250451903,"owners_count":21432923,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["itunes","music","player","vim"],"created_at":"2024-10-24T15:09:42.186Z","updated_at":"2025-04-23T14:32:01.528Z","avatar_url":"https://github.com/pmeinhardt.png","language":"Vim script","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\nTHRASHER - A HEAVY-METAL MUSIC PLAYER FOR VIM\n\n                                                                 ,'\n                                                              .c0:\n                                                            .dNX'\n                                             ..           ,kMM0.\n                                            'KX'       .cKMMMd.\n                                           :WMMWl.   .oNMMMWc\n                                         .xMMMMMM0.,kWMMMMN,\n                                        .KMMMMMMMMMMMMMMM0.\n                                       ;NMMMMMMMMMMMMMMMx.\n                                     .oMMMMMMXMMMMMMMMWl\n                                    .0MMMMWk' cWMMMMMN,\n                                   ,NMMMXl.    ,NMMMK.\n                                  oMMMO;.       .0Mk.\n                                .OMWd.           .;\n                               'XKc.\n                              ck,\n                             ..\n```\n\n[U+1F5F2](http://unicode-table.com/en/1F5F2/)\n\n## What the heck?\n\nCurrently this project is in an experimental state,\nbut it is beginning to be actually usable (for me at least).\nAt the moment, Thrasher only works with iTunes on Mac OS X.\nThe idea is, of course, to support controlling other players as well.\n\nIf you're brave (curious) enough to give this project a try,\nI'd love to hear back from you. *Let me know what you think.*\n\nThanks. You rock!\n\n## Using\n\n**Basic usage**\n\nTo bring up Thrasher's interface, type `\u003cleader\u003em`.\n\nPersonally, I have mapped `\u003cleader\u003e` to `,`, which makes this key combination\nvery easy to type (on an English keyboard).  You can easily\n[change the default](#configuration) though.\n\nThe interface may take a moment to appear for the first time,\nbecause it is caching track information in the background.\nFollowing invocations should then be instantaneous.\n\nYou can then start typing to search for tracks matching your input.\n\nThrasher allows searching by `artist`, `album` or `track` name, and also\nlets you look for tracks with `any` of these properties matching your query.\nTo switch between search modes, press `ctrl-v` (`\u003cc-v\u003e`).\n\nYou can scroll through the list of found tracks, using `\u003cc-j\u003e` to go down and\n`\u003cc-k\u003e` to move up.\n\nHit `\u003center\u003e` to play the selected song!\n\nTo close, hit `\u003cesc\u003e` or `\u003cc-c\u003e`.\n\n**Advanced**\n\nInputting (prompt focus)\n\n- type to search (letters, numbers, spaces…)\n- `\u003cc-h\u003e` moves the cursor left\n- `\u003cc-l\u003e` moves the cursor right\n- `\u003cc-e\u003e` jumps to the very end of your input\n- `\u003cc-a\u003e` places the prompt cursor at the start\n- `\u003cbs\u003e`  deletes the preceding character\n- `\u003cdel\u003e` deletes the current character\n- `\u003cc-w\u003e` deletes the word in front of the cursor\n- `\u003cc-u\u003e` deletes your entire search input\n\nNavigation\n\n- `\u003cc-j\u003e` moves the track selection down\n- `\u003cc-k\u003e` moves the track selection up\n\nSearch modes\n\n- `\u003cc-v\u003e` switch between search modes (`any`/`artist`/`album`/`track`)\n\nPlayer control\n\n- `\u003cc-g\u003e` toggles between play and pause\n- `\u003cc-f\u003e` skips forward to the next track\n- `\u003cc-b\u003e` lets you return to the previous track\n\nFocus\n\n- `\u003cs-tab\u003e` switches between prompt and window focus\n\nThe prompt controls for entering queries are explained above.\nThrasher will launch with prompt focus by default.\n\nWith window focus you can navigate the result list more easily,\nusing standard vim navigation mappings. Hit `\u003ccr\u003e` to play the selection,\n`\u003cesc\u003e` to close or `\u003cs-tab\u003e` to switch back to prompt focus.\n\nThe player controls and search mode mappings are available both with\nprompt and window focus.\n\n**Further documentation**\n\nTo open the vim documentation, run `:help thrasher`.\n\n## Installing\n\n**[Pathogen](https://github.com/tpope/vim-pathogen)**\n\n`git clone https://github.com/pmeinhardt/thrasher.git ~/.vim/bundle`\n\nRemember to run `:helptags` to generate the help tags.\n\n**[Vundle](https://github.com/VundleVim/Vundle.vim)**\n\n`Plugin 'pmeinhardt/thrasher'`\n\n**[Plug](https://github.com/junegunn/vim-plug)**\n\n`Plug 'pmeinhardt/thrasher'`\n\n## Configuration\n\nYou can change the default key mapping for invoking Thrasher,\nsimply by adding `let g:thrashermap = \"…\"` to your `.vimrc` file.\n\nMake sure to add these options before executing `pathogen#infect()`,\ncalling `vundle#end()` or `plug#end()` – i.e. before loading the plugin.\n\n## Contributing\n\nThere are many ways in which you could contribute: Through code, by creating\npull-requests, but mainly by just providing me with feedback and\nyour thoughts on what to improve.\n\n## Thanks\n\nThis project boldly steals some user interface ideas from the very useful\n[ctrlp](https://github.com/ctrlpvim/ctrlp.vim),\na vim plugin which has been making my vim a lot more fun.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmeinhardt%2Fthrasher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpmeinhardt%2Fthrasher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpmeinhardt%2Fthrasher/lists"}