반응형
반응형
반응형
export PATH=$PATH:/usr/local/mysql/bin/

이런식으로 추가 한다.

반응형

'OS > Linux' 카테고리의 다른 글

리눅스 명령어  (0) 2009.02.11
.bashrc 파일 적용  (0) 2009.02.11
du 명령어 (파일및 디렉토리의 용량을 확인한다.)  (0) 2009.02.11
쉘바꾸기  (0) 2009.02.11
scp 파일 가져오기.  (1) 2009.02.11
반응형

du 명령어 (파일및 디렉토리의 용량을 확인한다.)


 

제공 : 리눅스포털 -수퍼유저코리아-

 

 

 

 

Disk Usage의 약어로서 파일및 디렉토리의 사용량을 확인할 때 사용하는 명령어이다.
du 명령어는 현재디렉토리의 용량뿐 아니라 현재디렉토리의 서브디렉토리 및 파일들 까지 모두 함께 사용량을 계산하여 표시해 준다.
기본 용량표시단위는 kbyte이다.

 

사용형식

       du [OPTION]... [FILE]...

 

사용예 #1

특정 디렉토리내에 존재하는 파일들의 개별용량을 확인코자 할 때에는 다음과 같이 한다.
"du 디렉토리명"이라고 하면 지정한 디렉토리내에 존재하는 모든 파일의 용량을 파일명과 함께 표시해 준다.

다음은 그 예이다.

[root@host3 /]# du /etc 
184     /etc/sysconfig/network-scripts
4       /etc/sysconfig/console
4       /etc/sysconfig/networking/devices
4       /etc/sysconfig/networking/profiles/default
8       /etc/sysconfig/networking/profiles
20      /etc/sysconfig/networking
16      /etc/sysconfig/apm-scripts
20      /etc/sysconfig/rhn
372     /etc/sysconfig
60      /etc/X11/desktop-menus
....
....

위의 예는 /etc/에 존재하는 모든 파일들(서브디렉토리내의 파일들 까지 포함)의 용량과 함께 파일명을 표시해 준다.
용량 단위는 kbyte단위이다.

하지만 /etc내에는 수많은 파일들이 존재하므로 한 화면에 모두 표시되지 않는다.
그리고 모두 표시된다 하더라도 한눈에 정확하게 어떤파일이 얼마의 용량을 차지하고 있는지를 한눈에 확인하기가 어렵다.
따라서 이번에는 전체 용량을 정리하여 한번에 보여주는 예를 보도록 하자.

사용예 #2

이번에는 /etc 디렉토리의 전체용량이 얼마나 되는가를 확인해 보도록 하자.
"-s"(summary)을 사용하면 지정된 디렉토리내에 존재하는 모든 파일과 서브디렉토리들의 용량을 합쳐서 표시해 준다.

[root@host3 /]# du -s /etc
12892   /etc
[root@host3 /]#

위와 같이 전체용량을 간략히 표시할 때에는 -s옵션을 사용한다.
위의 예에서 /etc/는 12,892byte를 현재 사용하고 있다.
그런데 좀 용량단위가 표시되지 않아서 불편해 보일 수도 있다.
이것을 좀 더 간편하게 용량단위까지 표시해 보도록 하자.

사용예 #3

이번에는 /etc 전체용량을 용량의 단위까지 표시해서 확인해 보자.
즉, 전체용량을 모두 합해서 용량단위까지 붙여서 출력하라는 옵션은 "-sh"옵션을 사용한다.

"-h"(human-readable)는 단위를 표시하게 하는 du명령어의 옵션으로서 Kbyte 또는 MBbyte또는 GByte등의 용량표시를 해주게 된다.
K, B, G단위는 용량의 크기에 따라서 간편한 쪽으로 표시된다.
즉, human-readable의 약어인것 처럼 사람이 좀 더 읽기 편하게 표시해준다는 의미이다.

[root@host3 /]# du -sh /etc
13M     /etc
[root@host3 /]#

위의 예는 /etc의 전체 용량이 13M가 된다는 것을 의미하고 있다.

이번에는 좀 더 현실적인 예를 들어 보자.
서버관리를 하다보면 루트디렉토리 밑에 존재하는 각 디렉토리들의 개별 사용량을 확인하거나 확인하여 보고서를 작성해야할 때도 있을 것이다.
이때 간편하게 다음과 같은 명령어로 개별 디렉토리의 사용량을 간편하게 확인할 수 있다.

[root@host3 /]# du -sh /*
6.8M    /bin
5.2M    /boot
12K     /command
428K    /dev
13M     /etc
216K    /home
4.0K    /initrd
44M     /lib
16K     /lost+found
4.0K    /misc
8.0K    /mnt
4.0K    /opt
1.0K    /proc
4.0M    /root
12M     /sbin
48K     /tftpboot
500K    /tmp
1.7G    /usr
44M     /var
[root@host3 /]#

보다시피 / 밑에는 개별 시스템 디렉토리들이 존재하고 있다.
이때 간편히 위와 같은 명령어로 개별 디렉토리의 용량을 확인할 수 있다.

또한 좀 더 실무적인 접근을 해보자면, 호스팅 서버에서는 개별 사용자들의 계정 사용량을 확인해야할 경우가 종종 있을 것이다.
이때에는 다음과 같이 간편하게 확인할 수 있다.

아래는 /home의 전체용량을 확인한 것이다.

[root@host3 /]# du -sh /home/
59M     /home
[root@host3 /]#

그리고 계정사용자들의 개별사용량을 확인한 것이다.
[root@host3 /]# du -sh /home/*
13M     /home/bible
15M     /home/bible1
17M     /home/bible2
15M     /home/bible3
[root@host3 /]#


사용법 #4

개별 사용자가 자기가 사용하는 계정의 전체용량을 확인하고자 할때에는 다음과 같이 한다.
telnet이나 ssh등으로 서버로 로그인한 다음 "du -sh ~자기ID"라고 하면 현재 자기가 사용중인 계정의 전체용량을 확인할 수 있다.

[root@host3 /]# du -sh ~bible
13M     /home/bible
[root@host3 /]# du -sh ~bible1
15M     /home/bible1
[root@host3 /]#

이상으로 du에 대한 설명을 마친다.
참고로 du 명령어는 df명령어와 함께 익혀두는 것이 서버관리 공부에 많은 도움이 될 것이다.


저작권: 리눅스포털 (
www.superuser.co.kr), 무단 재배포및 복사를 금합니다.


 

출처 : http://www.superuser.co.kr/superuserboard/view.html?id=35&code=linuxcom&start=50&position=

반응형

'OS > Linux' 카테고리의 다른 글

.bashrc 파일 적용  (0) 2009.02.11
path 추가  (0) 2009.02.11
쉘바꾸기  (0) 2009.02.11
scp 파일 가져오기.  (1) 2009.02.11
[VI] vi 에서 utf-8 형식의 글 보기.  (0) 2009.02.11
반응형

먼저 쉘 확인하기..

 

echo $SHELL

 

ksh : korn shell

csh : C shell

sh : bourne shell

bash : bash shell

 

이다..

 

쉘 바꾸기는 간단..

 

# 에서 korn shell 로 바꿀려면

# ksh

라고 입력하면 끝..

 

다른 쉘도 마찬가지..

 

만약 로그인 할때마다 내가 원하는 쉘로 바꾸고 싶다면?

 

etc/passwd 파일을 연다..

 

그러면..

root:x:0:1:Super-User:/:/sbin/sh
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:Line Printer Admin:/usr/spool/lp:
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
smmsp:x:25:25:SendMail Message Submission Program:/:
listen:x:37:4:Network Admin:/usr/net/nls:
nobody:x:60001:60001:Nobody:/:
noaccess:x:60002:60002:No Access User:/:
nobody4:x:65534:65534:SunOS 4.x Nobody:/:
oracle:x:301:300::/oracle/app/oracle/product/9.2.0:/bin/ksh
idctech:x:302:1::/home/idctech:/bin/ksh
indi:x:303:1::/home/indi:/bin/ksh
tuxedo:x:304:1::/export/home/tuxedo:/bin/ksh

 

이런 것들이 나오는데..여기서 원하는 쉘로 바꿔주면 된다.

 

root 의 쉘을 korn 쉘로 바꿀려면

 

root:x:0:1:Super-User:/:/bin/ksh:

 

로 바꿔주면 끝..

 

아..이 파일에서 권한과 그룹도 같이 설정 해줄수 있다..

 

tuxedo:x:304:1::/export/home/tuxedo:/bin/ksh

 

에서 304 가 owner 1 이 그룹..

 

이걸 원하는 걸루 바꿔 주면 됨..

 

P.S root 의 쉘은 웬만하면 바꾸지 말것..로그인 안되는 수가 있단다..

반응형

'OS > Linux' 카테고리의 다른 글

path 추가  (0) 2009.02.11
du 명령어 (파일및 디렉토리의 용량을 확인한다.)  (0) 2009.02.11
scp 파일 가져오기.  (1) 2009.02.11
[VI] vi 에서 utf-8 형식의 글 보기.  (0) 2009.02.11
tar 압축  (1) 2009.02.11
반응형
scp childeye@server 주소:파일경로 .
반응형

'OS > Linux' 카테고리의 다른 글

du 명령어 (파일및 디렉토리의 용량을 확인한다.)  (0) 2009.02.11
쉘바꾸기  (0) 2009.02.11
[VI] vi 에서 utf-8 형식의 글 보기.  (0) 2009.02.11
tar 압축  (1) 2009.02.11
[VI] vi 한글깨짐 현상  (1) 2009.02.11
반응형
set tenc=korea
set enc=utf-8

~/.vimrc 파일
반응형

'OS > Linux' 카테고리의 다른 글

쉘바꾸기  (0) 2009.02.11
scp 파일 가져오기.  (1) 2009.02.11
tar 압축  (1) 2009.02.11
[VI] vi 한글깨짐 현상  (1) 2009.02.11
[VI] vi 색상 바꾸기 - vim 파일(putty.vim)  (1) 2009.02.11
반응형

tar - GNU 버전 tar 저장 도우미

이 설명서는 tarfile 이라고 알려진 저장 파일을 묶거나 풀 수 있도록 만들어 진
GNU 버전 tar 저장 프로그램에 대한 설명이다. tarfile 은 테이프 드라이브에 저
장할 수도 있고, tarfile 을 일반적인 보통 파일로 쓸 수도 있다. tar 의 첫번째
인수로는 반드시 Acdrtux 중 하나의 옵션이 들어가야 하고, 다른 선택적인 기능이
 덧붙여진다. tar 의 마지막 인수로는 압축될 파일이나 디렉토리의 이름이 오게
된다. 디렉토리 이름이 사용될 경우 언제나 하위 디렉토리가 함께 저장된다.

가장 많이 사용하는 일반적인 옵션

[압축할 때] tar cvzf 파일명.tar.gz <디렉토리> 또는 파일
[압축 해제] tar xvzf 파일명.tar.gz

[예제]
tar -xvvf foo.tar : foo.tar 파일을 푼다.
tar -xvvzf foo.tar.gz : gzip으로 압축된 foo.tar.gz 파일을 푼다.
tar -cvvf foo.tar foo/ : foo 디렉토리에 있는 내용물을 foo.tar 파일로 묶는다.

기능 옵션
반드시 아래 옵션들 중 하나가 들어가야 한다.
-A, --catenate, --concatenate : 저장 파일에 tar 파일을 추가한다.
-c, --create : 새 저장 파일을 만든다.
-d, --diff, --compare : 저장 파일 혹은 파일 시스템 간의 다른 점을 찾는다.
--delete : 저장 파일에서 지운다. (자기 테이프에는 쓰면 안됨!)
-r, --append : 저장 파일의 끝에 파일을 덧붙인다.
-t, --list : 저장 파일의 내용 목록을 보여준다.
-u, --update : 저장 파일에 저장된 사본보다 새로운 파일만을 덧붙인다.
-x, --extract, --get : 저장된 것에서 풀어낸다.

부가적인 옵션
--atime-preserve : 덤프된 파일의 접근 시간을 바꾸지 않는다.
-b, --block-size N : 블럭 크기를 N x 512 바이트로 정한다. (기본값 N = 20)
-B, --read-full-blocks : 읽은 만큼 블럭을 재지정한다. (4.2BSD 파이프를 읽기 위함)
-C, --directory DIR : DIR 디렉토리로 바꾸고 작업을 한다.
--checkpoint : 저장 파일을 읽는 동안 디렉토리 이름을 출력한다.
-f, --file [HOSTNAME:]F : 저장 파일 혹은 장치 파일 F에 저장한다.
 (기본 "-", 표준입/출력을 나타낸다.)
--force-local : colon 문자가 있더라도 저장 파일을 지역 파일로 처리한다.
-F, --info-script F --new-volume-script F : run script at end of each tape (implies -M)
 테이프의 끝에 도달하면 스크립트를 실행한다. (-M 이 포함된다.)
-G, --incremental : 이전 GNU 형식으로 incremental 백업을 만들거나 목록을 보거나 풀어낸다.
-g, --listed-incremental F : 새로운 GNU 형식으로 incremental 백업을 만들거나 목록을 보거나
 풀어낸다.
-h, --dereference : 심볼릭 링크를 묶지 않는다. 그것이 가리키는 파일을 묶는다.
-i, --ignore-zeros : 크기가 0인 것은 무시한다. (보통 EOF를 의미한다.)
-j, --bzip2 : bzip2 필터를 사용하여 .bz2 파일을 푼다.
--ignore-failed-read : 읽을 수 없는 파일이 있더라도 종료 코드 0을 출력하지 않는다.
-k, --keep-old-files : 기존에 있는 파일을 유지한다. 파일이 있으면 덮어쓰지 않는다.
-K, --starting-file F : 저장 파일에 있는 파일 F에서부터 시작한다.
-l, --one-file-system : 저장 파일을 만들 때 로컬 파일 시스템 안의 놓는다.
-L, --tape-length N : N * 1024 바이트를 쓴 다음 테이프를 바꾼다.
-m, --modification-time : 파일의 변경 시간 정보를 유지하지 않는다.
-M, --multi-volume : 여러 개로 나눠진 저장 파일로 만들거나 목록을 보거나 풀어낸다.
-N, --after-date DATE, --newer DATE : 주어진 DATE 보다 새로운 파일만 저장한다.
-o, --old-archive, --portability : ANSI 형식 대신 V7 형식으로 저장한다.
-O, --to-stdout : 표준 출력으로 파일들을 풀어낸다.
-p, --same-permissions, --preserve-permissions : 모든 퍼미션 정보를 유지한다.
-P, --absolute-paths : 파일 이름의 맨 앞 `/' 문자를 버리지 않는다.
--preserve : -p 옵션과 -s 옵션을 함께 사용한 것과 같다.
-R, --record-number : 저장 파일의 레코드 번호를 각각의 메시지로 보여준다.
--remove-files : 파일을 저장 파일에 덧붙인 다음 파일을 지운다.
-s, --same-order, --preserve-order : 저장 파일 목록과 똑같은 순서로 풀어낸다.
--same-owner : 같은 사용자 소유권으로 파일들을 풀어낸다.
--numeric-owner : user/group 이름으로 항상 숫자를 사용한다.
-S, --sparse : 듬성한 파일을 효율적으로 다룬다.
-T, --files-from F : 파일 F에서 목록을 읽어 추출하거나 만든다.
--null : -T reads null-terminated names, disable -C -C를 비활성화하고, -T로 읽을 때 null로 끝
 나는 이름을 읽는다.
--totals : --create로 만들어진 바이트 총합을 출력한다.
-v, --verbose : 처리중인 파일을 자세하게 보여준다.
-V, --label NAME : 저장 파일의 볼륨 이름을 NAME으로 한다.
--version : tar 프로그램의 버전 정보를 출력한다.
-w, --interactive, --confirmation : 각각을 처리할 때 마다 물어본다.
-W, --verify : attempt to verify the archive after writing it 저장 파일을 쓴 후에 저장 파일을
 점검한다.
--exclude=FILE : FILE을 제외한다.
-X, --exclude-from FILE : FILE 목록에 있는 것을 제외한다.
-Z, --compress, --uncompress
compress로 압축하거나 푼다.
-z, --gzip, --ungzip : gzip으로 압축하거나 푼다.
--use-compress-program PROG : PROG로 저장 파일을 다시 처리한다. (PROG은 반드시 -d를 처리해야 한다.)
--block-compress : 테이프에 저장할 때 압축 프로그램의 출력을 막는다.
--rsh-command=CMD : `rsh' 대신 원격 COMMAND를 사용한다. 이 옵션은 표준 `rsh' 대신 원격 장치에 접근
 할 수 있는 다른 것(예를 들어, Kerberized `rsh')을 사용하는 사람들을 위해 필요하다.
-[0-7][lmh] : 드라이브와 밀도를 지정한다.


반응형

'OS > Linux' 카테고리의 다른 글

scp 파일 가져오기.  (1) 2009.02.11
[VI] vi 에서 utf-8 형식의 글 보기.  (0) 2009.02.11
[VI] vi 한글깨짐 현상  (1) 2009.02.11
[VI] vi 색상 바꾸기 - vim 파일(putty.vim)  (1) 2009.02.11
[VI] vi 색상 변경  (0) 2009.02.11
반응형

# vi /etc/sysconfig/i18n
LANG="ko_KR.UTF-8"

=>위의 부분 변경
LANG="ko_KR.eucKR"
SUPPORTED="ko_KR.UTF-8:ko_KR:ko"
반응형

'OS > Linux' 카테고리의 다른 글

[VI] vi 에서 utf-8 형식의 글 보기.  (0) 2009.02.11
tar 압축  (1) 2009.02.11
[VI] vi 색상 바꾸기 - vim 파일(putty.vim)  (1) 2009.02.11
[VI] vi 색상 변경  (0) 2009.02.11
ctags  (0) 2009.02.11
반응형
" Vim color file
" Maintainer:   Prachya Boonkwan <kaamanita@hotmail.com>
" Last Change:  April 29, 2003
" Licence:      Public Domain
 
" This package offers a eye-catching color scheme that resembles the
" default color scheme of Putty telnet terminal.
 
" First remove all existing highlighting.
set background=dark
hi clear
if exists("syntax_on")
  syntax reset
endif
 
let colors_name = "putty"
 
hi Normal guifg=Grey guibg=Black
 
hi ErrorMsg guibg=Red guifg=White
hi IncSearch gui=reverse
hi ModeMsg gui=bold
hi StatusLine gui=reverse,bold
hi StatusLineNC gui=reverse
hi VertSplit gui=reverse
hi Visual gui=reverse guifg=Grey guibg=fg
hi VisualNOS gui=underline,bold
hi DiffText gui=bold guibg=Red
hi Cursor guibg=Green guifg=NONE
hi lCursor guibg=Cyan guifg=NONE
hi Directory guifg=Blue
hi LineNr guifg=#BBBB00
hi MoreMsg gui=bold guifg=SeaGreen
hi NonText gui=bold guifg=Blue guibg=Black
hi Question gui=bold guifg=SeaGreen
hi Search guibg=#BBBB00 guifg=NONE
hi SpecialKey guifg=Blue
hi Title gui=bold guifg=Magenta
hi WarningMsg guifg=Red
hi WildMenu guibg=Cyan guifg=Black
hi Folded guibg=White guifg=DarkBlue
hi FoldColumn guibg=Grey guifg=DarkBlue
hi DiffAdd guibg=LightBlue
hi DiffChange guibg=LightMagenta
hi DiffDelete gui=bold guifg=Blue guibg=LightCyan
 
hi Comment guifg=Blue guibg=Black
hi Constant guifg=#BB0000 guibg=Black
hi PreProc guifg=#BB00BB guibg=Black
hi Statement gui=NONE guifg=#BBBB00 guibg=Black
hi Special guifg=#BB00BB guibg=Black
hi Ignore guifg=Grey
hi Identifier guifg=#00BBBB guibg=Black
hi Type guifg=#00BB00 guibg=Black
 
hi link IncSearch       Visual
hi link String          Constant
hi link Character       Constant
hi link Number          Constant
hi link Boolean         Constant
hi link Float           Number
hi link Function        Identifier
hi link Conditional     Statement
hi link Repeat          Statement
hi link Label           Statement
hi link Operator        Statement
hi link Keyword         Statement
hi link Exception       Statement
hi link Include         PreProc
hi link Define          PreProc
hi link Macro           PreProc
hi link PreCondit       PreProc
hi link StorageClass    Type
hi link Structure       Type
hi link Typedef         Type
hi link Tag             Special
hi link SpecialChar     Special
hi link Delimiter       Special
hi link SpecialComment  Special
hi link Debug           Special
 
" vim: sw=2
반응형

'OS > Linux' 카테고리의 다른 글

tar 압축  (1) 2009.02.11
[VI] vi 한글깨짐 현상  (1) 2009.02.11
[VI] vi 색상 변경  (0) 2009.02.11
ctags  (0) 2009.02.11
[VI] vi 명령어..  (0) 2009.02.11
반응형
root 계정이 필요.

/usr/share/vim/vim70/colors

디렉토리에 vim 파일을 저장한다.
(putty.vim 이라면)


개인 루트 디렉토리에서
.vimrc 파일에

:color putty 를 추가한다.
반응형

'OS > Linux' 카테고리의 다른 글

[VI] vi 한글깨짐 현상  (1) 2009.02.11
[VI] vi 색상 바꾸기 - vim 파일(putty.vim)  (1) 2009.02.11
ctags  (0) 2009.02.11
[VI] vi 명령어..  (0) 2009.02.11
리눅스 명령어 / DOS 와 비교  (1) 2009.02.11
반응형

소스 태그를 찾기 위한 만능 해결사 ctags

1) 정의
 
프로그래밍 소스 코드의 태그(전역변수 선언, 함수 정의, 매크로 선언)들의 데이터베이스를 생성하는 유닉스 명령어이다. 인식하는 파일종류는 다음과 같다.

Assembler, ASP, Awk, C, C++, BETA, Cobol, Eiffel, Fortran, Jana, Lisp, Lua, Make, Pascal, Perl, PHP, PL/SQL, Python, REXX, Ruby, Scheme, Shell script(Bourne, Korn, Z), S-Lang, Tcl, Vera, Verilog, Vim, YACC/Bison

 

2) 사용

ctags 를 설치하고 사용하려면 사용하려는 소스가 있는 디렉토리에서 ctags R 해주면 된다. R은 하위디렉토리까지 포함해서 하는 것을 의미한다. 명령을 수행하면 해당 디렉토리에 tags 파일이 생성된다.

tags 파일의 구성은 앞에서부터 태그명, 파일명, 파일 내에 정의된 형식 순으로 태그 데이터베이스 파일이 구성된다.

vim에서는 set명령으로 tags변수에 생성한 태그 데이터베이스(tags파일)파일을 설정할 수 있다. 복수개일 경우에는 , 구분자를 이용하여 여러 개의 태그 파일을 지정할 수 있다. )

:set tags = ./tags                                                           (단일지정)

:set tags = ./tags, /usr/src/linux-2.4/tags, /usr/include/tags         (복수지정)

이것도 .vimrc 파일에 지정해 두면 vim을 켤때마다 설정하지 않고 자동으로 설정되도록 할 수 있다. 이렇게 하면 모둔 준비가 끝이난다. 내용을 정리하면 다음과 같다.

설정방법

> ctags -R                                                              ( shell 에서 )

:set tags=./tags                                                      ( vim 에서 )        ( 단일지정 )

or :set tags = ./tags, /usr/src/linux-2.4/tags, /usr/include/tags        ( 복수지정 )

  -- .vimrc에 기입해도 됨.

이제 모든 준비가 끝났으므로 vim을 실행하고 tj명령을 통해서 tag를 찾을 수 있다. 만일 커널 디렉토리의 태그가 있다면 다음과 같이 명령을 수행한다.

:tj start_kernel

tj tag jump의 약자이다. 명령을 수행하면 태그 데이터베이스 파일(tags)에서 start_kernel 태그를 찾아서 리스트로 나열한다. 만약 위 명령대신 :sts start_kernel 을 수행하면 vim창이 수평 분할되면서 start_kernel에 커서가 이동하게 된다.

 

ctags 명령어 요약

:ta [tag] or Ctrl + ]

[tag]가 정의된 위치를 나열하고 선택한 위치로 점프. 현재 위치는 stack push된다.

:ts [tag] or :tj [tag]

:po or Ctrl+t

stack top에 저장된 위치를 pop하고 그 위치로 점프

:sts [tag]

[tag]가 정의된 위치를 나열하고 선택한 위치고 팡을 수평 분할하여 새로 생성된 창에 표시

:stj [tag]

:tn

tj ts로 점프했을 때 다음 tag로 점프

:tp

tj ts로 점프했을 때 이전 tag로 점프

:tr

tj ts로 점프했을 때 처음 tag로 점프

:tl

tj ts로 점프했을 때 마지막 tag로 점프

위에서 중요한 명령들만 외운다면 사용하는데 무리 없다. 하지만 아직도 불편한 점이 있다. 위 명령에서 :tj 로 찾을 경우에 뒤에 써야하는 tag의 이름이 길다면 매우 불편할 것이다. 그래서 .vimrc에서 사용할 수 있는 vim 스크립트를 작성해주면 된다. 스크립트는 다음과 같다.

if version >= 500

func! Sts()

             let st = expand(<cword>)

             exe sts .st

endfunc

nmap ,st :call Sts()<cr>

 

func! Tj()

             let st = expand(<cword>)

             exe tj .st

endfunc

nmap ,tj :call Tj()<cr>

endif

if version >= 500 ~ endif로 묶어서 vim의 버전이 5.0이상일 때만 적용되게 했다. 그리고 Sts(), Tj()함수를 정의하여서 let st st변수를 선언하였다. expand(<cword>) 명령어로 현재의 커서가 위치하는 단어를 읽어 와서 st 변수에다 집어 넣었다. exe 명령으로 뒤에 오는 명령을 수행하는데 sts .st 하게 되어 sts 문자열에 st변수의 문자열을 붙여넣었다.

이렇게 정의한 함수를 nmap ,st :call Sts()<cr> 명령어로 ,st 키에 매핑했다. 그래서 명령모드에서 ,st라고 명령을 내리면 ex모드에서 :call Sts()<cr) 명령이 수앻되어 Sts()함수가 호출된다.


반응형

'OS > Linux' 카테고리의 다른 글

[VI] vi 색상 바꾸기 - vim 파일(putty.vim)  (1) 2009.02.11
[VI] vi 색상 변경  (0) 2009.02.11
[VI] vi 명령어..  (0) 2009.02.11
리눅스 명령어 / DOS 와 비교  (1) 2009.02.11
[VI] vi 팁 - 정렬하기  (0) 2009.02.11

+ Recent posts