Vimでよく使うコマンド

Vimでよく使うコマンドのまとめ

編集系コマンド

  • dd(連打):1行切り取り(ndd:n行削除)
  • p:貼り付け
  • r:カーソルの下の文字を置換
  • :%s/b/a/g:ファイル中の文字列"b"を"a"に一括置換
  • :%s/^/b/g:すべての行の先に"b"を追加

コピー系コマンド

  • yy:カーソル行をコピー
  • yiw:カーソル下の単語をコピー

削除系コマンド

  • dd:1行切り取り(ndd:n行削除)
  • :nd:n行目を削除
  • diw:カーソル下の単語を削除
  • x:1文字削除
  • C:カーソル下から行末まで削除

モード変更系コマンド

  • o:下に行を挿入して編集を開始する
  • I:先頭から編集を開始する
  • i:カーソルがある場所から編集を開始する
  • a:カーソル位置の次の文字から編集を開始する
  • Esc:インサートモードを抜ける

ビジュアルモード

ビジュアルモードの開始

  • v:ビジュアルモード(文字単位選択)
  • V:ビジュアルラインモード(行単位選択)
  • CTRL-V:ビジュアルブロックモード(矩形選択)

ビジュアルモードの終了


  • ビジュアルモードを開始したキーを入力

ビジュアルモード中の編集

  • d:選択範囲を削除
  • D:選択範囲を含む行をすべて削除
  • y:選択範囲をコピー
  • Y:選択範囲を含む行をすべてコピー

移動系コマンド

  • h:左へ移動
  • j:下へ移動
  • k:上へ移動
  • l:右へ移動
  • 0:行頭へ移動
  • $:行末尾へ移動
  • w:1単語分前へ移動
  • b:1単語分後ろへ移動
  • gg:ファイル先頭へ移動
  • G:ファイル末尾へ移動
  • nG:n行目へ移動
  • H:画面上の最初の行へ移動
  • M:画面上の中央の行へ移動
  • L:画面上の最後の行へ移動

fコマンド

  • f + "a": 行中の入力文字"a"に該当する場所に移動
  • ; : 移動の繰返し
  • , : 後方に移動

その他

  • u:undo
  • CTRL + r:redo
  • .:直前のコマンドを実行
  • :set number:行番号の表示
  • :set nonumber:行番号の非表示
  • Ctrl + p:単語補完(前方検索)

ファイル操作

  • :e filename:filenameを現在のウィンドウで開く
  • :split filename:filenameを横分割したウィンドウで開く
  • :vsplit filename:filenameを縦分割して開く
  • :wq:ファイルに保存、vi を終了
  • :q:vi を終了(内容が変更されいる場合は警告)

画面操作

  • :sp:上下分割
  • :vs:左右分割
  • CTRL+wを2回:次の画面へ
  • CTRL+w ↑(矢印):カーソルを上のウィンドウへ
  • CTRL+w =:分割したすべてのウィンドウを同じ大きさに
  • :close:画面を閉じる
  • :hide:現在のウィンドウを閉じる
  • :only:現在のウィンドウ以外を閉じる
  • :tabnew:新しいタブ作成
  • :tabe filename:filenameをタブで開く
  • :tabclose:タブを閉じる
  • gt:次のタブへ
  • :tabs:開いているタブをリスト表示
  • :tabo:今使っているタブ以外を閉じる

マクロ

  • q:マクロ記録開始
  • q:マクロ記録停止
  • @:マクロ実行
  • :reg:マクロの閲覧

コマンド

  • g:繰り返し
  • c:1回毎に確認

Pythonの機械学習、Deep Learning用ライブラリのインストール方法


  • scikit learn
$ pip3 install -U scikit-learn scikit-image
    ついでにmatplotli,scipy,pandasもインストールしておく
$ pip3 install -U matplotlib scipy pandas
  • Tensorflow+keras
    • Tensorflow
      • インストール
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.10.0-py3-none-any.whl
$ pip3 install --upgrade $TF_BINARY_URL
下記でもいける
$ pip3 install tensorflow
    • keras
      • インストール
$ pip3 install keras
      • 初期設定の変更 Tensorflowをバックエンドにする(Tensorflowを入れていればデフォルトでtensorflowになっているようだ)
$ mkdir ~/.keras
$ echo '{"image_dim_ordering": "tf", "epsilon": 1e-07, "floatx": "float32", "backend": "tensorflow"}' >> ~/.keras/keras.json
    • h5py
      • 学習後の結果をh5形式で保存するためのライブラリ
      • インストール
$ pip3 install h5py

crontabの使用方法


  • カレントディレクトリで実行される
  • crontab -eで編集→この方法では編集しない
  • crontabが設定されているか確認
$ crontab -l
    • 設定されていない場合
crontab: no crontab for 
  • crontabに登録されている内容を削除
$ crontab -r
  • カレントディレクトリのcrontabファイルの実行
$ crontab cron.txt
  • crontab.txt

  • 実行結果がメールとして下記に保存される
/private/var/mail
  • メール通知を無効
MAILTO=""

crontabコマンド

  • シェルスクリプトの実行
PATH=/usr/local/bin:/usr/bin:/bin
    分 時 * * * sh フルパス/crontabtest.sh
    • Pythonスクリプトの実行
    PATH=/usr/local/bin:/usr/bin:/bin
      分 時 * * * python3 フルパス/crontabtest.py

      crontab使用時の注意点

      • コンピュータスリープ時は実行できない
      • ディスプレイスリープ時は実行可能
      • PATHの設定が正しくない場合下記のようなエラーが出る
      FileNotFoundError: [Errno 2] No such file or directory: 'screen capture'
      • pyautoguiのlocateOnScreenを使用する場合は下記のPATHは通しておく
      /usr/sbin:

      • 理由が不明な現象
      pyautoguiのlocateOnScreenを使用していた時に、使用するキャプチャのフォルダがうまく参照できなかった。PATHもそのフォルダに通していた。
        • 対策
          • cronで直接*.pyを実行するのではなく、*.pyファイルを実行するシェルスクリプトをcronから実行させるとエラーなく動作させる事ができた。
          • cronファイル中のPATHがなんで通らなかったのか不明
          • シェルスクリプトファイルのコード
      cd ワークディレクトリ
        Python3 *.py

        よく使うシェルスクリプト

        Macでのシェルスクリプトの使用方法

        ターミナルからシェルスクリプトを実行する方法1

        • シェルスクリプトファイルの実行
        $ /bin/sh test.sh
        • bashの機能を用いる場合
        $ /bin/bash test.sh

        ターミナルからシェルスクリプトを実行する方法2

        • *.shファイルの1行目に下記コードを追加
        #!/bin/sh
          • bashの場合
        #!/bin/bash
        • ターミナルから下記コマンドで実行
         sh test.sh
          • bashの場合
         bash test.sh


        シェルスクリプトからPythonファイルの実行方法

        シェルスクリプトファイルに以下を記述する
        • *.pyファイルのあるディレクトリまで移動
        cd /Users/〜
        • *.Pyを実行
        Python3 *.py

        よく使うシェルスクリプト

        よく使うpipコマンド

        pipコマンド

        インストール時にインストール済みのものはアップデートも行う

        pip3 install -U pandas


        pipにインストールしているパッケージの確認

        pip freeze

        下記のように一覧が表示される beautifulsoup4==4.3.2 cycler==0.10.0 decorator==4.1.2 h5py==2.7.1 html5lib==0.999 jsm==0.16 Keras==2.1.2

        よく使うターミナルコマンド


        • pwd
          • 現在のパスを表示
        • cd
          • ディレクトリ間を移動※フルパスで一気に移動も可能
          • cd ../ :1つ上のディレクトリへ
        • ls
          • 現在のディレクトリに存在するフォルダ、ファイルを表示
        • mkdir
          • ディレクトリを作成
        • rm
          • ファイルを削除
        • mv
          • ファイルやディレクトリの名前変更、移動
        • cp
          • ファイル/フォルダのコピー
          • cp A B :ファイルAがBという名前でコピー※Bが存在していれば上書きされる
        • Pythonファイルの実行方法
          • cd にて*.pyファイルがあるディレクトリまで移動
          • Python3 *.pyにて実行する
        • commandファイルの実行方法
          • commandファイル:windowsのバッチファイルのようなもの
          • ファイル名を*.command へ変更するだけだと実行権限がない
          • ターミナルコマンドでファイルへの実行権限を付加する
            • chmod u+x *.command :実行権限を付加
              • u:ユーザ
              • +:付加
              • x:実行権限
        • #
          • コメント
        • sleep n
          • n秒待機

        注目の投稿

        pmsetの使い方とmacのスリープ解除スケジュール化

        pmsetの使い方 電源管理スケジュールの確認 ターミナルで以下のコマンドを実行し、現在設定されている電源管理のスケジュールを確認できる。 pmset -g sched > Repeating power events: > wakepoweron at ...