1. Editing
行・ブロックの移動
ノートRule 1-1: 複数行をまとめて上下に動かすときは
Shift 選択 → Alt + ↑/↓
Shift+↑/↓で移動させたい行を範囲選択するAltを押しながら↓/↑で選択範囲ごと移動する- 選択範囲は移動後も保持されるので,
Alt+↓を連打して任意の位置まで送れる - 1行だけ動かす場合は範囲選択不要で
Alt+↑/↓のみでよい
# before: バリデーションが計算の後に来てしまっている
def process(records):
total = sum(r["amount"] for r in records)
if not records: # <- この2行を選択して
raise ValueError("empty records") # <- Alt + ↑ を2回
return total| command | 動作 | comment |
|---|---|---|
Alt + ↑/↓ |
カーソル行 or 選択範囲を上下に移動 | インデントは移動先の文脈に合わせて自動調整される |
Shift + Alt + ↑/↓ |
カーソル行 or 選択範囲を上下に複製 | 移動ではなくコピー |
系 1.1.1: 離れた行への転記
Alt+↑/↓は隣接行の入れ替えには強いが,「line 30 のブロックを line 100 に移したい」のように距離があるときは連打が非効率- この場合は 切り取り → ジャンプ → 貼り付け の3ステップに分けるほうが速い
ノートRule 1-2: 遠くへ動かすときは
Ctrl + X → Ctrl + G → Ctrl + V
Ctrl+X: 選択範囲(未選択ならカーソル行全体)を切り取るCtrl+G: Go to Line 入力を開き,行番号(例100)を入れてEnterでジャンプCtrl+V: 貼り付け
Ctrl + G は行番号だけでなく 100:5(100行5桁目)の形式も受け付ける. また Ctrl + P のQuick Openで filename.py:100 と打てば,別ファイルの特定行へ直接飛べるので,ファイル間の転記にも同じ手順が使える.
| command | 動作 | comment |
|---|---|---|
Ctrl + G |
指定行へジャンプ | :区切りで桁指定も可能 |
Ctrl + Home/End |
ファイル先頭/末尾へ移動 |