マウスを使わない開発環境を求めて

f:id:kawase-k:20211201020739j:plain

はじめに

これは「フィヨルドブートキャンプ Part1 Advent Calendar 2021」の1日目の記事です。

adventar.org

Part2もあります。

adventar.org

内容

本記事では自分の開発環境でマウスを使わずにプログラムを書きたいという願望を叶えるために個人的に取り組んでいることについて書いてます。とはいえ、ただひたすら自分がよく使っているコマンドを紹介しているだけなのでスラスラ読めますし、やや初歩的な内容になっているかもしれません。暇なときにでも、どうぞ…。

前提

github.com

開発環境

またコマンド紹介するために出てくるサンプルコードは、現在お世話になっているフィヨルドブートキャンプのソースコードをお借りさせていただきました。

github.com

コマンド紹介

説明文やスクリーンに表示されるコマンドは適時読み替えてください。

  • ^:Control
  • :Shift
  • :Option or Alt
  • :Command

ファイルを開く

++Eはサイドバーにあるエクスプローラーを開いてくれます。

Image from Gyazo

ファイルを階層別にたくさん開いている状態だと入力した単語にマッチした1番近いファイルにカーソルが切り替わることになるので、そのときは+Pを使ってファイル検索した方がいいかもしれません。

別ファイルに移動

^+Tabでファイル移動ができます。

Image from Gyazo

複数行のコメントアウト

commentary.vimというプラグインを使っています。

github.com

ビジュアルモードで選択範囲を決めてG+Cコメントアウトができます。

Image from Gyazo

1行の場合は、G+CCコメントアウトできます。

ターミナルを新規で開く

^++`で新規でターミナルを開けます。

Image from Gyazo

不要なターミナルは、exitで強制終了させることができます。
^+`でも新規で開くことができました。

別ターミナルに移動

++[でターミナル間の移動ができます。

Image from Gyazo

++]でも移動できます。

ファイルとターミナル間の切り替え

^+`でそれぞれのカーソル切り替えができます。

Image from Gyazo

ターミナルを表示させているだけに見えますが、カーソルがファイルから切り替わってくれるのでそのままターミナルでコマンドを実行することができます。

ファイル内の単語選択

++Lでカーソル上にある単語をすべて選択することができます。

Image from Gyazo

この状態でインサートモードに入ると単語をすべて置き換えることもできます。
あまり使ったことないのですが、+dだと選択範囲の指定ができるみたいです。

エクスプローラーの単語検索

++Fはサイドバーにある検索を開いてくれます。

Image from Gyazo

検索欄に単語を入力すると、エクスプローラー内検索をして入力した単語が書いてあるファイルを表示してくれます。

メニューの表示

^+Qでメニューを開けます。結構便利です。

Image from Gyazo

よく開いているエディターに移動するときに使ってます。

Vimコマンドについて

IDEVSCodeを使っているとしても、コードを書いたり消したり等の操作自体はVimを使うことになるので基本的な操作はできるようにしています。 下の記事はフィヨルドブートキャンプでメンターもしてくださっている伊藤さんの記事になるのですが、自分はこれを見てだいたいのコマンドを覚えました。伊藤さんいつもありがとうございます!

ちなみに検索・置換系のコマンドはいまだに使いこなせていません…。

qiita.com

ついでに自分がscrapboxにメモしているやつですが貼っておきます。

Vimコマンド - かわせの備忘録

VSCodeの方も一緒にどうぞ。

VSCode ショートカットキー - かわせの備忘録

見られてる〜となると綺麗に書きたくなるのでたくさん参考にしてやってください!

余談

本記事で紹介した開発環境をデフォルトの状態で使っているとぶち当たる不便な出来事があったのですが、それがつい最近解決したので、もし同じようなことで悩んでいる方向けに参考になればと思い紹介してみることにします。

移動コマンドが効かないんだけど…

VSCode拡張機能VSCode Neovimをインストールすると発生する事象で、h,j,k,lの移動コマンドを繰り返し入力することができないことがあります。

これについては、一応それらしき記載が公式のREADMEにも書いてありました。

On a Mac, the h, j, k and l movement keys may not repeat when held, to fix this open Terminal and execute the following command: defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false.
GitHub - vscode-neovim/vscode-neovim: VSCode Neovim Integration

原因は定かでないですが、macを使っていると繰り返し入力ができないみたいです。
その場合は、公式にも書いてある通り次のコマンドをターミナルで実行することで解決することができます。

% defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false

ターミナルの再起動をお忘れなく。

キースピード遅いんだけど…

こちらは単純にmacの設定を変更することで対応可能です。手順についてはフィヨルドブートキャンプのメンターの方に教えていただきました。ありがとうございます。

f:id:kawase-k:20211129161023p:plain
システム環境設定→キーボード

おまけ

せっかく(?)開発環境の記事を書いてみたので、自分の作業環境を毎日支えてくれるガジェット類の紹介もしてみようかと思います。

キーボード

満足すぎて初めてAmazonの購入品レビューを書きました。
最近は電池の消耗が激しいのかUSB接続して使っています。

ついでにカラーキートップも購入してました。

マウス

ネットサーフィンには欠かせない。トラックボールいい。

PCスタンド

自分が猫背にならないようがんばってくれてる。

ヘッドホン

ノイズキャンセリング機能が最高すぎてプログラミングをやるときというかは、休憩中ゆっくりしたいときに音楽流しながら使っています。(なんで紹介した)
強いていうならしっかりしたマイクが付いているせいか自分のボソボソした小さい声だと音声として拾ってくれなかったりします。発声練習がんばるしかない…。

チェア

長時間座っても苦にならない。
座面が広いので小柄な人にはおすすめできないかもです。

デスク

www.nitori-net.jp

昇降デスクは賛否両論あるかと思いますが僕は買ってみてよかったです。
電動式はなんとなく怖かったので手動式のにしました。このデスクは手でクルクル回して高さ調節するのですが、このめんどくささが眠気覚ましにちょうどいいです。


モニターについては家にあったお古をずっと使っているので新しいの絶賛募集中です。
Webカメラも欲しい。

おわりに

まとめ

本記事では自分がよく使っているコマンドついて紹介してみました。もっと紹介してみたかったのですが、なんやかんやVimコマンドが使えれば事足りることばかりでそういった記事は既にたくさん見かけるしな〜と。日々アウトプットされている方々に感謝です。

開発環境についてはタイトルにもある通りまだまだ模索中ですし、マウスを使わないとは言っていますが他にもっといい方法があるかもしれません。またこういったテック系の記事をこれまで書くことがなかったので、「間違ったことを書いていないかな」「誰得やねんw」などと不安が頭をよぎることがあったのですが、なんとか公開できてよかったです。

もしこんなコマンドもあるよ?もっと簡単にできるよ?実はこんな便利なプラグインがありまして…などとアドバイスしてくださる方がいらっしゃれば気軽に教えていただけると喜びます!

ひとこと

便利なコマンドがあれば随時アップデートしていきたいと思います〜。
最後まで読んでいただきありがとうございました!