Tera Term ini ファイルでの設定事項
長年継ぎ足し継ぎ足しで使ってきた ini ファイルについて、2024.09 時点の最新 5.3 同梱の TERATERM.ini と diff して点検してみました。差分を挙げてみます。
コピーペースト
DisablePasteMouseMButton=off
ConfirmChangePaste=off
ConfirmChangePasteCR=off
DelimList=$20!"#$24%&'()*+,-./:;<=>?@[\]^`{|}~
中ボタンによるペーストは無効にする理由がわかりません。就職して配属された職場では、Apple のコンピュータはマウスのボタンが1つ、PC/ATのマウスはボタンが2つ、ワークステーションやサーバのマウスはボタンが3つでした。ホイールは存在しませんでした。インプリンティングとは恐ろしいもので、ホイールが登場してからも中ボタンを押すことでペーストされることは「普通の挙動」なのです。
クリップボードの内容を貼り付ける意思を持ってペーストの操作をしている時には、それを阻害されたくありません。この貼り付け確認機能が事故防止であることは理解しますが、同じ内容を複数のウィンドウに改行を含めてポンポン貼り付けていくという操作をする際には、作業効率の低下によるストレスの方が事故を惹起する要因になりかねないので、都度都度の確認は不要なのです。
DelimList には - . / ~ を追加しています。減らした文字はありません。これも新人の頃に jxterm か何かの挙動に合わせたような淡い記憶があります。
色の設定
ANSIColor=0,28,28,28, 1,208,90,110, 2,27,129,62, 3,201,152,51, 4,0,98,132, 5,102,50,124, 6,58,143,183, 7,254,223,225, 8,83,89,83, 9,245,150,170, 10,93,172,129, 11,220,184,121, 12,123,144,210, 13,178,143,206, 14,81,168,221, 15,189,192,186 VTColor=189,192,186,11,16,19 VTBoldColor=144,180,75,11,16,19 VTBlinkColor=215,84,85,11,16,19 VTReverseColor=255,255,251,67,67,67 URLColor=105,103,171,11,16,19
時々、訳も無く眠れない夜があります。そんな時に、「本邦の色彩を用いて ANSI color を構成してみたらどうだろう?」とやってみたものです。
| 色 | No | R,G,B, | RGB | 名前 | 読み方 |
|---|---|---|---|---|---|
| Black | 0 | 28,28,28, | 1C1C1C | 墨 | SUMI |
| Red | 1 | 208,90,110, | D05A6E | 今様 | IMAYOH |
| Green | 2 | 27,129,62, | 1B813E | 常盤 | TOKIWA |
| Yellow | 3 | 201,152,51, | C99833 | 桑茶 | KUWACHA |
| Blue | 4 | 0,98,132, | 006284 | 縹 | HANADA |
| Magenta | 5 | 102,50,124, | 66327c | 菫 | SUMIRE |
| Cyan | 6 | 58,143,183, | 3a8fb7 | 千草 | CHIGUSA |
| White | 7 | 254,223,225, | fedfe1 | 桜 | SAKURA |
| Black | 8 | 83,89,83, | 535953 | 青鈍 | AONIBI |
| Red | 9 | 245,150,170, | f596aa | 桃 | MOMO |
| Green | 10 | 93,172,129, | 5dac81 | 若竹 | WAKATAKE |
| Yellow | 11 | 220,184,121, | dcb879 | 白橡 | SHIROTSURUBAMI |
| Blue | 12 | 123,144,210, | 7b90d2 | 紅碧 | BENIMIDORI |
| Magenta | 13 | 178,143,206, | b28fce | 薄 | USU |
| Cyan | 14 | 81,168,221, | 51a8dd | 群青 | GUNJO |
| White | 15 | 189,192,186 | bdc0ba | 白鼠 | SHIRONEZUMI |
Text
| 属性 | R,G,B | RGB | 名前 | 読み方 |
|---|---|---|---|---|
| Normal | 189,192,186 | bdc0ba | 白鼠 | SHIRONEZUMI |
| Bold | 144,180,75 | 90b44b | 鶸萌黄 | HIWAMOEGI |
| Blink | 215,84,85 | ff6000 | 鉛丹 | ENTAN |
| Reverse | 255,255,251 | fffffb | 胡粉 | GOFUN |
| URL | 132,145,195 | 8491c3 | 紅碧 | BENIMIDORI |
| Underline | 181,160,105 | b5a069 | 枯色 | KAREIRO |
Background
| 属性 | R,G,B | RGB | 名前 | 読み方 |
|---|---|---|---|---|
| Normal | 11,16,19 | 0b1013 | 黒橡 | KUROTSURUBAMI |
| Bold | 11,16,19 | 0b1013 | 黒橡 | KUROTSURUBAMI |
| Blink | 11,16,19 | 0b1013 | 黒橡 | KUROTSURUBAMI |
| Reverse | 67,67,67 | 434343 | 消炭 | KESHIZUMI |
| URL | 11,16,19 | 0b1013 | 黒橡 | KUROTSURUBAMI |
| Underline | 11,16,19 | 0b1013 | 黒橡 | KUROTSURUBAMI |
ウィンドウの設定
HideTitle=on
画面解像度がどれだけ大きくなっても、画面上にできるだけたくさんのターミナルを並べたいと思う時はあるものです。 タイトルバーを消すことでメニューが消え、矩形選択もできなくなりますが、それでも画面表示面積の方を優先するのです。 メニューは Ctrl-Click で出ますし、ウィンドウの移動は Alt-Drag で、サイズ変更は Alt-Shift-Drag で可能です。
TitleFormat=2
タイトルバーを隠しているのに タイトルバーの書式を設定する意味!?と思われるかもしれませんが、これは BroadCast command ダイアログや Alt-TAB で切り替えるときに「どれだっけ」をわかりやすくするためのものです。
ログ
LogTypePlainText=off LogTimestamp=on LogDefaultName=%Y%m%d_x.log LogDefaultPath=c:\Users\(ユーザ名)\Desktop
自分にとっては、ログ上に ^H などが見えたほうが好ましいのです。またタイムスタンプは作業の証跡として大変心強い要素であり、外すわけにはいきません。
ファイル名は 日付_x.log にしておいて、ログダイアログで x 部分を書き換えて使います。出力パスに %USERPROFILE% とかが使えればよいのですが、今は使えないようです。
デスクトップに出すようにしているのは、デスクトップが散らかってくるとイライラするのでログを所定の場所に片付ける動機になる…という情けない理由です。
ログダイアログは 5.x から使いづらくなってしまい、残念です。
親切機能
EnableClickableUrl=off
ターミナル操作に集中したい時に URL「らしき」文字列を触ってアプリケーションが切り替わってしまうことは作業効率の低下であり、そのストレスは事故を惹起する要因になりかねないので、ブラウザが起動しなくてよいのです。必要であれば URL を自分でコピーしてブラウザに貼り付ければ済む話です。
HistoryList=off
どこに接続したか、を記憶してくれるより、ini ファイルのタイムスタンプの方が重要なのです。
BroadcastCommandHistory=off
自分は、コマンドの履歴をターミナルに覚えてもらう必要はありません。
Beep=off
鳴らないでほしいです。静かに作業したい。
ClearOnResize=off
好き嫌いあると思いますが自分の ini ファイルはいつの間にかこうなってました。
MaxBuffSize=10000
デフォルトの 500000行は、自分には過剰です。たくさんターミナルを開くので、メモリのインパクトが少ない方が好ましいのです。
MaxComPort=8
デフォルトが 256 なんですが、そんなに COMポート無いです。たまに USB 挿した時に 4 より大きなポートになることがあるので、8 にしています。
TranslateWheelToCursor=off
これが「on」になっていると(デフォルトはon)、 マウスホイールを上下回転させたときに矢印キーを押したかのような動きをします。 矢印キーを理解しない古典的なシェル(ksh とか)を使っていると、 この動作は大変困ったことになります。 off にしておくと、ホイールは「期待通り」スクロール上下として働いてくれます。
SSHIcon=flat
これだけ [TTSSH] セクションの話です。この緑のフラットなアイコンが気に入っておりまして。画面上に表示される濃い黄色が目に痛くて変えている、という面もあります。
ここに挙げなかった差分もありますが、おおむねデフォルトで使っている、と言ってよいでしょうか。そんなこと無いか。
ツェラーの公式のシェルスクリプト関数。
20分くらいでヤッツケた。
calcwday() { [ $2 -lt 3 ] && y=`expr $1 - 1` || y=$1 [ $2 -lt 3 ] && m=`expr 12 + $2` || m=$2 d=$3 echo "( $y + $y / 4 - $y / 100 + $y / 400 + ( $m * 13 + 8 ) / 5 + $d ) % 7" | bc }
この程度で、だいたい用は足りそう。
Vimconf2017
2014年の会に参加して、しばらく日程が合わず参加できなかった vimconf に
今年は強権発動して日程調整して、無理やり参加できました。
相変わらず nvi ユーザなのに、vim のカンファレンスてどうよ…と自分に疑問を感じつつ。
10:10 - 11:10
Vim, Me and Community
@haya14busa
https://docs.google.com/presentation/d/14pViuMI_X_PiNwQD8nuGRG72GUqSeKDqoJqjAZWS39U/edit
残念ながら遅刻して、最初の方は聞き逃しました。スライドの 43枚めあたりで到着。
「酒が呑めるgif」という言葉にグっときました。
11:20 - 12:05
The Past and Future of Vim-go
@fatih
https://speakerdeck.com/farslan/the-past-and-future-of-vim-go
広く使ってもらうために使われやすいライセンスを明示的に採用することなど、なるほどと思わされる作戦。go はぜんぜん使っていませんが、vim-go を使ってみたいと感じさせられました。
しかし何しろ、翻訳の良さが際立っていました。 "super awesome" が "めっちゃやばい" になったり、ネーミングに .vim と付けるか付けないかなどの迷った点については訳者の私見も交えたり。
内容を理解した上で行われる同時通訳の妙に唸らされました。
13:05 - 14:05
Talk show
@mattn_jp @k_takata @kaoriya
# no URLs. (movie...?)
今半のすきやき弁当、めっちゃ美味しかったです。
壇上にレジェンドが3人。実物の mattn さんを初めて拝見しました。
気になるプラグインとして minpac なるものが上げられていて、そもそもプラグインを全く使わない自分としてはプラグインマネージャから試してみるのがよいのかな、と思ってみたり。
14:15 - 14:45
Creating your lovely color scheme
@cocopon
https://speakerdeck.com/cocopon/creating-your-lovely-color-scheme
最も感動した発表。
- lovely にするには、まずコンセプトを決める。
- 背景と前景となる primary color を設定して、あとは色相だけを調整してカラーパレットを作る。
- そうやって最初にパレットを決めておくと色数が爆発しなくてすむ。
- positive な要素を増やし、negative な要素を減らす。
- 先人の知恵を参考にする。
こつこつやること、継続すること。語りに愛を感じる発表だったし、スライドのデザインがこれまた秀逸。
colorscheme を探すときには http://colorswat.ch/vim を使おう。
14:45 - 15:15
vim-mode-plus: The most ambitious vim emulator in the world
@t9md
https://qiita.com/t9md/items/236d09fea9bcdfabdcea
油断してたら英語発表。
でも atom か、そんなら自分はそんなにがっつり関係ないかも、と思っていたら、なんという力強いデモ。うぉ、なんだそりゃ、便利そうではないか、と ぐいぐい惹きつけられました。
このデモの見せ方がとても巧い。タイピングしている内容(キーとその機能)が hover されるし、その hover のフォントサイズはデモしながら on the fly に調整するし。
で、これまた同時通訳が最高に awesome でした。デモの通訳、なんてハードル高いんだ。"「ぽっ」とすると「あっ」てなって「しゅっ」と" とか、ツボりました。
デモで特に惹かれた move-down-to-edge , move-up-to-edge は便利そう…と思っていたら 数時間で haya14busa さんが実装してて「え?え?」とびっくりしました。
https://twitter.com/haya14busa/status/926712287066406912
早い…早すぎるよ…
15:35 - 16:05
Vim and Compatibility
@senopen
http://lamsh.github.io/slide/2017/20171104_VimConf2017/index.html
POSIX原理主義者きたー!?とビビったけど、内容は至ってまとも。ed からのエディタの歴史のまとめとか、現在の主要 distribution で搭載されている vim バージョンとか、資料性も高い。
16:05 - 16:35
neosnippet.vim + deoppet.nvim
@ShougoMatsu
https://www.slideshare.net/Shougo/neosnippetvim-deoppetnvim-in-vim-conf-2017
歌はありませんでした。
16:45 - 17:10
How ordinary Vim user contributed to Vim
@dice_zu
https://speakerdeck.com/daisuzu/how-ordinary-vim-user-contributed-to-vim
http://daisuzu.hatenablog.com/entry/2017/11/04/212947
「大したことしてません」て、いやいやいやいやご謙遜を。「壊れていることがわかる」と「どこを直せばいいかがわかる」の間には圧倒的な違いがありますし、それを upstream にきちんと取り込んでもらって世界中の誰かの時間を節約できているというのは「大したこと」です。
17:10 - 17:30
The new syntax highlighter for Vim
@p_ck_
https://speakerdeck.com/pocke/the-new-syntax-highlighter-for-vim
ruby か、… と思いながら聞きました。外部ツールにぶん投げて結果をうまいこと使う、という発想は好き。
17:30 - 17:50
You've been Super Viman. After this talk, you could say you are Super Viman 2 -- Life with gina.vim
@lambdalisue
https://github.com/lambdalisue/vimconf2017
勢いのある英語発表。
そりゃ「Gina のために vim を使う」という発想も出てくることでしょう。非同期処理は vim8 でも neovim でも使えるように切り出されるという話だし、不慣れな後輩ちゃん達に使ってもらうには敷居は低いほうがいいのは間違いない。
総じて今年も「天才たちの挙動を見られるイベント」でした。内容もさることながら、発表のやり方、見せ方、喋り方、という面でも非常に刺激になりました。
「高まる」とか「感極まる」とか言われるのも頷けます。これで参加費 5000yen は、破格だと思います。
kaoriyaさんはじめ、スタッフ各位の熱意に感服仕ります。
ローカル環境をあまり贅沢にして慣れてしまって素の vi しか無い環境で困るようになってしまわないように気をつけなければならないと自分を戒めつつも、まずは windows機に vim8 を入れて :Terminal を使ってみることにします。
ssh 経由でコマンドが実行できない時に読むメモ
server 上にあるコマンド hogehoge を
user@ws% ssh server hogehoge
のように呼び出すことができないことがある。
これは、「リモートコマンドを実行する時、リモート側ではログインシェルは動作しない」という ssh の動作にハメられている可能性がある。
この場合、まず以下のように
user@ws% ssh server "echo $PATH"
リモート側での PATH を確認する。ここに hogehoge への PATH が含まれていなかったら、ビンゴだ。
- server の sshd_config で PermitUserEnvironment が Yes になっているか
- server 上の ~user/.ssh/environment に PATH がちゃんと書いてあるか
- server 上の ~user/.ssh/environment に書かれている PATH に hogehoge があるか
- server の hogehoge に、user が実行できる権限があるか
このあたりを確認しよう。ちなみに sshd_config を書き換えた場合、sshd に -HUP を送ってあげる必要がある。
ディレクトリ追加失敗時の挙動はアトミックでない
ちょっとびっくりしたので記録。
ディレクトリを追加する操作で、先行の追加に失敗すると後行はローカル作業ディレクトリだけ管理情報が更新されてしまい、リポジトリには存在しない状態になる。
例えばリポジトリ内に hoge が既に存在し、moge は存在しないとする時に、以下のように両方を追加しようとすると
% cvs add hoge moge (←二つのディレクトリを追加しようとする) cvs [add aborted]: there is a version in hoge already (← hoge は既にある) % cvs update cvs update: cannot open directory /repo/module/moge: No such file or directory cvs update: skipping directory moge (← moge はリポジトリ内に追加されていない) % find moge moge/CVS/Root moge/CVS/Repository moge/CVS/Entries (↑しかし、作業ディレクトリ側の管理情報は、できてしまっている…)
5.1 には atoll が無い
急遽、AIX 5.1 な環境で long long を使う必要が湧いて出た。値の範囲が long では足りなくなったためだ。
既存のソースでは atol を使っていたので、安直に atoll にすればよいかと思ったが、これがうまくない。無いみたいなのだ。
AIX5100-09 % oslevel -r 5100-09 AIX5100-09 % lslpp -hac bos.rte.libc | sort | tail -1 /usr/lib/objrepos:bos.rte.libc:5.1.0.69::COMMIT:COMPLETE:07/09/25:10;04;40 AIX5100-09 % nm /usr/lib/libc.a | grep atol ../../../../../../../src/bos/usr/ccs/lib/libc/atol.c f - .atol T 319216 .watol T 1476716 atol D 262148 12 watol D 280756 12
一方、AIX 5.2 の libc にはちゃんと装備されているようだ。
AIX5200-10 # oslevel -r 5200-10 AIX5200-10 # lslpp -hac bos.rte.libc | sort | tail -1 /usr/lib/objrepos:bos.rte.libc:5.2.0.107::COMMIT:COMPLETE:11/27/08:09;41;08 AIX5200-10 # nm /usr/lib/libc.a | grep atol ../../../../../../../src/bos/usr/ccs/lib/libc/atol.c f - ../../../../../../../src/bos/usr/ccs/lib/libc/atoll.c f - .atol T 305824 .atoll T 818548 .watol T 1473336 atol D 274048 12 atoll D 274060 12 watol D 292824 12
AIX 5.1 は既に EOL なので、今さら libc が更新されるとは考えにくい*1。念のため最終FIX (Post ML9 Bundle) まで確認したが、やはり存在しないものは存在しない。仕方がないので strtoll を用いて書いた。書いてみてからいろいろ探ったら、手もとにあった FreeBSD の libc のソース*2によれば、atoll とは strtoll の wrapper のようだ。テストもうまく通った。
規格に照らしてみれば、atoll は C99 に含まれるようだ。逆に言えば C90 には含まれていない。
要するに 5.2 以上に上げなさい…ということで FA と言えよう。