読者です 読者をやめる 読者になる 読者になる

もた日記

くだらないことを真面目にやる

Zshメモ : zmvコマンドでリネーム(連番、ゼロ埋め、置換、拡張子、大文字、小文字など)

Zsh 便利コマンド
  • zmvの使い方
  • zmvのオプション
  • zmvを使ったリネームのパターン
    • 拡張子を変更する(a.txt -> a.csv
    • 拡張子を除去する(a.txt -> a)
    • 先頭に文字を追加する(a.txt -> file_a.txt)
    • 大文字化、小文字化する(AAA.txt -> aaa.txt)
    • 先頭だけ大文字化する(file.txt -> File.txt)
    • 連番を付与する(a.txt, b.txt -> a-1.txt, b-2.txt)
    • ファイル名に数値を加算する(pic1.jpg -> pic2.jpg)
    • ゼロ埋めする(pic1.jpg -> pic0001.jpg)
    • ゼロ埋めした連番を付与する(a.txt, b.txt -> a-0001.txt, b-0002.txt)
    • ゼロを除去する(pic0001.jpg -> pic1.jpg)
    • 数値の範囲を指定してリネームする
    • ファイル名のスペースを置換する(a a.txt -> a_a.txt)
    • 特定の文字を置換する(pic1.jpg -> file1.jpg)
    • 特定の文字を除去する(pic1.jpg -> 1.jpg)
    • 最初の数文字を取り除く(0001_a.txt -> a.txt)
    • 文字列を入れ替える(file-1.txt -> 1-file.txt)
    • サブディレクトリも処理する

zmvの使い方


Zshzmvというコマンドを使うと、いろいろなリネームが簡単にできるので便利。
zmvコマンドを使うためにはautoloadが必要なので、下記行を.zshrcに追加しておく。

autoload -U zmv

簡単な使い方はzmvとコマンドを打ってリターンすると確認できる。マニュアルについてはman zshcontribの中に書いてある。

$ zmv
Usage:
  zmv [OPTIONS] oldpattern newpattern
where oldpattern contains parenthesis surrounding patterns which will
be replaced in turn by $1, $2, ... in newpattern.  For example,
  zmv '(*).lis' '$1.txt'
renames 'foo.lis' to 'foo.txt', 'my.old.stuff.lis' to 'my.old.stuff.txt',
and so on.  Something simpler (for basic commands) is the -W option:
  zmv -W '*.lis' '*.txt'
This does the same thing as the first command, but with automatic conversion
of the wildcards into the appropriate syntax.  If you combine this with
noglob, you don't even need to quote the arguments.  For example,
  alias mmv='noglob zmv -W'
  mmv *.c.orig orig/*.c

例に書いてあるように

$ zmv -W '*.lis' '*.txt'

を実行すると拡張子を.lisから.txtに変更できる(このくらいならrenameコマンドでもできるが)。

続きを読む

Pythonメモ : フルスクリーンコンソールデバッガPuDBでデバッグ

Python
  • PuDB
  • インストール
  • 初回起動
  • テーマ変更
  • 基本的な使い方
  • 終了方法

PuDB


github.com

PuDBはCUIベースでありながら、図のようにGUIのようにPythonコードをデバッグできるツールである。

f:id:wonder-wall:20170212202031p:plain

インストール


pipを使用している場合は、下記コマンドでインストール。

$ pip install pudb
 …
Installing collected packages: urwid, pudb
Successfully installed pudb-2017.1 urwid-1.3.1
続きを読む

Vimメモ : Python開発で役に立つプラグイン(補完、コードチェック、インデント、折り畳み)

Python Vim
  • jedi-vim(入力補完)
  • vim-flake8(コードチェック)
  • vim-python-pep8-indent(インデントをPEP8に準拠)
  • vim-indent-guides(インデント可視化)
  • braceless.vim(コード折り畳み、インデントハイライト)

jedi-vim(入力補完)


入力補完プラグイン。定義への移動、変数リネームなども可能。

f:id:wonder-wall:20170129155319p:plain

wonderwall.hatenablog.com

続きを読む

Vimメモ : BracelessでPythonコードの折り畳み、インデントハイライト

Python Vim
  • braceless.vim
  • インストール
  • 使い方
    • テキストオブジェクト
    • カーソル移動
    • 折り畳み設定(+fold)
    • インデントハイライト(+highlight, +highlight-cc, +highlight-cc2)
    • オートインデント(+indent)

braceless.vim



github.com
Bracelessプラグインを使うと、Pythonのようなインデントが重要な言語でテキストオブジェクト追加、簡単なコード折り畳み、インデントハイライトができるようになる。

インストール


deinの場合は下記行をdeinlazy.tomlなどに追加。

[[plugins]]
repo = 'tweekmonster/braceless.vim'
on_ft = 'python'
続きを読む

Vimメモ : flake8でPythonのコードをチェックする

Python Vim
  • flake8
    • flake8とは
    • flake8のインストール
    • flake8の使い方
    • flake8プラグイン
    • エラーコード一覧
  • syntasticによりVimでflake8を実行
    • synstasticのインストール
    • synstasticの使い方
    • synstasticの設定
  • vim-flake8によりVimでflake8を実行
    • vim-flake8のインストール
    • vim-flake8の使い方
    • vim-flake8の設定

flake8


flake8とは

Flake8: Your Tool For Style Guide Enforcement — flake8 3.3.0.dev0 documentation
Pythonのコードチェックツールとしてはflake8が有名らしい。flake8は下記コードチェックツールのラッパーなので、flake8を使用することで広範囲のチェックが可能になる。

続きを読む