'vimrc'에 해당되는 글 3건

  1. 2012.12.07 Vim Session 기능, highlight color 재 설정 6
  2. 2009.11.24 투명터미널 + vim의 syntax 색겹침 해결 (vim 하이라이트) 12
  3. 2008.03.11 ctags 설정 4

Vim Session 기능, highlight color 재 설정

매번 여는 파일 또열고 여는거 귀찮아서,


project_show.sh 라는 shell script를 만들고, 그안에다가 창분할해서 vim띄우게 만들어 놨었는데...


어느날 어쩌다, 검색하다 보니깐, vim에서도 session기능이 있는걸 알았습니다...


푸푸.. vim을 몇년째 쓰고있는데, 지금 들어서 알게 되었네요...


사용법은 간단합니다...


Store Session

:mksession SESSION_FILEPATH

;그냥 overwrite하려면 :mksession! 하면 됩니다.. 뭐 다 비슷하죠...


Load Session

$vim -S SESSION_FILEPATH


저 같은 경우는 그냥 screen에 바로 저렇게 박아 놨습니다.

screen -t "PROGRAMMING"     1   vim -S /home/lowid/.vim/Session.vim


세션 저장할때, 매번 :mksession 하기 귀찮으니까, 다음과 같이 키 맵핑을 해 놓으면 편합니다.

요렇게 해 놓으면 SQ 누르면 세션이 저장되면서 exit vim

~/.vimrc
nmap SQ <ESC>:mksession! ~/vim/Session.vim<CR>:wqa<CR>


역시 세션이라... 쓰던 파일들은 당연하고, 창분할까지 저번에 열였던 상태로 그대로 보존합니다...


아주 좋아요...


근데 제가쓰는 vim은 세션 기능을 쓰면 ~/.vimrc의 highlight를 무시해 버리더군요...


(아마 아치만 그런듯 한데......)


그래서 어쩔 수 없이, 다음과 같이 그냥 개인 color sheme파일을 만들어 놓고 씁니다...

" Vim color file
" Maintainer:   lowid
" Last Change:  2012/12/07

" 주의: 다른 vim coloscheme 파일과 달리,
"         이 개인 colorsheme은 vim plugin이 color를 설정해서 들어오기 때문에 highlight를 clear하면 안됨
"         적어도 세션 관련해서는 그런듯


if exists("syntax_on")
  syntax reset
endif

let colors_name = "lowid"

highlight LineNr       ctermbg=white       ctermfg=0           cterm=underline
highlight Comment                          ctermfg=darkgray    cterm=underline   
highlight Constant     ctermbg=darkmagenta ctermfg=white
highlight Identifier   ctermbg=cyan        ctermfg=black
highlight Statement    ctermbg=yellow      ctermfg=black
highlight PreProc      ctermbg=blue        ctermfg=white
highlight Type         ctermbg=green       ctermfg=black
highlight Underlined   ctermbg=blue        ctermfg=white
highlight String       ctermbg=black       ctermfg=red        
highlight Special      ctermbg=black       ctermfg=magenta    
highlight Search       ctermbg=black       ctermfg=white      

set statusline+=%{EchoFuncGetStatusLine()}


이후 다음을 추가

~/.vimrc

colorscheme lowid


참조 : http://vim.runpaint.org/editing/managing-sessions

투명터미널 + vim의 syntax 색겹침 해결 (vim 하이라이트)

사용자 삽입 이미지

투명 바탕화면을 쓰는데,

거기다가 vim이랑 같이 쓰면 하일라이트가 색깔이 겹쳐버리기 때문에 불편함을 느낄때가 있죠?

에를 들어서 녹색 나뭇잎 바탕화면에 투명 터미널을 쓴다고 하면 (vim의 syntaxON 하고 색상이 default라면)

int, char 이런거 쓰면 색깔(같은 녹색)이 겹쳐가지구 코딩할때 라던가 불편을 느낄때가 많았었 습니다.

그래서 한 1년전에는 리눅이 바탕화면을 무조껀 껌은것으로만 썻던때도 있었죠...

(제가 파랑, 녹색 계열의 바탕화면을 좋아했는데. 워낙 색깔이 겹쳐 버리는지라..)

그러다가 몇달전부터 이 하일라이트에 색깔주는 기능을 알아서 .................

기냥 제가 좋아하는 나무나, 구름 배경하면 걍 씁니다

원래 대충설정하고 걍 썻었는데 쉘 스크립트 조금 건드리면서 색깔이 도저히 겹쳐서.... 그냥 다 뒤집고 한번도

셋팅을 해 주었습니다.. 덕분에 오랜만에 블로깅도 하는거구...

vim이랑 bash랑 색깔 바꾸니깐 100% 투명으로 써도 뭐 잘 보입니다..

어쨋던 아래는 ~/.vimrc의 설정파일 일부분....

hi LineNr    cterm=underline ctermfg=0 ctermbg=white
hi Comment   cterm=underline ctermfg=darkgray
hi Constant  ctermbg=darkmagenta ctermfg=white
hi Identifier ctermbg=cyan ctermfg=black
hi Statement ctermbg=yellow ctermfg=black
hi PreProc ctermbg=blue ctermfg=white
hi Type      ctermbg=green ctermfg=black
hi Underlined ctermbg=blue ctermfg=white
hi String ctermfg=red ctermbg=black
hi Special ctermfg=magenta ctermbg=black

물론 저대로 하지 않고, 확장자 마다 다르게도 설정할수 있습니다. 편한대로 하세요..

더 자세한건 역시나 :help hi 하시면 됩니다..

(속성, 색깔 옵션 모두 나옵니다.. 영어라서 해석하기 귀찮은게 문제지만 ; )

덤으로 그냥  bash애서 색깔 바꾸는 방법도 간단하게 적어둡니다

~/.bashrc에 다음을 추가해 주세요

export LS_COLORS="di=91;40":"ex=0;42":"ln=96;40":"so=93;40"

디렉토리, 실행파일(+x), 링크, 공유라이브러리  색깔을 바꾸는 그런.. 겁니다.. 이것도 아마

man bash하면 나오던가,,, 암튼 man페이지에서 보고 했던걸로 기억...

ctags 설정



<어라 새로운 플긴이네요...... 몰랐네....... 이거함 적용 ㅋ>
리눅스 커널 프로그래밍(IT EXPERT)(CD1장포함) 상세보기
한동훈 지음 | 한빛미디어 펴냄
리눅스 실무서. 이 책은 리눅스 커널 프로그래밍 환경 구축부터 커널 컴파일 개발법, 리눅스 시스템 호출과 모듈 프로그래밍 방법, 문자 디바이스 프로그래밍과 블록 디바이스 프로그래밍, 메모리 관리와 프로세스 관리 등의 내용을 담았다. 부록 CD에는 본문에서 사용한 예제소스와 커널 2.4.32 소스와 커널 2.26.14.6 소스, 데비안 리눅스 최소 설치 버전, VMWare 이미지 및 플레이어가 수록됐다.


리눅스 커널 프로그래밍이란 책을 보고 있습니다

커널책중에 이게 젤 만만해 보이더군요 ( 쉽다는 말이 아니라 그중에서............)

뭐 암튼.;; 근데 앞부분에 ctags를 설정하는 부분이 있길래(csope,tlist는 사용하지만 이건 처음) 122 page..........

따라서 해봤는데 제대로 안되네여..

일단 커널소스있는데서

ctags -R

을 한뒤에 검색...

일단 tags 가 있는데서
vim -t task_struct

하면 잘되는데 그안(vim)에서

:ta mm_struct 하면 안되는겨 -_- 그래서 구글도 찾아보고 하니까 답이 나오네...

~/.vimrc에다가

set tags=./tags,tag파일이있는작업디렉토리/tags,.............. "여기 set tags를 아예 안적으면 ctags가 제대로 작동 X

라는 식으로 tags파일을 "절대경로" 로 정해줘야 하네요.. 직접 저 태그파일의 경로를 말이에요..

그러니까 control + ] 도 잘 동작하네요 ㅋ

<대충 요약> 자세한건 :help tags (이겟죠뭐)
control + ] => 현제 커서위치에 해당하는 자료구조로 이동
control + t => 좀전의 위치로 이동
:ta XXX     => tag파일에서 XXX 검색
:ta /XXX    => tag파일에서 XXX 포함하는것도 검색
:tj XXX     => 2개이상이면 ls처럼 list 출력
:tn,:tp      => (tag)next,prev
tags        => History list

아나 설정파일 같은거 할때 책에 이런거좀 적어주지 칫.,. 데뱡이나 펫호라아님 무시하는 건가효??

우리 아치는 머셈??

내가 만드는 호좁한 기껏해야 천줄안팍인 프로그램은 이딴거 별 필요 없었는데....... 확실히 커널크기가 크니까

이런것도 필요한듯하네요

음......글구 스터디할분이랑 같이 수요일날부터 하기로 했는데 같이할님이랑 못만나겠네요......

일단 혼자서라도 해야...............

.......................학과 공부 대충하고 이거 해도 되려나........

덧> tags파일이 자주 수정된다면 걍 crontab에 등록시켜 버려도 될거 같다 알아서 갱신하게 ㅋ

학교땜에 바빠서 제대로 건들일수가 없네여 ㅜㅜ
prev 1 next