사람들이 내가 vi 쓰는것을 보고 가끔 물어본다..

.vimrc 파일이 궁금하다고.ㅋㅋ

별건 없고...나의 편의를 위해서 몇가지 단축키를 만든것 뿐인데..

나는 vi를 배우는 사람에게 .vimrc를 세팅하는 걸 권유하고 싶지 않다..

이유는 vim 일 경우는 상관이 없지만..

vim이 없고 vi 만 있는 경우는..

.vimrc를 사용하지 못하기 때문이다..

나는 회사에서 1년동안 vim이 없는 환경에서 배웠다.-_-;;

죽을 맛이었다.ㅋㅋㅋ

하여튼...내가 쓰는 설정을 공개한다..

막상 올려 보니 길다..-_-;;

처음엔 쓴다가 필요없어서 주석처리 한것도 있고....그렇다..-_-

그냥 파일을 통으로 복사해서 붙여 넣은것이다...

set ts=4
set sw=4
set magic
set wrap
set ruler
set showmode
set visualbell
set nobackup
set nowritebackup
set incsearch
set fileformats=unix
set background=dark
set tags=tags\ ~/nxtool/nxlib/tags\ ~/nxtool/svcgen/tags\ ~/nxtool/sqlw/tags
set title
au BufRead,BufNewFile *.pc  setf esqlc
syntax on
if &term =~ "xterm"
"  if has("terminfo")
"    set t_Co=16
"    set t_AB=^[[%?%p1%{8}%<%t%p1%{40}%+%e%p1%{92}%+%;%dm
"    set t_AF=^[[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm
"  else
"    set t_Co=16
"    set t_Sf=^[[3%dm
"    set t_Sb=^[[4%dm
"  endif
  if has("terminfo")
    set t_Co=8
    set t_Sf=^[[3%p1%dm
    set t_Sb=^[[4%p1%dm
  else
    set t_Co=8
    set t_Sf=^[[3%dm
    set t_Sb=^[[4%dm
  endif
endif

"=========================================================
" ctags를 사용하기 위한 함수
"=========================================================
"function! InsertTabWrapper(direction)
"let col = col('.') - 1
"if !col || getline('.')[col - 1] !~ '\k'
"return \"\"
"elseif \"backward" == a:direction
"return \"\"
"else
"return \"\"
"endif
"endfunction
"
"inoremap =InsertTabWrapper ("forward")
"inoremap =InsertTabWrapper ("backward")
"=========================================================
" 아래는 사용자가 지정한 Key Mapping입니다.
" F1     : 탐색기열기
" F2     : 창이동
" F3     : 창크게하기
" F4     : 이전파일
" F5     : 컴파일
" F6     : 실행
" F11    : 폴딩(접기)
" F12    : 폴딩(풀기)
" Ctrl-s : 저장
" Ctrl-c : 지정범위 버퍼에 복사
" Ctrl-x : 지정범위 버퍼에 복사 후 지정범위 삭제
" Ctrl-p : 버퍼내용 붙여넣기
" Ctrl-n : 현재 커서와 같은 문자열을 검색
" Ctrl-z : 현재줄 주석처리
" Ctrl-c : 현재줄 주석 삭제
"=========================================================
map <F1> :60vs./<CR>
map <F2> ^Ww
map <F3> :only<CR>
map <F4> ^^
map <F5> !!cd /koscom/accnt/usr/hkkim2/aps_bank;dcc make<CR>
"map <F6> !
map <F11> v%zf
map <F12> zo
map <C-s> :w<CR>
map <C-c> :'a,'b w! ~/tmp/tmp<CR>
map <C-x> :'a,'b w! ~/tmp/tmp<CR> :'a,'b d<CR>
map <C-p> :r ~/tmp/tmp<CR>
map <C-n> <s-*>
map <S-z> :. s/^/\/\/#Comment By HKKim# /<CR>
map <S-c> :. s/^\/\/#Comment By HKKim# //g<CR>


 

'컴퓨터 이야기' 카테고리의 다른 글

find를 이용한 스크립트.  (0) 2007.02.08
내가 쓰는 ORACLE..  (2) 2007.02.08
나의 백업 솔루션  (0) 2007.02.06
(표준화)데이터 용어사전의 필요성.  (0) 2006.12.05
Programing에 대해서 주저리주저리  (1) 2006.12.01
프로그래밍을 하다보면..

변수명때문에 고민하는 경우가 참 많다..

같은 변수명인데도.......프로그램이나 모듈마다 다르고..

결국 프로젝트가 커지면 커질수록...

암호화 되어가는 코드가 생겨나는 것이다..

주석을 잘 단다면......그나마 낳기는 하겠지만..

주석으로 인해서 코드가 지져분해지는 모습은...

개인적으로 너무 싫다..

그래서 데이터 용어사전의 필요성에 대해서..생각을 하게 되었다.

우선은 헝가리안 표기법을..기본으로 하여야 한다.

그리고 내가 정한 방식이므로 꼭 이렇게 해야 한다는 말은 아니다..

단순한 참고 자료가 되었으면 한다...

Long 형은 접두어로       l 을
INTEGER 형은 접두어로 n 을  (i를 하지 않은 이유는 l과 비슷해 보이기 때문에..)
String는                       z 를  (s는 전문에서 쓰고자..빼두었다..)
Char은                        c를
전문용 String은             s를  (전문은 통..String으로 이루어진..데이터를 의미한다.)
Date형은(DB에서 사용)은 d를

대충 이렇게 접미어를 정의해 두고...

데이터 용어 사전을 만든다.

등록 : Reg    (Regist)
글    : Cnts   (Contents)
날짜 : Dt       (Date)
           .
           .
           .
           .
Excel이나 DB로 이런 사전을 관리하면서 필요시마다 찾아 볼 수 있도록 해야 한다.

프로젝트 규모가 클수록 DB가 좋을 것이다..(동기화 문제.)

이런 사전이 있으면..

글등록일 이라는 변수명은... dCntsRetDt 형태로...

용어사전에 맞는 변수명을 만든다..

이렇게 정의된 형태의 변수명만 사용한다면..

자주 사용하는 변수명은 외우게 되어...

바로바로 쓰고 알아보게 될 것이고..

자주 사용하지 않는 변수명이라면....

바로바로 검색하여 변수의 의미를 알게 될 것이다..

단점이라면...

데이터 용어사전 만드는데...드는 노력과...

데이터 용어사전을 관리하는 어려움...등이 있겠지만..

프로젝트의 규모가 커지면 커질 수록 유용하며..

유지보수에도 아주 큰 도움이 될 것이다.


그리고 자주 쓰는 변수명(DB컬럼 포함)들은..

따로 관리를 하고...char[]의 경우는...

사이즈도 정하는 것도.....좋은 방법인듯 하다.

'컴퓨터 이야기' 카테고리의 다른 글

find를 이용한 스크립트.  (0) 2007.02.08
내가 쓰는 ORACLE..  (2) 2007.02.08
나의 백업 솔루션  (0) 2007.02.06
내가 쓰고 있는 .vimrc  (0) 2007.02.05
Programing에 대해서 주저리주저리  (1) 2006.12.01
내가 느끼는 프로그래밍이 무언지...

가끔 고민한다..

그리고 매번 다른 의미의 답을 만들기도 한다..

"Programing is flowing of data"(프로그램은 데이터의 흐름이다.)

요즘 코딩을 하다 보면 이런 느낌이 든다..

데이터의 흐름이 원활하면 프로그램에 버그도 적어지겠다 라는 생각도..

하지만...사람들은 이것을 무시하는 경우가 있다.

나도 가끔 그런다..

데이터가 잘 흘러가야 하는데..

변수를 막 쓰고...

표준화도 잘 안되어 있고..

모듈화도 잘 안되어 있다...

보통 버그는 그래서 생기는 버그일 것이다..

"programing is gathering of  function" (프로그램은 함수의 모임이다.)

프로그램을 하다 보면...함수가 모여서 하나의 프로그램이 만들어진다는것을..

누구나 느끼고 있다..

각각의 함수가 완벽하게 돌아간다면..

프로그래머의 사소한 실수가 없다면 그 프로그램은 버그가 적은

탄탄한 프로그램이 될 것이다..

그러니...각각의 함수가 얼마나 잘 짜여졌는지 확인하는 것이..

가장 중요한 것중 하나라고 생각한다..

그리고 함수는 잘 동작하려면 간단한 로직처리만을 해야 한다..

함수가 복잡해진다면...

그 함수가 탄탄해지지 못한다는 것이다.

로직의 단순화와...그 단순화 된 로직을 함수로 바꾸는 일..

이것이...프로그래머가 지향해야하는 것이..아닐까?

그리고 내가 가장 노력해야 할 것 중 하나는..

주석이 없이도 한눈에 알아보는 코드를 만들기..

주석때문에 지저분한 코드는 싫다...

깔끔하고 잘 정돈되어 있는 코드..

주석이 없어도...로직이 간단해서..그리고.

변수가 통일화가 되어 있어서...한눈에 알아본다면..

그것이 좋은 코드라고 생각한다.

주석 다는 방법은....통일화된 방법을 이용하자.

변수의 선언시 : 변수의 역할을 주석에 단다.
함수의 선언시 : 함수가 하는 스팩을 주석에 단다.
함수의 구현시 : 함수에가 하는 일, 로직에 대한 설명을 주석에 단다.

이 주석외에는.....되도록 사용하지 않는 코드를 만들자...

'컴퓨터 이야기' 카테고리의 다른 글

find를 이용한 스크립트.  (0) 2007.02.08
내가 쓰는 ORACLE..  (2) 2007.02.08
나의 백업 솔루션  (0) 2007.02.06
내가 쓰고 있는 .vimrc  (0) 2007.02.05
(표준화)데이터 용어사전의 필요성.  (0) 2006.12.05

+ Recent posts