プログラミング初心者の時に知っておきたかったこと

<!-- サムネ -->
# はじめに

こんにちは！
adventカレンダー13日目を担当させていただく三浦です。

本来、僕のブログで紹介させていただこうと思っていたのですが、不具合が見られたのでQuitaにて少し手を加えて投稿し直しています！
一応[こちら](http://leandroblog.com/programming-cs/tips/)からリンク先に飛べます。
初めて記事に動画を埋め込んだのですがYouTubeの動画じゃないため、サーバーが重くなったのが原因かなと思います。。。。(;_;)

まあ、そんなことは置いといて、僕が何について書くかを説明していきます！

## なんの記事？
プログラミング初心者がみて役に立つことを紹介したいなと思ったのですが、プログラミングを始めたばかりの時は何が知りたいと思いますか？

僕は、すぐには思いつかず、

「う〜ん、プログラミング初心者が知って得することか〜」と悩んだ末に、僕がプログラミングを始めたばかりの時に悩んでいたことを思い出しました。

それは「操作」です。

僕がプログラミングを始めたばかりの時はパソコンにも慣れていなくて、エディタも使い慣れていませんでした。プログラミング学習を効率よく進めるために、まずは操作に慣れたいなという意思が強かったため、macのショートカットなどについて検索した記憶があります。

そこで、今回は僕がそうだったように「まだ操作に慣れていないんだ〜」という人のために、役に立つショートカットやTipsを、みんなが知っているものから、意外と知られていないものまで、まとめていきたいと思います。また、この記事は随時更新していく予定です。さらっとみてみて、「役に立ちそう！」と思うものがあれば忘れないようにブックマークに保存しておくといいかもしれません。

<!-- 目次 -->

<!-- Mac
エディタ
emmet -->


<!-- h2 -->
# Mac

僕がMacを使っているので、Windowsの方には申し訳ないですが
ここではMacの操作において使える操作について紹介していきます。

<!-- h3 -->
### アプリの切り替え(⌘+tab)

⌘+tabで起動しているアプリ一覧が表示され、`⌘+tab`を押すたびに右に移動し、アプリを切り替えることができます。
また、さらにshiftを追加で押すことで、左に移動します。

- `⌘+tab `      :右
- `⌘+shift+tab` :左

<!-- h3 -->
### Desktopのwindow一覧
　ここから少しトラックパッドの説明になります。

`システム環境設定 > トラックパッド`からトラックパッドの設定が見れます。

三本の指をトラックパッドに当て、上にスライドすると、現在のDesktopで開いている全てのアプリの全てのウィンドウを一覧表示できます。

<!-- h3 -->
### アプリのwindow一覧

三本の指をトラックパッドに当て、下にスライドすると、現在開いているアプリの全てのウィンドウを一覧表示できます。

<!-- h3 -->
### desktop表示

トラックパッドで四本の指を広げるように動かすとDesktopを表示することができます。
これが結構使えて、Desktopにファイルをおいて作業している時にwindowが多すぎて、Desktopにあるファイルが見えない時とかには役に立ちます。

<!-- h3 -->
### Spotlight(検索)
検索機能を活用すると探し物が一発で見つかります。計算量がO(n)からO(1)になります。絶対使った方がいいです。

`⌘+space`で起動して文字を打ち込むだけで、アプリを起動したり、ディレクトリやファイルを開いたり、ブラウザでの検索も。

<!-- h3 -->
### Finder検索
「探し物はディレクトリやファイルだけなんだ」という人はFinderの検索機能を使いましょう。

`option+⌘+space`で起動できます。

<!-- h2 -->
# textエディタ

ここからはtextエディタの操作効率を上げてくれるTipsを紹介します。
脳みそに手が追いつかないという人は少しでも早くコードを描けるように活用してみましょう！
<!-- h3 -->
### お馴染みのショートカット
`⌘ + C` : コピー
`⌘ + V` : ペースト
`⌘ + X` : 切り取り
`⌘ + A` : 全選択
最初は、これだけでも十分です。

<!-- h3 -->
### 行選択

ダブルクリックで単語選択。トリプルクリックで行選択。

これ、知ってる人は知ってるけど、知らない人は知らないですよね。僕も実はつい最近まで知りませんでした。

<!-- h3 -->
### カーソル移動(⌘ + 矢印キー)

- `⌘ + →・←`　:行の一番右、または左に移動できます。
- `⌘ + ↑・↓`　:全体の一番上、または下に移動できます。

さらに⌘+shift+矢印キーのようにするとカーソルから移動した分だけ選択できます。

<!-- h3 -->
### 単語ごとに移動 (`option + →・←`)

カーソルを単語ごとに移動させます。

さらにshiftを付け加えると単語ごとの選択ができます。(`option + shift →・←`)

<!-- h3 -->
### 行移動　(`option + ↑・↓`)

カーソルのある行を移動させることができます。

<!-- h3 -->
### 同じ行を追加(`option + shift + ↑・↓`)

カーソルのある行と同じものをを下に追加、または上に挿入します。

<!-- h3 -->
### 行消去(`⌘ + delete`)
行消去という名前にしてありますが、正しくはカーソルのある位置から行の最初まで全消去します。
でも、タイピングしてる時はたいていカーソルは一番右にあるのでそんなに気にしなくても大丈夫。


<!-- h3　-->
### 文字列検索(`⌘ + F`)

「あの変数どこだっけな〜」っていうような時に役に立ちます。
入力した文字列があればハイライトで表示され、該当の文字列をreplaceすることもできます。

<!-- h3 -->
### 同じ単語を複数選択(`⌘ + D`)
カーソルを合わせた単語と同じ単語を検索して新しいカーソルで選択できます。
⌘ + Fでreplaceするのもありですがこっちも全然ありですね。


<!-- h3 -->
### 複数選択(`option + クリック`)
optionを押しながら新たにカーソルをおきたいところをクリックすると新しいカーソルが配置されます。


これのいいところはそれぞれのカーソルがコピーした物を別々に記憶しているところです。
classのコンストラクターを定義するときに役に立ちます。動画が見せれなくて残念です。

<!-- h2 -->
# Emmet
もし、あなたがHTML/CSSを素早く書きたいと心から願っているなら、emmetを今すぐ使うべきです。
emmetはショートカットキーをエディタに入力することで自動補完してくれるプラグインです。VSCodeにはあらかじめ入っているみたいです。
emmetも動画を撮影したのですが、quitaには載せれません。。
でも、[公式の動画](https://docs.emmet.io/)があるのでこっちを見た方がいいかもしれません！
気になるキーの記述の仕方は[チートシート](https://docs.emmet.io/cheat-sheet/)からどうぞ

<!--h2  -->
## 終わり
せっかく撮影した動画をお見せできなかったのは結構辛いですが、ここで終了です！
役に立つ情報はありましたか？あったなら嬉しいです！
逆に「いやいや、これ載せとかなきゃダメでしょ！」っていうものがあればどこからでもいいので連絡ください！

以上！