nokoのブログ

こちらは暫定のメモ置き場ですので悪しからず

開発時に見るコマンド・ショートカット集

Docker

$ docker build -t sample_docker .
$ docker run -itd -v $(pwd):/opt/mnt -p 18080:8080 sample_docker
$ docker ps
$ docker exec -it aaa /bin/bash

Git

仕組み

  • ワーキングツリー -<add>- インデックスエリア -<commit>- ローカルリポジトリ -<push>- リモートリポジトリ
  • origin = リモートリポジトリのインデックス
    • git remote -v で確認可能
    • git remote add aaa https://github.com/xxx/xxx.git で追加可能。( aaa というインデックスで追加)

コマンド

クローン〜プッシュ

# クローン
$ git clone -b development https://github.com/xxx/xxx.git
# ブランチ作成
$ git branch feat/1
# ブランチ切り替え
$ git switch feat/1
# 確認 ブランチ一覧
$ git branch

# 修正
略
# 確認 ワーキングツリーとインデックスエリアの差分
$ git diff
# ワーキングツリー → インデックスエリア
$ git add xxx.py
# 確認 インデックスエリアとローカルリポジトリの差分
$ git diff --cached
# インデックスエリア → ローカルリポジトリ
$ git commit -m "add xxx.py refs #99"
# 確認 ログ確認
$ git log --oneline

# 確認 リモートリポジトリのブランチ一覧
$ git branch -r
# ローカルリポジトリ → リモートリポジトリ ローカルの my-master ブランチを、origin 上の master ブランチに push する
$ git push origin my-master:master
$ git push origin feat/1:feat/1

取り込み

  • fetch + merge = pull
# リモートリポジトリのmainをローカルリポジトリのorigin/mainブランチに
$ git fetch origin main
# ローカルリポジトリのorigin/mainをmain(今いるリポジトリ)にマージ
$ git merge origin/main
# リモートのmainブランチをローカルのmainに反映
$ git pull origin/main

# githubでリモートのfeat/6ブランチがローカルのfeat/6ブランチより進んでいる
$ git checkout feat/6  # feat/6ブランチに切り替えます
$ git pull origin feat/6  # リモートの変更を取得してマージします

取り消し

# ワーキングツリーでの変更を取り消す
$ git restore xxx.py
# インデックスエリア → ワーキングエリア
$ git reset -- xxx.py

その他

  • .gitkeep で空フォルダ追加
  • .gitignore で無視=git add の実行時に、インデックスエリアに追加されないようになる

Jupyter Notebook

Enter   コマンドモードからエディットモードへ切り替える
Esc     エディットモードからコマンドモードへ切り替える

a   現在のセルの上にセルを追加
b   現在のセルの下にセルを追加

dd   現在のセルを削除する

m   Markdownセルにする

Shift + m   下のセルとマージする

Shift + Tab   Python構文の説明を表示する

Ctrl + /   現在の行をコメントにする

poetry

$ poetry add --group <group> numpy
$ poetry install --no-root --with <group>
$ poetry lock 

Terminal

# カーソル移動(先頭)
Ctrl + a
# カーソル移動(末尾)
Ctrl + e
# 削除(一文字)
Ctrl + d
# 削除(末尾まで)
Ctrl + k
# 履歴検索
Ctrl + r
# 画面クリア
Ctrl + l

tmux

# 注: prefixはCtrlとbを押し、一度キーを離して後続のキー(cとか)のみを押す
# 新規セッション開始
tmux

# 名前をつけて新規セッション開始
tmux new -s <セッション名>

# セッションを中断
Ctrl-b d

# セッションの一覧表示
tmux ls

# セッションを再開 ※-t <対象セッション名>でセッション名の指定も可能 target
tmux a

# セッションを終了 ※-t <対象セッション名>でセッション名の指定も可能
tmux kill-session

# ウィンドウを作成
Ctrl-b c

# ウィンドウ番号を指定して移動
Ctrl-b 1

# 次のウィンドウに移動 (next)
Ctrl-b n

# 前のウィンドウに移動 (previous)
Ctrl-b p

# ペイン分割
prefix + "(横に線で縦に分割)
prefix + %(縦に線で横に分割)

# ペイン移動(矢印でも可)
prefix + o(next)

# ペイン削除
prefix + x

Vim

# 保存して終了
:wq

# 挿入モードへ
i
# 新しい行を追加し挿入モードへ
o
# 矩形選択のビジュアルモードへ
Ctrl + v
# コマンドモードに戻る
ESC

# 次の行
j
# 前の行
k
# 行頭
0
# 行末
$
# 最初の行
gg
# 88行目
88G
# 最終行
G

# 単語の置換(hageをhogeへ置換)。% はファイル全体を表す。
:%s/hage/hoge/g

# 今いる行をコピー (yank)
yy
# カーソルの場所に、ペースト
p
# 1文字削除
x
# 一行を削除する
dd

# 外部コマンドの実行
:!command
# 直前の操作を取り消す
u

VSCode

# Python実行
F5でデバック

# 引数設定
F5でデバック
→サイドバーでlaunch.jsonを作成する(実体は.vscode/launch.json)
→Python Fileを選択
→
{
    "version": "0.2.0",
    "configurations": [
        {
            ...
            "args": [
                "3"
            ]
        }
    ]
}

# ブレークポイント設定
F9でブレークポイント
もう一度F5で動き出す

# 補完
GitHub Copilot拡張
Ctrl+Enterキーを押すことにより、別なタブで複数の提案を一覧で見ることができる

# Copilot
Ctrl + I
Copilotでコメントを入れる

"""
コード全体に対して、次の条件を満たす改善を実施してください。
- Google スタイルの Docstring を記述する
- 使用しているがimportしていないライブラリをimportする
"""


# 定義ジャンプ
F12で定義ジャンプ

# 宣言へ移動
Ctrl + マウスクリック

# 関数の確認、引数オプション

# コメント有無の切り替え
Command + /