Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
cmus and vim
Search
Matthias Günther
February 19, 2017
Technology
0
880
cmus and vim
The benefits, usage and tricks with cmus + integration in vim.
Matthias Günther
February 19, 2017
Tweet
Share
More Decks by Matthias Günther
See All by Matthias Günther
copymatch_and_dadbod.pdf
wikimatze
0
640
devdocs - offline language programming support
wikimatze
0
410
Flog, a New Git Branch extension
wikimatze
0
620
Cmus
wikimatze
0
73
vimfest-2016-opening-keynote
wikimatze
0
67
Get productive with vimtex for LaTeX
wikimatze
0
680
Weechat - another IRC client
wikimatze
0
1k
Synchronize gitter and IRC
wikimatze
0
180
Vimfest
wikimatze
0
270
Other Decks in Technology
See All in Technology
おやつは300円まで!の最適化を模索してみた
techtekt
PRO
0
210
Webアクセシビリティ入門
recruitengineers
PRO
3
1.4k
Preferred Networks (PFN) とLLM Post-Training チームの紹介 / 第4回 関東Kaggler会 スポンサーセッション
pfn
PRO
1
290
クラウドセキュリティを支える技術と運用の最前線 / Cutting-edge Technologies and Operations Supporting Cloud Security
yuj1osm
2
220
努力家なスクラムマスターが陥る「傍観者」という罠と乗り越えた先に信頼があった話 / 20250830 Takahiro Sasaki
shift_evolve
PRO
2
120
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
2
270
DuckDB-Wasmを使って ブラウザ上でRDBMSを動かす
hacusk
1
130
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
4
770
Figma + Storybook + PlaywrightのMCPを使ったフロントエンド開発
yug1224
10
3.4k
Oracle Cloud Infrastructure:2025年8月度サービス・アップデート
oracle4engineer
PRO
0
150
モバイルアプリ研修
recruitengineers
PRO
5
1.6k
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
4
930
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
462
33k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
The Invisible Side of Design
smashingmag
301
51k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
The Language of Interfaces
destraynor
160
25k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Speed Design
sergeychernyshev
32
1.1k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Transcript
cmus and vim Matthias Günther
cmus (1)
Benefits customizable instant startup, even with thousands of tracks easy
to use directory browser
Browse file system and add tracks 5 … go into
the browse mode a … add selection to library D … remove selection from library
Artist view 1 … go into the mode <space> …
to see albums
Library view 2 … library view (sorted)
Play commands (2)
Play commands I b … plays next track z …
plays previous c … pause, continue x … restart track p/P … change order of entries next/previous
Play commands II +|- … increase, decrease sound C-f|C-b …
page-down,page- up C-r … repeat current track
Play commands statuschanges I m … cycle through play modus
(all, album artist) M … switch modes without interrupting the currently- playing song r … repeat the playlist when ended (R in statusline)
Play commands statuschanges II s … shuffle (S in statusline)
C … toggle continue playing the next song (C in statusline)
Fill queue and playlist y … add the selected song
to playlist (3) e … mark the songs to the queue (4) (FIFO)
Useful commands (3)
Useful commands I :add ~/music … same as ‘a’ :colorscheme
… will change the colorscheme :clear … will clear the current list
Useful commands II :save ~/music/ playlist.lst :load ~/music/ playlist.lst :unmark
… clean the marked songs q … quit cmus
Useful commands III :invert … select all tracks which are
not marked :prev-view … toggle the last two views
config cmus in ~/.config/cmus rc … configuration autosave …
My config unbind -f common E bind common E run
easytag {} unbind -f common + bind common + vol +5% unbind -f common - bind common - vol -5% # Vim like shortcuts to jump to the next/prev section unbind -f common ^N bind common ^N player-next unbind -f common ^P bind common ^P player-prev
Get the cover ALBUM_PATH=/$(cmus-remote -Q | grep file | cut
-d'/' --complement -s -f1 | rev | \ cut -d'/' --complement -s -f1 | rev | sed -e 's/\s/\\ /g' | \ sed -e 's/(/\\(/g' | sed -e 's/)/\\)/g')/cover.jpg ALBUM_NAME=$(cmus-remote -Q | grep -w 'tag album' | cut -d'~' --complement -f1 | \ cut -d' ' --complement -s -f1 | sed -e 's/\s/-/g') eval notify-send -i $ALBUM_PATH $ALBUM_NAME And the shortcut unbind -f common I bind common I shell bash ~/.config/cmus/album.sh
vim-cmus (4)
vim-cmus I :CmusCurrent … shows the information of current song
:CmusPrevious … plays previous song :CmusNext … plays next song
vim-cmus II :CmusPause … stop playing the current song :CmusPlay
… continue playing song :CmusStop … stop playing and go to the beginning
Thank you (5)
Images I (1): https://twitter.com/ gamesyouloved/ status/81790750591755468 8 (2): https://twitter.com/ realretroism/
status/81755907377634508 8
Images II (3): https://twitter.com/ gamesyouloved/ status/81679936420721869 4 (4): https://twitter.com/ gamesyouloved/
status/81637678552917606 5
Images III (5): https://twitter.com/ gamesyouloved/ status/81622573839122022 4