sshでtimeout設定
すぐにブログの更新をあきらめてしまいますが、
忘れないうちにメモ。
先日会社でscpコマンドがtimeoutしないためwebページが真っ白に。
配信先のサーバが一台死んでしまったため。
http://www.unixuser.org/~euske/doc/openssh/jman/ssh_config.html
sshやscpの設定はデフォでは
~/.ssh/config /etc/ssh/ssh_config
このファイルらしい。
webサーバが実行するのでとりあえず設定ファイルには書かずしたいので
sshの -o オプションを指定。
設定ファイルと同じ記述がよめるらしい。
ということで
ssh -o "ConnectTimeout 5" xxxxx.server
と設定することでタイムアウトが指定できました。
subversionとctags
vimrcでctagsの設定を
set tags=./tags "上位下位ディレクトリのctagsファイルを探す set tags+=tags; set tags+=./**/tags
このようにどこのディレクトリでもtagファイルを読めるようにしていると
subversionのtagsディレクトリを誤認識し、エラーが出る。
また毎回tagファイルを作るオプションなどしらべるのがめんどうなので
シェルスクリプトを残しておく。
#!/bin/sh ctags -a -R --langmap=PHP:.php.inc.tpl -f tagsmap --php-types=c+f+d+v ./
生成するファイルをtagsmapという名前にして対応。
vimrcも
set tags=./tagsmap set tags+=tagsmap; set tags+=./**/tagsmap
に変更しておく
vimrc
syntax on set expandtab set number set autoindent set smartindent set shiftwidth=4 set tabstop=4 set showmatch set showcmd set laststatus=2 "set cmdheight=2 set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P "set encoding=japan set encoding=utf-8 set fileencoding=utf-8 "set fencs=iso-2022-jp,rnc-jp,cp932 "検索文字列が小文字の場合は大文字小文字を区別なく検索する set ignorecase "検索文字列に大文字が含まれている場合は区別して検索する set smartcase "検索時に最後まで行ったら最初に戻る set wrapscan "タブ文字、行末など不可視文字を表示する set list "listで表示される文字のフォーマットを指定する set listchars=tab:>\ ,extends:< "行頭の余白内で Tab を打ち込むと、'shiftwidth' の数だけインデントする。 set smarttab "カーソルを行頭、行末で止まらないようにする set whichwrap=b,s,h,l,<,>,[,] "backspaceで改行なども消す set backspace=indent,eol,start set wildmenu set wildmode=list:full " リスト表示,最長マッチ "phpファイルのときphpの辞書を使用 autocmd FileType php :set dictionary=~/.vim/dict/PHP.dict "辞書ファイルを使用する設定に変更 set complete+=k "ctags set tags=./tagsmap "上位下位ディレクトリのctagsファイルを探す set tags+=tagsmap; set tags+=./**/tagsmap "syntax match ZenkakuSpace " " display containedin=ALL au BufRead,BufNew * match ZenkakuSpace / / highlight ZenkakuSpace term=underline cterm=underline ctermfg=Blue guifg=Blue """""""""""""""""""""""""""" " 文字コードの自動認識 if &encoding !=# 'utf-8' set encoding=japan set fileencoding=japan endif if has('iconv') let s:enc_euc = 'euc-jp' let s:enc_jis = 'iso-2022-jp' " iconvがeucJP-msに対応しているかをチェック if iconv("\x87\x64\x87\x6a", 'cp932', 'eucjp-ms') ==# "\xad\xc5\xad\xcb" let s:enc_euc = 'eucjp-ms' let s:enc_jis = 'iso-2022-jp-3' " iconvがJISX0213に対応しているかをチェック elseif iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb" let s:enc_euc = 'euc-jisx0213' let s:enc_jis = 'iso-2022-jp-3' endif " fileencodingsを構築 if &encoding ==# 'utf-8' let s:fileencodings_default = &fileencodings let &fileencodings = s:enc_jis .','. s:enc_euc .',cp932' let &fileencodings = &fileencodings .','. s:fileencodings_default unlet s:fileencodings_default else let &fileencodings = &fileencodings .','. s:enc_jis set fileencodings+=utf-8,ucs-2le,ucs-2 if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)$' set fileencodings+=cp932 set fileencodings-=euc-jp set fileencodings-=euc-jisx0213 set fileencodings-=eucjp-ms let &encoding = s:enc_euc let &fileencoding = s:enc_euc else let &fileencodings = &fileencodings .','. s:enc_euc endif endif " 定数を処分 unlet s:enc_euc unlet s:enc_jis endif " 日本語を含まない場合は fileencoding に encoding を使うようにする if has('autocmd') function! AU_ReCheck_FENC() if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0 let &fileencoding=&encoding endif endfunction autocmd BufReadPost * call AU_ReCheck_FENC() endif " 改行コードの自動認識 set fileformats=unix,dos,mac " □とか○の文字があってもカーソル位置がずれないようにする if exists('&ambiwidth') set ambiwidth=double endif """""""""""""""""""""""""""""""""""""""""""""""""""""""" ""文字コード自動識別終了
- -
cd ..を1文字で
## ^でcd .. ## 日本語配列だと便利なんだけど、英字配列だとどうも... function cdup() { echo cd .. zle reset-prompt } zle -N cdup bindkey '\^' cdup
bashでもcd したら ls
function cd () { builtin cd $1 ls -a }
zsh function cd したら ls
cd したらlsが癖なので
##cd したら ls function chpwd() { ls -F }