関連記事
GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ
概要
以下、自分用のメモです。使いたいときによく忘れているので、ここにメモメモ。。。
たまに、ターミナル上でタブ文字を可視化したいときがあります。そんなときは cat
コマンドで表示出来たりします。
サンプルコード
以下のようなGoのコードがあるとします。中身に意味はありません。
package main import "log" func main() { log.SetFlags(log.Lmicroseconds) if err := run(); err != nil { log.Fatal(err) } } func run() error { for v := range gen() { log.Println(v) } return nil } func gen() <-chan int { ch := make(chan int) go func() { defer close(ch) for i := range 10 { ch <- i } }() return ch }
普通にcatコマンドで表示
$ cat main.go package main import "log" func main() { log.SetFlags(log.Lmicroseconds) if err := run(); err != nil { log.Fatal(err) } } func run() error { for v := range gen() { log.Println(v) } return nil } func gen() <-chan int { ch := make(chan int) go func() { defer close(ch) for i := range 10 { ch <- i } }() return ch }
タブを可視化 (-T or -t)
package main import "log" func main() { ^Ilog.SetFlags(log.Lmicroseconds) ^Iif err := run(); err != nil { ^I^Ilog.Fatal(err) ^I} } func run() error { ^Ifor v := range gen() { ^I^Ilog.Println(v) ^I} ^Ireturn nil } func gen() <-chan int { ^Ich := make(chan int) ^Igo func() { ^I^Idefer close(ch) ^I^Ifor i := range 10 { ^I^I^Ich <- i ^I^I} ^I}() ^Ireturn ch }
タブが ^I
で表示されていますね。
タブと行末を可視化 (-E or -A)
$ cat -E -T main.go package main$ $ import "log"$ $ func main() {$ ^Ilog.SetFlags(log.Lmicroseconds)$ $ ^Iif err := run(); err != nil {$ ^I^Ilog.Fatal(err)$ ^I}$ }$ $ func run() error {$ ^Ifor v := range gen() {$ ^I^Ilog.Println(v)$ ^I}$ $ ^Ireturn nil$ }$ $ func gen() <-chan int {$ ^Ich := make(chan int)$ $ ^Igo func() {$ ^I^Idefer close(ch)$ ^I^Ifor i := range 10 {$ ^I^I^Ich <- i$ ^I^I}$ ^I}()$ $ ^Ireturn ch$ }$
タブが ^I
で、行末が $
で表示されていますね。
参考情報
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。