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
860
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
630
devdocs - offline language programming support
wikimatze
0
400
Flog, a New Git Branch extension
wikimatze
0
600
Cmus
wikimatze
0
72
vimfest-2016-opening-keynote
wikimatze
0
66
Get productive with vimtex for LaTeX
wikimatze
0
670
Weechat - another IRC client
wikimatze
0
1k
Synchronize gitter and IRC
wikimatze
0
170
Vimfest
wikimatze
0
260
Other Decks in Technology
See All in Technology
生成AIで小説を書くためにプロンプトの制約や原則について学ぶ / prompt-engineering-for-ai-fiction
nwiizo
4
3.6k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
26k
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
110
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
4
170
生成AI時代 文字コードを学ぶ意義を見出せるか?
hrsued
1
730
250627 関西Ruby会議08 前夜祭 RejectKaigi「DJ on Ruby Ver.0.1」
msykd
PRO
2
370
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.4k
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
2
260
mrubyと micro-ROSが繋ぐロボットの世界
kishima
2
380
「良さそう」と「とても良い」の間には 「良さそうだがホンマか」がたくさんある / 2025.07.01 LLM品質Night
smiyawaki0820
1
430
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
200
PHPでWebブラウザのレンダリングエンジンを実装する
dip_tech
PRO
0
220
Featured
See All Featured
Bash Introduction
62gerente
614
210k
How to train your dragon (web standard)
notwaldorf
94
6.1k
Agile that works and the tools we love
rasmusluckow
329
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
940
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Building Applications with DynamoDB
mza
95
6.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
680
Unsuck your backbone
ammeep
671
58k
Automating Front-end Workflow
addyosmani
1370
200k
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