IDLEでPython3：基本操作・キーバインド編


　ここでは，IDLEの基本操作やキーバインドについてまとめていきます．効率的に作業するため，基本的なキーバインドは覚えてしまいましょう．
 
### 目次

* [キーバインドの確認・変更](#キーバインドの確認変更方法)
* [シェルウィンドウとエディタウィンドウ](#シェルウィンドウとエディタウィンドウ)
* [共通の操作](#共通の操作を見てみよう)
    * [基本操作](#基本操作)
    * [ファイルの操作](#ファイル操作)
    * [編集機能](#編集機能)
    * [ヘルプ機能](#ドキュメントを見てみよう)
* [エディタの操作](#エディタの操作を見てみよう)
    * [フォーマットの操作](#フォーマット)
    * [ファイルの実行](#実行)
* [シェルの操作](#シェルの操作を見てみよう)

# キーバインドの確認・変更方法
　[Options] ＞ [Configure IDLE] > [Keys] からキーバインドのセットを設定できます．
![IdleKeySettings01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144209/b19d6472-2a2b-c6f5-adee-a3b74e962d66.png)

　「Action - Key(s)」の表にキーバインドの一覧が記載されています．例えば「beginning-of-line - <Key-Home>」とあったら，「beginning-of-line」がAction(機能)で「<Key-Home>」が対応するキーを表します．これは「`Home`キーで行頭に移動する」という意味です．

　以下，Windows版のデフォルト「IDLE Classic Windows」キーセットについてご紹介します．それぞれの機能についてはPythonドキュメントの「[Python » 3.7.3 Documentation » The Python Standard Library » Graphical » IDLE][pydoc]」を参照してください．

# シェルウィンドウとエディタウィンドウ

　まず，IDLEにはShellウィンドウとEditorウィンドウがあり，提供される機能が異なっています．簡単に言えばShellウィンドウにはシェルをリスタートさせる，履歴を表示するなどの機能があり，Editorにはファイルを実行する，フォーマットを整えるなどの機能があります．また，ファイルを開く，保存する，元に戻すなど，両者に共通する機能もあります．

　ここでは共通の機能として基本操作，ファイル操作，編集機能，ヘルプ機能，Editorウィンドウの機能としてエディタ操作，Shellウィンドウの機能としてシェル操作というようにカテゴリ分けしてご紹介します．

# 共通の操作を見てみよう
## 基本操作
　カーソルの操作，改行などの基本的な操作について．
### カーソル移動
* 単語ごとに`Ctrl+←`で前，`Ctrl+→`で次に移動します．
* 段落ごとに`Ctrl+↑`で前，`Ctrl+↓`で次に移動します．
* `Home`|で行頭へ，`End`で行末へ移動します．
* `Ctrl+Home`でファイル先頭へ，`Ctrl+End`でファイル末尾に移動します．

### 削除
* `BackSpace`で前の文字を，`Ctrl+d`または`Delete`で次の文字を削除します．
* `Ctrl+BackSpace`で前の単語を，`Ctrl+Delete`で次の単語を削除します．
* `Return`で改行し，`Ctrl+j`で改行とインデントを挿入します．

## ファイル操作
　新規ファイル作成，ファイルを開くなど，[ファイル]から選べる操作です．

* `Ctrl+n`で新規作成，`Ctrl+o`でファイルを開く．
* `Alt+m`で既存のモジュールを開き，`Alt+c`でクラスブラウザを開きます．
* `Ctrl+s`で上書き保存，`Ctrl+Shift+S`で名前を付けて保存，`Alt+Shift+S`でコピーを保存します．
* `Ctrl+p`でウィンドウを印刷します．
* `Alt+F4`でウィンドウを閉じ，`Ctrl+q`でIDLEを終了します．

(参考：モジュールブラウザ) 
![ModuleBrowser02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144209/f553355f-a832-f98f-156b-57192cc21736.png)

## 編集機能
　[編集]から選べる操作です．コピー，ペーストなどのシンプルな機能から，補完などプログラミングに必須な高度な機能まで付いています．特に検索や置換，指定行までジャンプなどはよく使います．

### 基本的な編集機能

* `Ctrl+z`で元に戻す，`Ctrl+Shift+z`でやり直しです．1000回まで戻せるそうです．
* `Ctrl+c`でコピー，`Ctrl+x`でカット，`Ctrl+v`でペースト．
* `Ctrl+a`でファイル全体を選択，`Esc`で選択を解除できます．

### 検索

* `Ctrl+f`で検索ウィンドウを開きます．
* `Ctrl+g`または`F3`で再検索，`Ctrl+F3`で現在の選択を検索します．
* `Alt+F3`でファイルから検索します．
* `Alt+g`で指定行にジャンプします．

(参考：検索ウィンドウ)
![SearchDialog01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144209/c76f96a5-4691-a933-df58-555fe7a696c0.png)

### 置換

* `Ctrl+h`で置換ウィンドウを開きます．

(参考：置換ウィンドウ)
![ReplaceDialog01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/144209/39c29665-02ba-761e-58a4-bb6004ff6e9a.png)

### 高度な機能

* `Ctrl+space`で補完候補を表示します．
* `Alt+/`で単語を展開します．複数回押せば次の候補に移ります．
* `Ctrl+\`で関数呼び出しの際の引数などのヒントを表示します．
* `Ctrl+O`で現在の位置を囲っている括弧を強調表示します．

## ドキュメントを見てみよう
　Pythonはヘルプ機能やドキュメント自動作成の機能が充実しています．

 * `Shift+F1`でコンテキストヘルプを開きます．
 * `F1`でPythonドキュメントを参照します．

# エディタの操作を見てみよう
　Editorウィンドウ特有の操作として[Format]，[Run]があります．ファイルのフォーマットを操作する機能と，ファイルをチェックしたり実行したりする機能です．

### フォーマット
* 選択した領域のインデントを，`Ctrl+]`で上げ，`Ctrl+[`で下げます．
* 選択した領域を`Alt+3`でコメント化し，`Alt+4`で解除します．
* 選択した領域のインデントを，`Alt+5`でタブに，`Alt+6`で空白に変更します．
* `Alt+t`で入力するインデントを空白にするかタブにするか切り替えます．
* `Alt+u`でインデント幅を変更します．
* `Alt+q`で段落を整形します．

### 実行

* `Alt+x`でスクリプトファイルの構文をチェックします．
* `F5`でスクリプトファイルを実行します．

# シェルの操作を見てみよう

* `Ctrl+F6`でシェルをリスタートし，環境を初期化します．
* `F6`で最後にシェルをリスタートした場所を表示します．
* 履歴からシェルに入力できます．`Alt+p`で前の履歴，`Alt+n`で次の履歴を表示します．
* `Ctrl+c`で現在の動作を中断します．

# 一覧表
　以上の機能を，対応する操作とともに「[IDLEでPython3：キーセット一覧表][table]」にまとめました．

|previous|next|
|:---|:---|
|[IDLEでPython3：インストール・動作確認編][prev]|[IDLEでPython3：数値編][next]|

[table]: https://qiita.com/LostEnryu/items/36132369dcebb0e15e7e
[pydoc]: https://docs.python.org/ja/3/library/idle.html
[prev]: https://qiita.com/LostEnryu/items/e6779eb2163323d4a3b3
[next]: https://qiita.com/LostEnryu/items/83ff8beb7e7c2f29d9e9