Skip to content

Instantly share code, notes, and snippets.

View ttdoda's full-sized avatar

IWAMOTO Kouichi ttdoda

  • Kanagawa, Japan
View GitHub Profile
@ttdoda
ttdoda / paste64.zsh
Last active June 17, 2020 14:03
OSC 52 でのクリップボード書き込み (zsh用関数定義)
#
# paste64 -- OSC 52 (PASTE64) を利用した端末エミュレータ経由でのクリップボード書き込み
#
# 使い方:
# % ls | paste64
# ls の結果をクリップボードに書き込む。
#
# % cat hoge | nkf -s | paste64
# ファイル hoge の内容(日本語を含む)をクリップボードに書き込む。
# 漢字コードの扱いは端末依存。
@ttdoda
ttdoda / xterm-decrqss-decslrm.diff
Created December 3, 2015 05:43
xtermのDECRQSSのバグ修正
--- 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 */
@ttdoda
ttdoda / screen-osc10_11.patch
Last active February 5, 2016 18:00 — forked from saitoha/screen-osc11.patch
GNU Screen: Support OSC 10 & 11 sequence (set foreground/background color)
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)
{
@ttdoda
ttdoda / kcodecheck.rb
Last active March 31, 2017 02:45
端末の漢字コード設定の判別
#!/usr/bin/env ruby
# encoding: ascii-8bit
#
# 端末の漢字コード設定判別のサンプルスクリプト
#
# コンセプトとしてはUTF-8, EUC-JP, Shift_JISのどれと解釈しても正しい、
# しかしどのエンコーディングとして解釈したかで端末での表示幅が変わる
# バイト列を送信し、その時のカーソル位置で端末がどのエンコーディング
# として解釈したかを判別する。
#
@ttdoda
ttdoda / zm-delescape.diff
Created June 20, 2016 16:26
lsz -e でDEL(0x7f)および0xFFもエスケープさせるパッチ
--- 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;
@ttdoda
ttdoda / gist:eeb3431f68b4d23c349eaa5ae90b437b
Last active January 6, 2017 04:41
PATHに : を含められるか。zshの場合
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)
@ttdoda
ttdoda / .vimrc
Last active November 28, 2019 03:50
tmux使用時のvimでのBracketed Paste Mode有効化
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=
% 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
@ttdoda
ttdoda / resize.rb
Last active November 19, 2023 16:06
xterm付属のresizeコマンドの手抜き再実装
#!/usr/bin/env ruby
#encoding: ASCII-8BIT
#
# resize.rb -- resize コマンドの手抜き実装
#
# xterm の付属コマンド resize[1] の機能の内、端末(エミュレータ)の現在の
# サイズを調べて TTY の設定を合わせる機能の実装例です。
#
# 原理:
# カーソル位置を 9999 行目 9999 桁目に移動する命令を送信し、実際に移動した
@ttdoda
ttdoda / vim-lrm-req.diff
Created July 19, 2017 15:05
VimでのDECRQMによる左右マージン利用自動判定
diff --git a/src/main.c b/src/main.c
index 268c256..04edcad 100644
--- a/src/main.c
+++ b/src/main.c
@@ -825,6 +825,7 @@ vim_main2(void)
may_req_termresponse();
may_req_bg_color();
+ may_req_lrm_status();
#endif