"CSVI" - ターミナル用CSVエディタ .

GoDev

<English> / <Japanese>

同分野に同名の製品が比較的多いため、バージョン 1.6.0 より CSView は CSVI に改名しました。

CSVI は、Linux や Windows のターミナル上で動作する CSV エディタです。 ( macOS でも動作するはずですが、検証環境が開発側にないため、実験的なサポート状態です →サポートバージョン: v1.13.0 )

✨ 主な特徴 .

image

@emisjerry さんによる 紹介動画

Install .

Manual Installation .

Releases よりバイナリパッケージをダウンロードして、実行ファイルを展開してください

⚠️ Note: macOS用バイナリは実験的ビルドで、検証できていません。 もし何らかの問題を確認されましたらお知らせください!

"go install" を使う場合 .

go install github.com/hymkor/csvi@latest

scoop インストーラーを使う場合 (Windowsのみ) .

scoop install https://raw.githubusercontent.com/hymkor/csvi/master/csvi.json

もしくは

scoop bucket add hymkor https://github.com/hymkor/scoop-bucket
scoop install csvi

Usage .

$ csvi {options} FILENAME(...)

or

$ cat FILENAME | csvi {options}

Options

キーバインド .

Readline with SKK1 .

環境変数 GOREADLINESKK に次のように辞書ファイルが指定されている時、go-readline-skk を使った内蔵SKKが使用できます

(注: ~ はWindowsでもcmd.exe内であってもアプリ側で %USERPROFILE% へ自動で展開します)

Use as a package .

package main

import (
    "fmt"
    "os"
    "strings"

    "github.com/mattn/go-colorable"

    "github.com/hymkor/csvi"
    "github.com/hymkor/csvi/uncsv"
)

func main() {
    source := `A,B,C,D
"A1","B1","C1","D1"
"A2","B2","C2","D2"`

    cfg := &csvi.Config{
        Mode: &uncsv.Mode{Comma: ','},
    }

    result, err := cfg.Edit(strings.NewReader(source), colorable.NewColorableStdout())

    if err != nil {
        fmt.Fprintln(os.Stderr, err.Error())
        os.Exit(1)
    }

    // // env GOEXPERIMENT=rangefunc go run example
    // for row := range result.Each {
    //     os.Stdout.Write(row.Rebuild(cfg.Mode))
    // }
    result.Each(func(row *uncsv.Row) bool {
        os.Stdout.Write(row.Rebuild(cfg.Mode))
        return true
    })
}

Release Note .

Acknowledgements .

Author .


  1. Simple Kana to Kanji conversion program. One of the Japanese input method editor. ↩︎