[Vim]Leader機能を利用して短い打鍵で任意の音声ファイルを再生する

2022.10.17

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

  • t_o_dと申します。
  • Vimでファイルを編集中に音声を流したいですが短い打鍵で済むようにしたいです。
  • そこで今回はLeader機能を利用してショートカットで任意の音声ファイルを再生する方法を記録いたします。

環境

  • mac OS Monterey 12.2
  • vim 8.2

結果

  • 今回は以下の要件で再生します。
    • 「スペース + m」キーでの再生
    • 音声ファイルは任意のディレクトリに格納
    • 再生中でも編集できるようにバックグラウンドで再生

手順

音声ファイルの準備

  • 再生対象の音声ファイルを用意します。
    • 例ではsample.wavを利用。
  • 用意した音声ファイルを任意のディレクトリに保存します。
# 音声ファイルディレクトリ作成
mkdir ~/sound

# ファイル移動
mv sample.wav ~/sound/

vimrcの設定

  • 下記の内容を.vimrcへ追記いたします。
" 「スペースキー + 他キー」で利用できるようにする
let mapleader = "\<Space>"

" vim上で「スペースキー + m」でリネーム処理が行えるようにする
map <leader>m :call PlaySound()

" 音声ファイルパス
let s:soundpath = '~/sound/sample.wav'

" 再生処理
function! PlaySound()
  if has('mac')
    silent! exec '!afplay ' . s:soundpath . ' &'
  elseif exists('*sound_playfile')
    call sound_playfile(s:soundpath)
  else
    echo "再生環境がありません。"
    return
  endif
  redraw!
endfunction
  • 追記後、以下のコマンドでvimrcを読み込む。
source ~/.vimrc

再生

  • 再生できる環境が整いましたので、確認するために任意のファイルをvimで開きます。
  • 開いたら画面内で「スペースキー + m」を押して再生できることを確認します。
    • ※再生中に編集も可能か確かめます。
  • 再生できたら完了です。

参考

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。