Vimメモ : ALE(Asynchronous Lint Engine)で非同期コードチェック
- ALE(Asynchronous Lint Engine)
- サポート言語とLintツール
- インストール
- 使い方
- FAQと設定
- 特定のLintツールのみを有効にする
- 左端のシンボルカラムを表示したままにする
- シンボルを変更する
- エラーと警告数をステータスラインに表示する
- メッセージのフォーマットを変更する
- コードチェック完了後に特定の操作を実行する
- エラー間を移動する
- ファイル保存時のみチェックするようにする
- ロケーションリストの代わりにQuickFixを使用する
ALE(Asynchronous Lint Engine)
上記記事で、flake8
でPythonのコードをチェックするためにSyntastic
やvim-flake8
を使ってみたが、チェック中に操作ができないので非同期で動作するプラグインを調べてみる。
プラグインとしてはvim-watchdogsやNeomakeがあるが、今回はALE(Asynchronous Lint Engine)
プラグインを試してみる。
ALE
はNeovimとVim 8で動作する非同期コードチェックのプラグインで、図のように入力しながらのコードチェックが可能になる。
Zshメモ : zmvコマンドでリネーム(連番、ゼロ埋め、置換、拡張子、大文字、小文字など)
- 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の使い方
Zshのzmv
というコマンドを使うと、いろいろなリネームが簡単にできるので便利。
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
コマンドでもできるが)。
Vimメモ : BracelessでPythonコードの折り畳み、インデントハイライト
- 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'