Programming/Perl2012. 10. 4. 15:05

과제를 위해서 현재 Perl을 공부하고 있다.

책은 Learning Perl 5/e 번역본 책인데, 번역이 조금 마음에 안들긴 하지만 책 자체는 매우 훌륭한것 같다.

먼저 Perl을 시작하기 앞서서, Linux 환경이 조금 낯선 나이기 때문에  Vim Editor를 먼저 Setting해 보앗다.


http://skyloader.tistory.com/2


skyloader님의 blog에는 3가지 plug 인을 추천해주셨는데, 아직 vim에 익숙치 않아 엄청난 파워를 느낄순 없지만

Perl 코딩을 하는데 있어서 매우 큰 도움을 줄거라 확신한다.


1. Perl omni completion Plug in

http://www.vim.org/scripts/script.php?script_id=2852


2. perl-support-vim

http://www.vim.org/scripts/script.php?script_id=556


3. textMate-style nippets for vim

http://www.vim.org/scripts/script.php?script_id=2540


.vimrc는 검색하다가 발견한 것으로 대체한다.


http://www.codedanger.com/caglar/archives/409


사용법 및 설치법은 Manual에 자세히 설명되어 있으니 생략하도록 한다.


현재 .vimrc는 아래와 같이 설정되어 있다.


"syntax highlighting

set bg=light

syntax on

 

set ruler

set number

set smarttab

set fileformats=unix,dos,mac " support all three, in this order

set formatoptions=tcqor " t=text, c=comments, q=format with "gq", o,r=autoinsert comment leader

set cindent                             " indent on cinwords

set shiftwidth=4                " set shiftwidth to 4 spaces

set tabstop=4                   " set tab to 4 spaces

set showmatch                   " Show matching brackets/braces/parantheses.

set background=dark     " set background to dark

set showcmd                             " Show (partial) command in status line.

set autowrite                   " Automatically save before commands like :next and :make

set textwidth=98                " My terminal is 98 characters wide

set visualbell                          " Silence the bell, use a flash instead

set cinoptions=:.5s,>1s,p0,t0,(0,g2     " :.5s = indent case statements 1/2 shiftwidth

set cinwords=if,else,while,do,for,switch,case,class,try   " Which keywords should indent

set showmatch

set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v]\ [%p%%]\ [LEN=%L] "Shows detailed status line with formatting

set laststatus=2 "This Makes the status bar visible

set mat=5

set tabstop=2 shiftwidth=2 expandtab

filetype on

filetype plugin on

filetype indent on

set modeline

set mouse=a

set nocompatible

 

" vimrc file for following the coding standards specified in PEP 7 & 8.

"

" To use this file, source it in your own personal .vimrc file (``source

" <filename>``) or, if you don't have a .vimrc file, you can just symlink to it

" (``ln -s <this file> ~/.vimrc``).  All options are protected by autocmds

" (read below for an explanation of the command) so blind sourcing of this file

" is safe and will not affect your settings for non-Python or non-C files.

"

"

" All setting are protected by 'au' ('autocmd') statements.  Only files ending

" in .py or .pyw will trigger the Python settings while files ending in *.c or

" *.h will trigger the C settings.  This makes the file "safe" in terms of only

" adjusting settings for Python and C files.

"

" Only basic settings needed to enforce the style guidelines are set.

" Some suggested options are listed but commented out at the end of this file.

 

" Number of spaces that a pre-existing tab is equal to.

" For the amount of space used for a new tab use shiftwidth.

au BufRead,BufNewFile *py,*pyw,*.c,*.h,*.pl,*.pm,*.php set tabstop=8

 

" What to use for an indent.

" This will affect Ctrl-T and 'autoindent'.

" Python and PHP: 4 spaces

" C and perl : tabs (pre-existing files) or 4 spaces (new files)

au BufRead,BufNewFile *.py,*pyw,*.php set shiftwidth=4

au BufRead,BufNewFile *.py,*.pyw,*.php set expandtab

 

fu Select_c_style()

    if search('^\t', 'n', 150)

        set shiftwidth=8

        set noexpandtab

    el 

        set shiftwidth=4

        set expandtab

    en

endf

au BufRead,BufNewFile *.c,*.h,*.pl,*.pm,*.php call Select_c_style()

au BufRead,BufNewFile Makefile* set noexpandtab

 

" Use the below highlight group when displaying bad whitespace is desired.

highlight BadWhitespace ctermbg=red guibg=red

 

" Display tabs at the beginning of a line in Python mode as bad.

au BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/

" Make trailing whitespace be flagged as bad.

au BufRead,BufNewFile *.py,*.pyw,*.c,*.h,*.pl,*.pm,*.php match BadWhitespace /\s\+$/

 

" Wrap text after a certain number of characters

" Python: 79 

" C: 79

" Perl: 79

" PHP: 79

au BufRead,BufNewFile *.py,*.pyw,*.c,*.h,*.pl,*.pm,*.php set textwidth=79

 

" Turn off settings in 'formatoptions' relating to comment formatting.

" - c : do not automatically insert the comment leader when wrapping based on

"    'textwidth'

" - o : do not insert the comment leader when using 'o' or 'O' from command mode

" - r : do not insert the comment leader when hitting <Enter> in insert mode

" Python and Perl: not needed

" C: prevents insertion of '*' at the beginning of every line in a comment

au BufRead,BufNewFile *.c,*.h set formatoptions-=c formatoptions-=o formatoptions-=r

 

" Use UNIX (\n) line endings.

" Only used for new files so as to not force existing files to change their

" line endings.

" Python: yes

" C: yes

" Perl: yes

au BufNewFile *.py,*.pyw,*.c,*.h,*.pm,*.php set fileformat=unix

 

 

" ----------------------------------------------------------------------------

" The following section contains suggested settings.  While in no way required

" to meet coding standards, they are helpful.

 

" Set the default file encoding to UTF-8: ``set encoding=utf-8``

 

" Puts a marker at the beginning of the file to differentiate between UTF and

" UCS encoding (WARNING: can trick shells into thinking a text file is actually

" a binary file when executing the text file): ``set bomb``

 

" For full syntax highlighting:

"``let python_highlight_all=1``

"``syntax on``

 

" Automatically indent based on file type: ``filetype indent on``

" Keep indentation level from previous line: ``set autoindent``

 

" Folding based on indentation: ``set foldmethod=indent``

 

" Show tabs and trailing spaces.

" Ctrl-K >> for »

" Ctrl-K .M for ·

" (use :dig for list of digraphs)

set list listchars=tab:»»,trail:·

 

" my perl includes pod

let perl_include_pod = 1

" syntax color complex things like @{${"foo"}}

let perl_extended_vars = 1

 

" Fold the code block when <F2> is pressed

set foldmethod=marker

nmap <F2> 0v/{<CR>%zf




'Programming > Perl' 카테고리의 다른 글

Chapter 4 & Chapter 5  (0) 2012.10.05
Posted by 박세범
Diary2012. 1. 8. 01:58

 This time? you may have over-acted, haha 

'Diary' 카테고리의 다른 글

Survivor / I will Survive, Glee Version  (0) 2011.12.31
... you must listen to this  (0) 2011.11.05
10/16/2011  (0) 2011.10.16
Steven and I  (0) 2011.09.07
Posted by 박세범
Diary2011. 12. 31. 20:38






at first i was afraid, i was petrified,
kept thinkin’ i could never live without you by my side,
but then i spent so many nights thinkin’ how you did me wrong,
and i grew strong, and i learned how to get along

mercedes:
and so you’re back, from outer space,
i just walked in to find you here with that sad look upon your face,
i should’ve changed that stupid lock, i should’ve made you leave your key,
if i had known for just one second you’d be back to bother me

santana:
oh now go, walk out the door,
just turn around now, cause you’re not welcome anymore,
weren’t you the one who tried to hurt me with goodbye, you think i’d crumble, you think i’d lay down and die

the troubletones:
i’m a survivor (what), i’m not gonna give up (what)
i’m not gon’ stop (what),i’m gonna work harder (what)
i’m a survivor (what), i’m gonna make it (what)
i will survive (what), keep on survivin’ (what)

mercedes:
thought i couldn’t breath without ya,
i’m inhalin’
you thought i couldn’t see without ya,
perfect vision
you thought i couldn’t last without ya,
but i’m lastin’
you thought that i would die without ya,
but i’m livin’

santana:
thought that i would fail without ya,
but i’m on top
thought that it would be over by now,
but it won’t stop
thought that i would self destruct,
but i’m still here
even in my years to come,
i’m still gonna be here

santana and mercedes with the troubletones:
i’m a survivor (what), i’m not gonna give up (what)
i’m not gon’ stop (what), i’m gonna work harder (what)
i’m a survivor (what), i’m gonna make it (what)
i will survive (what), keep on survivin’

mercedes with the troubletones:
oh no not i, i will survive
oh no, not i
i will survive
as long as i know how to love
i know i’ll stay alive (i’m a survivor)
i’ve got all my life to live (survivor)
i’ve got all my love to give (i’m a survivor)
and i’ll survive (i’m a survivor)
i will survive (i’m a survivor)

the troubletones:
i’m a survivor (what?)
i’m not goin’ give up (what?)
i’m not goin’ stop (what?)
i’m goin’ work harder (what?)
i’m a survivor (what?)
i’m gonna make it (what?)
i will survive (what?)
keep on survivin’
i will survive!

Glee – Survivor / I Will Survive Lyrics

'Diary' 카테고리의 다른 글

I'm sorry  (0) 2012.01.08
... you must listen to this  (0) 2011.11.05
10/16/2011  (0) 2011.10.16
Steven and I  (0) 2011.09.07
Posted by 박세범