Mac経験ゼロから始めるプログラミング学習Tips

はじめに
-
[生産性向上のための環境整備2020 - 03 【PR】 Lenovo Advent Calendar 2020](https://qiita.com/advent-calendar/2020/lenovo_env_03)の15日目の記事です。
昨日は、[@TomoyukiSugiyama](https://qiita.com/TomoyukiSugiyama)さんの[OSS+Dockerを利用して最速で社内インフラを整えるが、挫折の連続。だがめげない](https://qiita.com/TomoyukiSugiyama/items/81688d4efdd7cd70a692)でした。
明日は、[@Maku459](https://qiita.com/Maku459)さんの[開発もプライベートも効率化するGoogle Chrome拡張集](https://makumakuworks.hatenablog.com/entry/google_extension)です。

この記事は4ヶ月のプログラミング学習を経て、来年1月からエンジニアになる人が書いてます。
学習中に得た知見で、最初のうちに知っておきたかったTipsを中心にまとめてます。

目次
-
[1. Mac操作](#1-mac操作)
[2. Visual Studio Code](#2-visual-studio-code)
[3. その他](#3-その他)


## 1. Mac操作
プログラミング学習を始めるにあたり、初めてMacに触れる方も多いと思います。
実用的なMacの特徴をまとめます。
### Finder
<img width="100px" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/e770f69e-eac6-2f70-05e3-7794dbbb53a7.png">
Finderはファイル・フォルダ管理を行うアプリです。Windowsのエクスプローラーのようなものです。
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/d1bdd179-8191-01a0-3e0a-1e71c0c1f709.jpeg">

Macのディレクトリ構成はこんな感じです。

```
/
├── Applications
├── System
:
└── Users
    ├── Shared
    └── ユーザー名  #👈各ユーザー専用ディレクトリ
        ├── Applications
        ├── Desktop
        ├── Documents
        ├── Downloads
        ├── Library
        ├── Movies
        ├── Music
        ├── Pictures
        └── Public
```

　
### Spotlight Search
**⌘+Space**
アプリの切替ができます。ホームポジション崩さずにすむのでおすすめです。

> Spotlight を使えば、Mac 上の App、書類、その他のファイルを探せます。Spotlight の検索候補機能を使って、ニュース、スポーツ、映画、天気などの情報を入手することもできます。
[Mac で Spotlight を使う - Apple サポート](https://support.apple.com/ja-jp/HT204014)

<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/fcdd9256-ab6a-5d69-b305-e60ef541005b.gif">


 

### 起動中のアプリケーションを切り替える
**⌘+Tab**
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/a2fe8398-450d-3cba-989f-ca0fa1e7b61d.gif">


他にも色々ショートカットがあります。
[Mac のキーボードショートカット - Apple サポート](https://support.apple.com/ja-jp/HT201236)

## 2. Visual Studio Code
Visual Studio CodeはMicrosoftが開発したソースコードエディタです。
略してVSCodeと呼ばれます。
特徴としては、
・他のエディタと比べて軽い
・プラグインをインストールしてカスタマイズできる
・無料
など。

VSCodeはシェアが高く、情報量も多いです。
最初のエディタとしては、VSCodeが無難だと思います。
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/4cc0347d-ec80-cb3a-5916-8b5f0705fcbe.png">
[Stack Overflow Developer Survey 2019](https://insights.stackoverflow.com/survey/2019#technology-_-most-popular-development-environments)



### VSCode上でターミナル起動
**Ctrl+`**
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/733c38d9-6655-cb11-9c2f-e6823ee6043e.gif">


### サイドバーのトグル
**⌘+B**
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/14877b60-7d5e-7ca5-43f8-78847b3b4c67.gif">


### カーソル移動
**・上下左右**
**Ctrl+P**, **N**, **B**, **F**
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/de78f85a-fb5a-6f57-9de3-1a00b59adbec.png">

**・行または段落の先頭に移動**
**Ctrl+A**
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/8f5a4b0d-8231-ed5e-f282-f4828ae1c7ef.gif">

**・行または段落の末尾に移動**
**Ctrl+E**
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/d8d879ef-87c3-6865-9540-2c4da430ced1.gif">


### 文字削除
**・挿入ポイントの右側にある文字を削除**
**Ctrl+D**
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/ffc6a15f-e464-db2a-a16e-709a7e75374d.gif">

**・挿入ポイントの左側にある文字を削除**
**Ctrl+H**
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/68ec0843-449d-0737-08a9-8f06b267a0df.gif">


### 単語選択
**⌘+D**
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/d8ebe085-841f-39d0-68b1-fc50ca989b14.gif">


### ファイル内検索
**⌘+F**
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/f0b92059-3cc5-65b7-abdf-8d096d897a18.gif">


### 行コピー → 行貼り付け
**⌘+C**→**⌘+V**
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/eb43cda1-a676-7968-5f1c-799d7b3ac7f8.gif">


### 行切り取り
**⌘+X**
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/29305939-7561-6dbe-8210-5be724f6192d.gif">


### ファイルを開く
**⌘+O**
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/9e4d8ee5-9bb8-50ba-17dc-9ace0196e25a.gif">


### ウィンドウを閉じる
**⌘+W**
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/c18ecfab-4ec6-8659-ebc9-20e381abb4cf.gif">


### ウィンドウの分割表示
<img width="80%" alt="demo_openbd_browser_url" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/35f39848-23f6-364f-6902-a2e2f82fd898.gif">

他にもたくさんあるみたいです！
[Visual Studio Code キーボード ショートカット](https://qiita.com/oruponu/items/ae9c720d4522c1606daf)
[Top 20 VS Code Shortcuts - YouTube](https://www.youtube.com/watch?v=4xA5JePvCJc)



## 3. その他
ここからは、学習を気持ちよく続けるのにおすすめな個人的Tipsを紹介します。

### 外部ディスプレイ
ターミナルとVSCode、chromeどれも見比べたいって時に、もう1つディスプレイがあると便利です。


### 散歩
家の周りを歩くだけでもスッキリします。
思考の整理と軽い運動にもなって一石二鳥


### 何か作りたいものをつくる
作りたいものがあると、モチベーションがとても高まります。
世間一般から見て凄いものじゃなくて全然いいです。
今まで出来なかったことが、出来るようになるとめっちゃ嬉しいですよね。

以下の記事もおすすめです。
[爆速で成長する王道のプログラミング学習法を紹介！プログラミングにはやってはいけない勉強法がある！？ | 東京フリーランス](https://tokyofreelance.jp/how-to-study-programming/)


### connpassのイベントに参加する
**[connpass](https://connpass.com/)**は、エンジニアをつなぐIT勉強会支援プラットフォームです。
勉強会やセミナーなど無料で参加できます。

興味があるイベントを聴講するだけでも刺激になりますし、
実際にもくもく会などに参加して、エンジニアの方とお話するのもとてもお勧めです。

### 小さな目標を立てて達成する
これにハマると学習効率が断然高まります。

小さな目標と、達成条件を決めます。
例えば「30分でこの機能を実装する」、「今日1日、矢印キーを使わない」、「毎朝5時に起きて、友達にLINEで報告する」とか。

これは自分が好きなゲーマーの方が心がけていて、とてもいいなと思ったので意識して実践しています。
小さな目標でも達成すると嬉しいし、次の一歩も踏み出しやすいので、継続して楽しく学ぶことにつながります。

### Mouse Dictionary
Chrome拡張の高速な英語辞書ツールです。
神
[Chrome拡張の高速な英語辞書ツールをつくりました(Mouse Dictionary)](https://qiita.com/wtetsu/items/c43232c6c44918e977c9)
![cf2ebd63273a612c09c01a86a8ff254c.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516687/756ae238-57df-70bb-a4a2-2be976d5c918.gif)

### Kindleの良く使うショートカット
次ページ Space
前ページ Shift+Space


おわりに
--
何か一つでも参考になれば幸いです。
では、良いプログラミングライフを！！

P.S. LenovoさんのカレンダーなのにMacを薦めてごめんなさい！🙇‍♂️