perlrebackslash.podの翻訳(途中)
perlrebackslash.podを途中まで翻訳したので公開します。
続きを読むvimでsplitしてるときにjkでスプリッタを動かせるやつ
「世界の全てのモノは hjkl
で動かせるべきだ」とお考えの vi
使いのみなさんへ。
このスクリプトを、~/.vim/plugin/
においてやって vi
を立ち上げ、:split
してるときに、CTRL
を押しながら WE
を押してやると、動かせるモードが ON
になったり、OFF
になったりします。
~/.vim/plugin/
ディレクトリがないよ、っていう場合は、作ってあげるといいです。
ここに、
https://github.com/peanutsjamjam/peanutsjamjam_misc
pjj_win_resize.vim
という名前で置いてあります。:vsp
したときは、hl
で左右に動かせますが、スプリッタが 2 つ以上になっているときはあまりちゃんと考えてません。
追記:
githubを見に行くのがめんどい時は、ここからコピっていけるようにソース貼り付け。
この中身を、pjj_win_resize.vim
という名前で、~/.vim/plugin/
に置いてあげると動きます。
" Vim global plugin that enables us to move status line with keys 'j' and 'k'. " Maintainer: Atsushi SUGAWARA <peanutsjamjam@gmail.com> " Last Change:2011 Feb 28 " License: This file is placed in the public domain. " " install to ~/.vim/plugin/ if &cp || exists("g:loaded_pjj_win_resize") finish endif let g:loaded_pjj_win_resize = 1 let s:keepcpo = &cpo set cpo&vim let s:enabled = 0 function s:Enable() if (winnr("$") == 1) " there is only 1 window. byebye. let s:enabled = 0 return endif if (winnr() != winnr("$")) " not the last window exe "nmap j <C-W>+" exe "nmap k <C-W>-" else " here is the last (bottom) window exe "nmap j <C-W>-" exe "nmap k <C-W>+" endif exe "nmap h <C-W><" exe "nmap l <C-W>>" echo "Resize mode on. Press <C-W><C-E> again to quit." endfunction function s:Disable() exe "nunmap j" exe "nunmap k" exe "nunmap h" exe "nunmap l" echo "Resize mode off." endfunction function! s:ToggleMode() if s:enabled == 0 let s:enabled = 1 call s:Enable() else let s:enabled = 0 call s:Disable() endif endfunction nnoremap <silent> <C-W><C-E> :call <SID>ToggleMode()<CR> " vim: ts=2 sts=2 sw=2 et let &cpo= s:keepcpo unlet s:keepcpo
zlib, gzcat
http://lists.freebsd.org/pipermail/freebsd-questions/ からダウンロードした 2009-May.txt.gz
を、zlib
を使った自作プログラムで伸長してみた。
#include <err.h> #include <stdio.h> #include <zlib.h> int main(int argc, char **argv) { char buf[256]; gzFile fp; if (argc < 2) return 1; fp = gzopen(argv[1], "rb"); if (!fp) err(1, "gzopen"); while (!gzeof(fp)) { gzgets(fp, buf, sizeof buf); printf("%s", buf); } gzclose(fp); return 0; }
このプログラムを -lz
を付けてコンパイルして、2009-May.txt.gz
を読ませると、その md5
値は、
% ./program 2009-May.txt.gz | md5 925fdeca227d43369f075714e3211ed2
しかし、gzcat
を使うと、
% gzcat 2009-May.txt.gz | md5 0ccec811ef9aed34dcc3a54a2cbb9e7d
なんでだろ。