Skip to main content

dotvimrc


scriptencoding=utf-8

set mouse=a


set tags=./tags,../tags,../../tags,../../../tags,tags


function! Komment()
if getline(".") =~ '\/\*'
let hls=@/
s/^\/\*//
s/*\/$//
let @/=hls
else
let hls=@/
s/^/\/*/
s/$/*\//
let @/=hls
endif
endfunction


function! C_comment()
let hls=@/
s/^/\/\//
let @/=hls
endfunction


function! C2_comment()
let hls=@/
s/^/"/
let @/=hls
endfunction

function! C3_comment()
let hls=@/
s/^/#/
let @/=hls
endfunction

function! HTML_comment()
let hls=@/
s/^//
let @/=hls
endfunction

function! UNcomment()
let hls=@/

if getline(".") =~ '\/\/'
s/^\/\/// "for c
elseif getline(".") =~ '\"'
s/^"//
elseif getline(".") =~ '#'
s/^#//
elseif getline(".") =~ '#$'
s/^#$/$/
endif

let @/=hls
endfunction

map ,/ :call C_comment()
map ,\ :call Komment()
map ," :call C2_comment()
map ,# :call C3_comment()
map ,< :call HTML_comment()

map ,c :call UNcomment()


colorscheme torte
set nu
set hlsearch

set nocompatible
set backspace=2
set autoindent
set cindent
set smartindent
set textwidth=90
set nowrapscan
set nobackup
set novisualbell
set nojoinspaces
set ruler
set tabstop=4
set shiftwidth=4
set keywordprg=man\ -a
set showcmd
set showmatch
set ignorecase
set incsearch
set autowrite
"set linespace=2
set linespace=1
set title
set keywordprg=wdic
"set statusline=\ %<%l:%v\ [%P]%=%a\ %h%m%r\ %F\

set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P
set expandtab
set wildmenu 
set laststatus=2 
set matchpairs+=<:>
syntax on


" for programming
set formatoptions=qro
set showmatch
set foldmethod=marker foldmarker={{{,}}}


" dictionary
autocmd FileType perl :set dictionary=$HOME/vim71/runtime/syntax/perl.vim
autocmd FileType cgi :set dictionary=$HOME/vim71/runtime/syntax/perl.vim
autocmd FileType c :set dictionary=$HOME/vim71/runtime/syntax/c.vim
autocmd FileType sh :set dictionary=$HOME/vim71/runtime/syntax/shell.vim
autocmd FileType html :set dictionary=$HOME/vim71/runtime/syntax/html.vim
autocmd FileType php :set dictionary=$HOME/vim71/runtime/syntax/php.vim
autocmd FileType sql :set dictionary=$HOME/vim71/runtime/syntax/sql.vim




if has("gui_running")
"set gfn=Fixedsys\ Excelsior\ 2.00\ 14
"set gfn=MiscFixed\ Semi-Condensed\ 10
"set gfw=Hangang\ Bold\ 10
"set gfw=Osaka\ 12
"set gfn=Terminal:h10:cSHIFTJIS
"set gfn=Osaka-等:h11:cSHIFTJIS
"set gfw=Osaka-等:h11:cSHIFTJIS
"set gfn=Fixedsys_Excelsior_2.00:h12:cANSI
"set gfn=Terminal:h10:cSHIFTJIS
"set gfn=Osaka-等:h11:cSHIFTJIS
"set gfw=Osaka-等:h11:cSHIFTJIS
set guifont=BDF_UM+:h9:cSHIFTJIS
set columns=120
set lines=50
" instead in /etc/vim/gvimrc
else
set guifont=BDF_M+:h7.5:cSHIFTJIS
endif



highlight SpecialKey cterm=underline ctermfg=darkgrey
"highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=white
highlight ZenkakuSpace guibg=DarkRed
"highlight ZenkakuSpace guibg=gray40
"match ZenkakuSpace / /
"認識さ#65533;覆ぅ院璽垢�△�au BufNew,BufRead * match ZenkakuSpace / /



highlight NOTE1 cterm=bold ctermfg=Magenta guibg=Yellow guifg=Magenta
"match NOTE1 /NOTE/
au BufNew,BufRead * match NOTE1 /NOTE/

highlight TODO1 cterm=bold ctermfg=Magenta guibg=Blue guifg=Yellow
au BufNew,BufRead * match TODO1 /TODO/


autocmd BufRead *.mxml set filetype=mxml syntax=mxml

au! FileType xml,sgml,entity,xslt,svg,xhtml,xsl,xsd
\ if !exists("b:match_words") |
\ let b:match_ignorecase=0 | let b:match_words =
\ '<:>,' .
\ '<\@<=!--:-->,'.
\ '<\@<=?\k\+:?>,'.
\ '<\@<=\([^ \t>/]\+\)\%(\s\+[^>]*\%([^/]>\|$\)\|>\|$\):<\@<=/\1>,'.
\ '<\@<=\%([^ \t>/]\+\)\%(\s\+[^/>]*\|$\):/>'
\ | endif

au BufNewFile,BufRead *.html let g:snip_start_tag = "@"
au BufNewFile,BufRead *.html let g:snip_end_tag = "@"




" Jeff's cscope settings
if has("cscope")
" set csprg=/usr/bin/cscope
set csprg=~/bin/cscope
set csto=0
set cst
set nocsverb
" add any database in current directory
if filereadable("cscope.out")
cs add cscope.out
" else add database pointed to by environment
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
set csverb

" Using 'CTRL-\' then a search type makes the vim window
" "shell-out", with search results displayed on the bottom

nmap s :cs find s =expand("")
nmap g :cs find g =expand("")
nmap c :cs find c =expand("")
nmap t :cs find t =expand("")
nmap e :cs find e =expand("")
nmap f :cs find f =expand("")
nmap i :cs find i ^=expand("")$
nmap d :cs find d =expand("")

" Using 'CTRL-spacebar' then a search type makes the vim window
" split horizontally, with search result displayed in
" the new window.

nmap s :scs find s =expand("")
nmap g :scs find g =expand("")
nmap c :scs find c =expand("")
nmap t :scs find t =expand("")
nmap e :scs find e =expand("")
nmap f :scs find f =expand("")
nmap i :scs find i ^=expand("")$
nmap d :scs find d =expand("")

" Hitting CTRL-space *twice* before the search type does a vertical
" split instead of a horizontal one

nmap s :vert scs find s =expand("")
nmap g :vert scs find g =expand("")
nmap c :vert scs find c =expand("")
nmap t :vert scs find t =expand("")
nmap e :vert scs find e =expand("")
nmap i :vert scs find i ^=expand("")$
nmap d :vert scs find d =expand("")
endif



set list
"set listchars=tab:$_,trail:-,nbsp:%,extends:>,precedes:<
set listchars=tab:»·,eol:¬,trail:.,nbsp:.,extends:#,precedes:<


set encoding=utf-8
set fileencoding=utf-8


# highlighting

if has("syntax")
syntax on

function! ActivateIndicator()
"全角スペース
syntax match InvisibleJISX0208Space " " display containedin=ALL
highlight InvisibleJISX0208Space term=underline ctermbg=DarkRed guibg=DarkRed

"行末のスペースとタブ
syntax match InvisibleTrailedSpace "[ \t]\+$" display containedin=ALL
highlight InvisibleTrailedSpace term=underline ctermbg=DarkMagenta guibg=Orange

syntax match NOTE1 "NOTE" display containedin=ALL
highlight NOTE1 cterm=bold ctermfg=Magenta guibg=Magenta guifg=black

syntax match TODO1 "TODO" display containedin=ALL
highlight TODO1 cterm=bold ctermfg=Magenta guibg=Blue guifg=Yellow

syntax match suninno1 "suninno" display containedin=ALL
highlight suninno1 cterm=bold ctermfg=Magenta guibg=Yellow guifg=Green

"SpecialKeyを表示
highlight SpecialKey ctermbg=DarkGray guibg=DarkGray
endf


augroup invisible
autocmd! invisible
autocmd BufNew,BufRead * call ActivateIndicator()
augroup END
endif



if has("win32")
set shell=c:\WINDOWS\system32\cmd
set shellcmdflag=/c
endif


}}





set encoding=utf-8
set fileencoding=utf-8

" 文字コードの自動認識

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

" UTF-8の□や○でカーソル位置がずれないようにする

if exists("&ambiwidth")

set ambiwidth=double

endif

" 改行コードの自動認識

set fileformats=unix,dos,mac



* english menu [#id924905]
" メッセージの英語表示
if has("win32")
lang en
endif


" メニューの英語表示

source $VIMRUNTIME/delmenu.vim
set langmenu=none
source $VIMRUNTIME/menu.vim

Comments

Popular posts from this blog

Linux Resources Monitoring

dstat Requirements:python Dstat is a versatile replacement for iostat, vmstat and ifstat http://linux.softpedia.com/get/System/Diagnostics/Dstat-1401.shtml  - download the source file  - tar -xvjf dstate-0.7.2.tar.bz2  - cd dstate-0.7.2  - sudo make install 사용법 dstat -cdngys --top-io-adv --top-bio-adv 창넓이가 크면 dstat -cdngys --top-io --top-bio dstat 기본옵션은 -cdngy 2. pktstat requirements: libpcap-devel, ncurses-devel pktstat man page 사용법:sudo pktstat -i eth0 -T -l 실행결과 interface: eth0    total: 43.9Mb (3s) cur: 12.3M (78%) min: 12.3M max: 15.8M avg: 14.5M bps    bps    %      b desc   1.4k   0%   4.3k arp  591.8   0%   1.2k ip proto 88 55.101.66.3 <-> igrp-routers  91.3k   0%  91.3k tcp a100236:4478 <-> console:ssh  42.6k   0% 216.4k tcp a100390:mailprox <-> console:ssh   1.1k   0%   ...

SQLITE Result Codes

#define SQLITE_OK 0 /* Successful result */ /* beginning-of-error-codes */ #define SQLITE_ERROR 1 /* SQL error or missing database */ #define SQLITE_INTERNAL 2 /* Internal logic error in SQLite */ #define SQLITE_PERM 3 /* Access permission denied */ #define SQLITE_ABORT 4 /* Callback routine requested an abort */ #define SQLITE_BUSY 5 /* The database file is locked */ #define SQLITE_LOCKED 6 /* A table in the database is locked */ #define SQLITE_NOMEM 7 /* A malloc() failed */ #define SQLITE_READONLY 8 /* Attempt to write a readonly database */ #define SQLITE_INTERRUPT 9 /* Operation terminated by sqlite3_interrupt()*/ #define SQLITE_IOERR 10 /* Some kind of disk I/O error occurred */ #define SQLITE_CORRUPT 11 /* The database disk image is malformed */ #define SQLITE_NOTFOUND 12 /* NOT USED. Table or record not found */ #define SQLITE_FULL 13 /* Insertion failed because data...

nginx로 다중 포트 설정 및 다중 react app 설정

nginx에 다중 포트 설정하기 react로 여러 webapp를 개발하고, 동일한 서버에 실행시킬 필요가 있다. 이때 간단히 nginx에서 다중포트로 여러 webapp를 동일한 서버에서 실행시킬 수 있다. /etc/nginx/sites-available/에 default 파일이 있다. 보통 port 80로 설정되어 있다. 이 파일을 복사해서 sub로 명명한다.   아래와 같이 포트 8080으로 정하고, react app를 build한 디렉터리를 root <dir>로 지정하고, $> sudo service nginx restart 하면 된다. $>sudo systemctl status nginx.service 로 nginx 상태 확인이 가능하면, $> netstat -ano | grep 8080 으로 8080 포트가 살아있는 또는 외부PC에서  $>telnet ip 8080으로 telnet 접속이 되는지 확인하면 된다. 종종 Nginx 500 Interval Server Error가 발생하는데, 이는 1) root <dir>에서 <dir> 주소가 정확하지 않거나, 2) 파일 권한이 없거나이다. chmod 755 <dir>하면 대부분 해결될 것이다. 그럼 오늘도 유익한 하루 되시길..