Humanity

Edit the world by your favorite way

空白をスキップして縦に移動するマッピングを提供する Vim プラグイン作りました

github.com

空白をスキップして縦移動するマッピングを提供するシンプルなプラグインを作りました。
言葉で説明すると分かりにくいと思うのでそれぞれスクリーンショットを貼ります。

non-blank mappings

関数定義・if・while などブロック・ステートメントの対応する始まり・終わりに飛びたい時などに使ってます。

" マッピング例
nmap sj <Plug>(columnskip:nonblank:next)
omap sj <Plug>(columnskip:nonblank:next)
xmap sj <Plug>(columnskip:nonblank:next)
nmap sk <Plug>(columnskip:nonblank:prev)
omap sk <Plug>(columnskip:nonblank:prev)
xmap sk <Plug>(columnskip:nonblank:prev)

Python とかでは役に立たない…ように見えるかもしれませんが、「上 (下) に空白をスキップしてぶつかる行まで飛びたい」という風に考えると割と便利に使えています。

first non-blank mappings

トップレベルに定義した関数等の始まり・終わりに飛びたい時などに使ってます。

" マッピング例
nmap ]k <Plug>(columnskip:first-nonblank:next)
omap ]k <Plug>(columnskip:first-nonblank:next)
xmap ]k <Plug>(columnskip:first-nonblank:next)
nmap [k <Plug>(columnskip:first-nonblank:prev)
omap [k <Plug>(columnskip:first-nonblank:prev)
xmap [k <Plug>(columnskip:first-nonblank:prev)

どんな時に便利か

個人的には編集する言語に限らず汎用的に使えるマッピングを導入したい派なので、 textobj-function などの言語ごとにしか使えないマッピングはあまり導入したくはなかったりします(この言語では使えるか使えないかを考えるのが面倒)。
なのでインデント・空白等、なるべくどのテキストフォーマットでも使える構造に着目した結果、このようなマッピングを作りました。

どちらも vimrc で温めていたもので、ふと紹介したらプラグイン化してほしいとの事だったので今回プラグイン化しました。ぜひご利用ください。

身の回りのタスクを GitHub Project で運用してみたら案外良かった(あと Google Keep も)

こんな感じで割とずぼらな自分でも、GitHub で管理すると見える化できてモチベーションにもなるのか、割とちゃんと運用できています。

f:id:tyru:20200423055029p:plain

Google Keep

ちなみに Google Keep も併用しだして、リマインダーとして使ってます。運用方針はこれ。

そもそも TODO リストとリマインダーは別物ですが、意識せず使うとついつい混同してしまいがち。
なので運用方針を決めておくと「これはどちらに登録すべきか?」が明確になって迷わずに済む。

  • リマインダー = リマインドするもの。アラーム + メッセージ。スヌーズ機能必須(よく先延ばしするので…)
  • TODO リスト = 次に自分が行動する指針となるもの

ちなみに Windows タブレットに常時表示するためにモニターアームに立て掛けたりもしたんですが、

  1. すぐ電源が切れたり(電源オプション変えても再現する。古いタブレットなのでもう寿命?)
  2. クラムシェル運用している MacBook Pro のモニタも開いてデュアルにしたい時、タブレット用のマウンタが邪魔で外部モニタを上にスライドできない
  3. 結局見なかったり

と微妙だったのでやめました。

2番目は何が言いたいかというとこんな感じ。
MBP も開く場合は上にスライドしないと被るんですよね(写真暗くて笑う)

f:id:tyru:20200423061547j:plain
普段(クラムシェル)

f:id:tyru:20200423061612j:plain
デュアル時(ちょっとモニタを手前に移動しないと後ろが引っかかる)

ちなみになんでいつもデュアルモニタにしないのかというと、何となくメインモニタ(でかい外部モニタの方)が上にあると疲れる気がするからです。
横置きにすればいいじゃないかとも言われそうですが、横は横で Windows 用のモニタがまた縦に2台あるのでスペースがありません。
ただずっと試した訳ではないので一度デュアル運用して首が疲れるか検証した方が良さそう。

Slack の /remind

以前は Slack の /remind をリマインダーとして使っていたのだけど、それだと「20分後」「1時間後」「3時間後」「明日」「来週」しか選べなかったりして厳しかった。
ちなみにいつからか分からないけど、多分この前の UI 変更と一緒に「カスタム」が追加されて1時間ごとに指定が可能になりました。
ただ分単位までは指定できないので依然としてちょっとつらい…
(ちなみに /remind ならできるのでは?という意見ももらいましたが、登録したりスヌーズスマホで行うこともあり /remind の記法をスマホで打つのがちょっと面倒だったので)

f:id:tyru:20200423060006p:plain f:id:tyru:20200423060017p:plain

追記: これスヌーズだとカスタム選べないんですね…(特に前と変わってない)

f:id:tyru:20200423150507p:plain

Amazon の置き配指定を無効にする方法

まず設定などで恒久的に変えるのは無理です。つまり注文ごとに指定する必要があります。

変える方法には2つあり、

  1. 注文時に変える方法
  2. 注文詳細画面から変える方法

自分は注文時に指定し忘れたので、2の注文詳細画面から変える方法を書きます(書いてるページが見当たらなかった)。

1. 注文時に変える方法

こちらのページに載ってます。

Amazon商品の玄関への「置き配」を解除(拒否)する方法 | PLUS1WORLD

2. 注文詳細画面から変える方法

「置き配指定」をクリック

f:id:tyru:20200416171507p:plain f:id:tyru:20200416171531p:plain

「本日到着予定」のメールからでも注文詳細画面にいけます。
追記 2020/04/16: 変更可能になるまで時間がかかるようです。↑のメールが届いたら変更可能みたいですね。

f:id:tyru:20200416171352p:plain f:id:tyru:20200416171403p:plain


ちなみに買ったのはこれ。
PC, Switch / PS4 の音を同時に聴くためと、主にサラウンド、イコライザのために MixAmp を愛用してて、このヘッドセットは MixAmp の機能 + Bluetooth ヘッドセットが付いてます。
Base Station っていう充電兼入出力ポートを備えたスタンドが付いてて、USB、光端子、3.5mmステレオミニジャック(普通のイヤホンジャック)等から入力できる。
サラウンド機能を有効にすると本当に「モニタから音出てない!?」って一瞬ビビるくらいに音が立体的になるのでぜひ体験してほしい。
聴いた限り MixAmp よりも更に立体的になってる気がして最初本気でビビった。

リングフィットアドベンチャーをやる時有線ヘッドセットだとひっかけてガターンとなることがたまにあったので無線ヘッドセットにしたかった。
しかも Astro から出てるなら買わない理由がない(信者)。

ヘッドセットから音量・イコライザ選択等全ての操作を可能で、マイクも持ち上げるだけでミュートになる(これは自分が以前使ってた GSP 300 と同じ)
マイクのミュート機能はそれなりのヘッドセットだったら大体ついてるはず。

ヘッドセットはビデオ会議やゲームの VC を頻繁に使う人だったら絶対便利なので試してみるといいです。
最近音環境含めデスク周りをかなり改善してるのでいつか記事書きたい。