やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

端末にタブを入力する方法

 Ctrl + V, Tab

前回まで

 stdinもダメ。起動引数もダメ。

Ctrl + V, Tab

 端末のbashにてヒアドキュメント内でTabを入力する方法。

 以下まで入力する。

a="$(cat <<EOS

 すると以下のようなプロンプトが出る。

> 

 そこに入力したいテキストを入れる。

> A

 改行はEnterキーで入る。次の行を入力する待受になる。

> 

 ここでタブを入れる。

  1. Ctrl + Vキー押す
  2. Tabキー押す

 これでTabが入力されるはず。その後に入力したいテキストBを入れてEnterキー押す。

>         B

 同じように以下のようにする。

  1. Ctrl + Vキー押し、Tabキー押す
  2. Ctrl + Vキー押し、Tabキー押す
  3. Cキー押し、Enterキー押す

 最後に以下をする。

  1. EOSを入力し、Enterキー押す
  2. )"を入力し、Enterキー押す

 これでヒアドキュメントの入力が完了した。以下で表示確認する。

echo -e "$a"
A
    B
        C

 超絶に面倒くさい。

問題

  • Tabキー一発で入力できない。いちいち1個入力するたびにCtrl+V,Tabせねばならないのが超絶に辛い
    • あと、前に入力した行を編集できない
      • 複数行を編集できないの?
  • コピペできない
    • ヒアドキュメントに今回のやり方で入力した値をコピペできない
      • プロンプト>がついてしまう
      • ペーストするとタブが消えてしまう(\tという文字にせねば)

所感

 これは辛い。こんなので入力を強いられていたらストレス死する。

 もう素直に一時ファイルをテキストエディタで作ったほうが早いんじゃ……。いやでもたかが\n\tが混ざったせいでそんな面倒を強いられるのか? 何かないのか……。

 そもそもその場でユーザに入力させるのではなく、プログラムなどで作成されたテキストなどでも受け付けるようにしたい。それをメモリ上で受け渡ししたいだけ。

 共有メモリを作ってそこにアクセスできるような仕組みがあればいいのに。それをファイルとしてアクセスできればいいのだが。RAMディスクか。でも環境によって変わるし。

 ダメだわからん!

対象環境

$ uname -a
Linux raspberrypi 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux