View resize.rb
#!/usr/bin/env ruby
#encoding: ASCII-8BIT
#
# resize.rb -- resize コマンドの手抜き実装
#
# xterm の付属コマンド resize[1] の機能の内、端末(エミュレータ)の現在の
# サイズを調べて TTY の設定を合わせる機能の実装例です。
#
# 原理:
# カーソル位置を 999 行目 999 桁目に移動する命令を送信し、実際に移動した
View gist:9fc4103083595e2431d03868ad042a61
% uname -a
FreeBSD mizup 11.0-RELEASE-p1 FreeBSD 11.0-RELEASE-p1 #0 r306420: Thu Sep 29 01:43:23 UTC 2016 root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
% printf "abaaaaaaaaaaaaaaabaaaa" | hexdump -C
00000000 61 62 61 61 61 61 61 61 61 61 61 61 61 61 61 61 |abaaaaaaaaaaaaaa|
*
00000010
########
% uname -a
View .vimrc
if has('patch-8.0.0238')
if &term =~ "screen"
let &t_BE = "\e[?2004h"
let &t_BD = "\e[?2004l"
exec "set t_PS=\e[200~"
exec "set t_PE=\e[201~"
endif
else
if has('patch-8.0.0210')
set t_BE=
View gist:eeb3431f68b4d23c349eaa5ae90b437b
sue@mizup% echo $PATH
/bin:/usr/bin
sue@mizup% echo $path
/bin /usr/bin
sue@mizup% cat /home/sue/path:test/path-test
#!/bin/sh
echo $0 test
sue@mizup% path-test
zsh: command not found: path-test
sue@mizup% path=($path /home/sue/path:test)
View zm-delescape.diff
--- src/zm.c.orig 1998-12-30 01:48:38.000000000 +0900
+++ src/zm.c 2016-06-21 01:18:04.721707000 +0900
@@ -262,7 +262,17 @@
break;
case 1:
xsendline(ZDLE);
- c ^= 0100;
+ switch (c) {
+ case 0177:
+ c = ZRUB0;
View kcodecheck.rb
#!/usr/bin/env ruby
# encoding: ascii-8bit
#
# 端末の漢字コード設定判別のサンプルスクリプト
#
# コンセプトとしてはUTF-8, EUC-JP, Shift_JISのどれと解釈しても正しい、
# しかしどのエンコーディングとして解釈したかで端末での表示幅が変わる
# バイト列を送信し、その時のカーソル位置で端末がどのエンコーディング
# として解釈したかを判別する。
#
View screen-osc10_11.patch
diff -ur ansi.c ansi.c
--- ansi.c 2015-04-08 14:34:29.000000000 +0900
+++ ansi.c 2016-01-19 23:23:20.000000000 +0900
@@ -1554,12 +1554,12 @@
}
#endif
#ifdef RXVT_OSC
- if (typ == 0 || typ == 1 || typ == 2 || typ == 20 || typ == 39 || typ == 49)
+ if (typ == 0 || typ == 1 || typ == 2 || typ == 10 || typ == 11 || typ == 20 || typ == 39 || typ == 49)
{
View xterm-decrqss-decslrm.diff
--- misc.c.orig 2015-08-19 09:54:21.000000000 +0900
+++ misc.c 2015-12-02 17:41:53.123879000 +0900
@@ -4059,6 +4059,9 @@
screen->lft_marg + 1,
screen->rgt_marg + 1);
}
+ else {
+ okay = False;
+ }
} else if (!strcmp(cp, "m")) { /* SGR */
View paste64.zsh
#
# paste64 -- OSC 52 (PASTE64) を利用した端末エミュレータ経由でのクリップボード書き込み
#
# 使い方:
# % ls | paste64
# ls の結果をクリップボードに書き込む。
#
# % cat hoge | nkf -s | paste64
# ファイル hoge の内容(日本語を含む)をクリップボードに書き込む。
# 漢字コードの扱いは端末依存。
View gist:fc7fa7ea1b774f6597f8
% ruby -e '10.step(200,10) do |i| puts "%3d: %f\n"%[i, (1 - (1-0.025) **i) * 100] end'
10: 22.367038
20: 39.731232
30: 53.211570
40: 63.676756
50: 71.801190
60: 78.108428
70: 83.004924
80: 86.806219
90: 89.757277