Note

3年後の自分のために書いています

VSCode の One Dark Pro のサイドバーの色を調整する

デフォルトだと選択されているファイルやフォーカスされているファイルが見づらすぎてキツイので。

// settings.json
{
  "workbench.colorCustomizations": {
    // 現在選択されている(開かれている)ファイルの背景
    "list.activeSelectionBackground": "#777",
    // フォーカスされているファイルの背景
    "list.focusBackground": "#555"
  },
  "workbench.colorTheme": "One Dark Pro"
}

参考

https://code.visualstudio.com/api/references/theme-color#lists-and-trees

Amazon や Wikipedia の URL を短縮する方法

URL を共有する時にとても便利なやつ。

ちなみに自分は Amazon に関しては必ずこの方法で、 Wikipedia に関しては余裕があればこの方法で URL 共有してます。(メールや Slack で長い URL が来るとウッ、、ってなるので)

詳細は 参考 で挙げたページに書いてるので、そちらをご覧ください。

Amazon の URL を短くする

例: 『いちばんやさしいデータフィードマーケティングの教本』

Before

https://www.amazon.co.jp/%E3%81%84%E3%81%A1%E3%81%B0%E3%82%93%E3%82%84%E3%81%95%E3%81%97%E3%81%84%E3%83%87%E3%83%BC%E3%82%BF%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%AE%E6%95%99%E6%9C%AC-%E4%BA%BA%E6%B0%97%E8%AC%9B%E5%B8%AB%E3%81%8C%E6%95%99%E3%81%88%E3%82%8B%E5%BA%83%E5%91%8A%E5%8A%B9%E6%9E%9C%E3%82%92%E9%AB%98%E3%82%81%E3%82%8B%E5%95%86%E5%93%81%E3%83%87%E3%83%BC%E3%82%BF%E6%B4%BB%E7%94%A8%E6%B3%95-%E3%80%8C%E3%81%84%E3%81%A1%E3%81%B0%E3%82%93%E3%82%84%E3%81%95%E3%81%97%E3%81%84%E6%95%99%E6%9C%AC%E3%80%8D-%E6%9D%89%E5%8E%9F%E5%89%9B/dp/4844381512

After

https://www.amazon.co.jp/dp/4844381512/

💡 https://www.amazon.co.jp/dp/10桁のコード/ 以外は全部消して OK です。

Wikipedia の URL を短くする

例: 「インターネット広告」

Before

https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E5%BA%83%E5%91%8A

After

https://ja.wikipedia.org/?curid=1740787

💡 https://ja.wikipedia.org/?curid=ページID だけで OK です。

ページ ID の取得の仕方は以下。

左側の ページ情報 をクリック。 f:id:daido1976:20190524000637p:plain

基本情報の中に ページ ID があります。 f:id:daido1976:20190524000717p:plain

参考

zsh のリダイレクトによる上書き with prezto

おや、 > で上書きできない?

$ zsh --version
zsh 5.7.1 (x86_64-apple-darwin18.2.0)
$ echo foo > bar.txt
$ cat bar.txt
foo
$ echo baz >> bar.txt
$ cat bar.txt
foo
baz
$ echo hoge > bar.txt
zsh: file exists: bar.txt
$ echo hoge >| bar.txt
$ cat bar.txt
hoge

シェルスクリプトでリダイレクトによる上書き防止 - Qiita

こちらに書かれていることと挙動が違うぞ?おかしいなーと思ったら prezto の設定 で CLOBBER が無効になっていました。

参考

zsh: 7 Redirection

シェルの環境変数にいい感じにクレデンシャルを渡す方法

例えば CLI アプリケーションを実行するのに何らかのクレデンシャルが必要な時、アプリケーション側で環境変数に対応してくれている場合はこんな感じでやるといいよと職場の方に教えてもらった。

自分は zsh を使ってるので、その前提で話を進めますがどのシェルでも大きく変わらない話のはずです。

ホームディレクトリ以下に .credentials 的なディレクトリを作り、クレデンシャル名と同じファイル名に値を書いておく。

# ~/.credentials
$ echo "INSERT_YOUR_USER_ID" > hoge_user_id
$ echo "INSERT_YOUR_ACCESS_TOKEN" > hoge_access_token

そして .zshenv などで環境変数にセットしてあげる。

# .zshenv

# environment variables
export HOGE_USER_ID=$(<~/.credentials/hoge_user_id)
export HOGE_ACCESS_TOKEN=$(<~/.credentials/hoge_access_token)

👆 は export HOGE_USER_ID=`cat ~/.credentials/hoge_user_id` 的な感じでも書けるようだ。バッククオート記法の方が sh との互換性があるそう。

これでOK。

$ echo $HOGE_USER_ID
INSERT_YOUR_USER_ID

でもそもそも環境変数にクレデンシャル入れるのセキュリティ的にどうなのって議論もあるようですね。

セキュリティ、環境変数、そして - diary.sorah

参考

変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス

neovim でステータスラインのメッセージを英語にしたい

neovim にしたらステータスラインのメッセージが「挿入」とか日本語になってつらいと思って、 vim のドキュメント 見ながら let $LANG='en'init.vim に追加したらヤンクがバグって複数行のヤンクができなくなった。

let $LANG='en_US.UTF-8' と書いたら解決した。

$ echo $LANG
ja_JP.UTF-8

WindowsMac では $LANG の値が違うのか…

参考

https://vim-jp.org/vimdoc-ja/mlang.html#multilang-messages

vim のインデントがおかしい時は filetype をチェックしよう

自動インデントも改行時のインデントもおかしい、、という時は :filetype indent on になっているか確認しましょう。

vim で適当なファイルを開いて :filetype コマンドで確認できます。

# こんな感じで表示される
filetype detection:ON  plugin:OFF  indent:OFF

ここでファイルを開いたまま :filetype indent on コマンドを打っても ON にはなりますが、すでに開いているファイルに対しては何も変わらない(変更後に開くファイルに対しては有効になる)ので .vimrc に以下を追記しましょう。

" .vimrc
filetype indent on

以下の書き方で同時に plugin も ON にできるようです。(defaults.vim ではこの書き方がされている)

" .vimrc
filetype plugin indent on

参考

https://vim-jp.org/vimdoc-ja/usr_05.html#vimrc-filetype

https://vim-jp.org/vimdoc-ja/filetype.html#:filetype-indent-on

https://vim-jp.org/vimdoc-ja/starting.html#defaults.vim