僕の競プロ環境(2018/4現在)

競プロ初めて1年が経ちました.

まだ全然実力が付いてないのですが,RUPC以降精進しまくってるので伸びると信じてます.

f:id:wheson:20180421114205p:plain

ちょうどMacBookAirを買って1年にもなり,競プロ環境が整ってきた気もするので,現在の競プロの環境を紹介します.

環境

現在競プロをする時に使っているのは以下のものです.

  • iTerm2
  • Neovim

iTerm2

これはターミナルです.⌘Dで左右に画面を分割できるので良いですね.

f:id:wheson:20180421114233p:plain

shellはfishです.

これは最初からコマンド補完機能やら付いていて,文字入力をサボることが出来るのでいいです.

fishのプラグインで入れているものは以下のものです.

  • z (雑にディレクトリ移動ができる)
  • agnoster (おしゃれなテーマ ※要powerline font)

Neovim

エディタとしてNeovimというものを利用してます. iTerm2上で起動します.

neovim.io

理由は特にないです.

色々と便利にしていったのでこれ以外で競プロ出来ないくらいになってしまいました.

プラグインとして色々入れてますが,ここでは競プロ時に利用しているものだけを紹介します

  • deoplete
  • neosnippet
  • ale

deoplete

github.com

補完してくれるやつです.次に紹介するneosnippetと連携してます.

neosnippet

github.com

スニペット機能を利用できます.

独自にスニペットを登録することができ,僕はテンプレートとライブラリを登録して,使う時にさっと展開してます.

例えばこう書いて f:id:wheson:20180421115037p:plain <C-k> f:id:wheson:20180421115044p:plain

~/.config/nvim/snippets/cpp.snipスニペットを書くことで登録できます.

ただそうすると,cpp.snipがかなり膨大になるのでオススメしません.

そこでsnipファイルを分ける方法があります.

cpp.snipinclude cpp/*.snipと書くと,cpp.snipと同じディレクトリにあるcppディレクトリ以下の*.snipファイルをincludeしてくれます.

これをすると競プロライブラリをいい感じに管理できるようになります.

僕は以下のリポジトリcppディレクトリ以下に置いています.

github.com

現在は競プロライブラリを随時増やしていってる途中です.

ale

aleは非同期コードチェックをしてくれるプラグインです.

github.com

コーディング中に色々と指摘してくれるので,コンパイルをせずにエラーを潰すことが出来ます.

最後に

競プロはいいぞ