hiramekunのブログ

プログラミングと読書と

プログラマの開発のおすすめツールまとめ

はじめに

自分が開発に使っているツールで、これは外せない!というものを集めました。macなので、windows/linuxの方には合わないかもしれません。 また、少しでも開発速度をあげたい思いから、オススメのものや代替ツールなどありましたらコメントをお願いいたします。

ツール一覧

この記事で取り上げているツール一覧です。(fish shellはツールとは呼べませんが。。。)

  • Karabiner-Elements
  • BetterTouchTool
  • HyperSwitch
  • fish shell
  • iTerm2
  • Vimium

キーバインド関連

Karabiner-Elements

https://github.com/tekezo/Karabiner-Elements 言わずと知れた(?)pcのキーを自在にカスタマイズできるツール。 自分は以下の設定を書いています。

  • 英数を他のキーと共に押した時はcmdに、かなを他のキーと共に押した時はctrlにする。
  • spaceキーを他のキーと共に押した時はleft-shiftとして扱う。(これは親指でshiftキーを押せるので非常にタイピングが早くなります。)
  • left-ctrlを単独で押した時はescに。(vimなどで頻繁に押すのでここにしています。)
  • ctrl + f, b, n, pを、矢印キーに。(emacsキーバインドですね。)

こちらに自分の設定ファイルがあるので、ご自由にお使いください。 https://github.com/hiramekun/dotfiles/blob/master/karabiner.json

BetterTouchTool(通称BTT

超便利!「BetterTouchTool」を使いたおすための7つの設定。[Mac] windowsでは標準でアプリを左半分に表示などができるのですが、macにはありません。それを補ってくれるのがBTTです。 以下のような設定をしています。 image.png

  • ウィンドウを右半分に寄せる:cmd + shift + r
  • ウィンドウを左半分に寄せる:cmd + shift + l
  • ウィンドウを最大化:cmd + shift + m

こんな感じに左でサイトを見ながら、右でコーディングをしたりしています。 image.png

さらにですが、windowのサイズ変更だけではなく、ショートカットにアプリを割り当てることができます。自分はよく開くアプリに全てコマンドを振って、開きたいアプリを一発で開けるようにしてあります。

HyperSwitch

こちらのサイトが参考になりました。 Macアプリ「HyperSwitch」ウインドウ単位で切り替え これは、通常のcmd + tabだとアプリケーション単位での切り替えしかできないのですが、それをwindow単位にしてくれるというものです。ブラウザアプリがwindowを2つ開いている時など、これを使うと自分の開きたいwindowに移動することができます。

地味に嬉しい機能

  • cmd + tabを押した後に、cmdを押したままhjklを押すと(vimキーバインドのようですね)、選択中のwindowを移動できる。
  • ctrl + tabを押すと、同一アプリ内のwindowだけが候補に表示される。

ターミナル関連

fish shell

zshと比べて設定が簡単、綺麗なシンタックスハイライト、強力な入力補完など、bashの次に触るshellとしてかなり適当だと自分では思っています。 例えば、fishのconfigファイルを編集する時ですが、今までの履歴を遡って候補を出してくれます。この次にtabもしくはctrl + eを押すことで入力が完了するので、頻繁に同じコマンドを打つ方は非常にその恩恵に授かれます。 image.png

こちらのサイトが非常に参考になりました。 詳解 fishでモダンなシェル環境の構築

注意点

以下の点が、bashzshとは大きく異なります。

  • 文法や環境変数の設定方法(empty enterなどをzshで書いていた方は少し移行が面倒かもしれません)。
  • pythonを使う方は、anacondaのactivateコマンドが最初は効かない。
    • この一行をconfigファイルに追加することで動くようになります。source (conda info --root)/etc/fish/conf.d/conda.fish
  • 新しいshellなので、ググった時に情報が少ない。

iTerm2

https://www.iterm2.com/ 言わずと知れたターミナルアプリですね。色が綺麗にでる、カスタマイズが効く、タブの複製が簡単など標準のteminalよりも良い点がたくさんあります。

  • windowを横に分割:cmd + d
  • windowを縦に分割:cmd + shift + d
  • windowの移動:cmd + [ または cmd + ]
  • windowの複製:cmd + t
  • windowを閉じる:cmd + w
  • タブ移動:cmd + [タブ番号]

Chrome関連

Vimium

ブラウザの操作をキーボードだけで行ってしまえるプラグインです。 ページのスクロールから、リンクのクリックまでキーボードでできてしまうという優れものです。 iでリンク候補が表示され、次にその文字をタイピングするとリンクをクリックしたのと同じ挙動になります。 image.png

こちらの記事が非常に参考になります。 Chromeをvimライクに使えるようにするvimium