출처 :
http://vi.kldp.org/friends.html 좋은친구들 vi와 함께 쓰면 좋은 프로그램들
vi를 열고 작업하다보면 가끔 깨는 일이 발생합니다.
상황1
vi 열고 파일수정을 열심히 그것도 한참 꽤나 많이 적은 코딩을 갑자기 막생각나서 정신없이
저장한번안하고 하고있는데 갑자기 시스템이 재부팅된다....헉..어째 이런일이....
상황2
vi 열고 파일수정을 열심히 그것도 한참 꽤나 많이 적은 코딩을 갑자기 막생각나서 정신없이
저장한번안하고 하고있는데 갑자기 내가 무엇에 홀렸는지 아무생각없이 평소그랬던것처럼
:q! 해버리고 vi 에서 빠져나오는 자신의 모습을 발견했을때....-o-;;
...헉,,내가 무신짓을...
누구나 한번쯤은 이런상황을 겪었거나 주위에서 한명쯤은 보았을것입니다.그리고 그런일없었다고
지금 흐므해하나 언젠가 반드시 꼭 한번은 경험하게 될것입니다.......
위의 상황1.2의 경우 결과는 똑같(결과:코딩을 다시해야한다는것,,,)으나,,,전자는 타인에 의해 벌어진
깨는일이요,후자는 자신에 의해 벌어진 깨는일이라는 것입니다.
여기서는 이처럼 vi 작업을 하면서 일어날수 있는 상황대처법이나
함께 씀으로써 작업효과를 높일수 있는 프로그램들에 대해서 소개하는 곳으로 준비했습니다.
아주 간단한 방법일지리라도 누군가에겐 반드시 큰 도움이 된다는 것을 잊지말고...
많은 글들이 올려지길 바랍니다.^^;;
상황1의 원인
상대방 컴에 들어가서 작업하다 자신의 콘솔인줄알고 #reboot 한 경우입니다.....
(root로 작업하는건 정말 안좋은 버릇이라니깐드루....)
상황2의 원인
내가 잠시 무엇에 홀렸을까나....$%&*%@&..-_-''''
상황1의 경우엔 대부분 잉~이라는 말과 함께 화면에 얼굴을 들이대고 죽죽죽 올라가는
shutdown [OK] 명령들을 멍한히보며,
상황2의 경우엔 대부분 헉~이라는 짧은 비명과 함께 두손을 머리에 올리거나 팔을 축 늘어드리며
등을 의자에 밀착시킵니다.그리고는 한동안 화면만 보며 말이 없죠.오비이락 이라고 했던가요...
평소엔 조금씩 코딩하고 잘도 저장하다가 꼭,갑자기 신들린듯 생각나는 코드를 엄청 막짤때 그것도
엄청많이 코딩했을때 이런일이 일어나니....-_-'''
이런 상황을 대비해서(?) 나름대로 도움될만한 것들을 소개해 봅니다..고수들에겐 유치할수도 있겠지만
나름대로 쓸만한 임시방편이기도 한것 같아 소개합니다.....사용하고픈 분들만 쓰도록 하세요.....:)
--------------------------------------------------------------------------------------------------------
# screen
이것 역시 많은 기능이 있지만 그중에서 이런상황에 이용할 만한 기능은 다음과 같은 것입니다.
=vi 작업전 hanterm에서 screen 이라고 명령하고 screen이 시작된후 ctrl + a 를 누른다음
대문자 H 를 눌러보세요 그러면 화면에 Creating logfile screenlog.0 라는 문구가 화면 하단에
잠시 뜰것입니다.이것은 사용자 계정에 screen 종료때까지 화면에 보여진 모든 내용을 screenlog.0라는
파일명으로 저장합니다.이렇게 하면 최소한 자신이 작업하는 장소가 다른사용자가 들어와서 root로
작업하다가 실수로 reboot를 하더라도 사용자 계정에 만들어진 screenlog.0 파일을 통해 최소한
자료저장을 보장 할 수 있습니다.
--------------------------------------------------------------------------------------------------------
# 파일 되살리기 명령 사용하기.
간혹 vi 작업을 하다보면 멀 눌렀는지 모르겠는데 하여간 키보드의 어떠한키도 먹지 않는 경우가 있습니다.
이때는 Ctrl + s키를 눌러서 lock이 걸리상태이므로 Ctrl + q 를 눌러서 해제시키면 됩니다.
그런데 이런경우 만약 작업중이던 vi 를 강제로 종료시킬경우 파일이 정상적으로 저장되지 않습니다.
이경우엔 .작업파일명.swap 명으로 파일이 존재합니다.따라서 아까의 파일을 되살릴 필요가 있을때는
#vi -r 작업파일명 을 하게되면 파일을 되살리겠냐는 메세지를 볼수 있을 것입니다. 이때 동의를 하고
저장을 하게되면 파일을 되살릴수 있습니다.
--------------------------------------------------------------------------------------------------------
# grep
특정 패턴과 일치하는 라인을 출력하는 명령어.보통 # ps -aux | grep netscape 등 프로세스 검색에 가장
많이 사용하지만 vi 작업할때도 유용하게 많이 쓰이는 vi 의 좋은 친구입니다.작업을 하다보면 수정할
특정문자를 모두 고쳤는지 가끔 헤깔릴때가 있습니다 .그렇다고 다했다고 믿었다가 에러나면 죽음이요..
그렇다고 일일이 다 찾아보기에도 골때릴때..이명령을 쓰면 정말 좋습니다.기본적으로 한 폴더내에서의
파일만을 검색하므로,,여기저기 구분된 디렉토리까지 모두 검색한 결과를 얻으려면 -r 옵션을 쓰면됩니다...
한번써보세요..더많은 기능은 man을 이용하시구요...
사용법)#grep -r 뽑아내고픈단어 ./
--------------------------------------------------------------------------------------------------------
# diff
grep과 함께 작업시 vi 의 둘도 없는 좋은 친구입니다.
두개의 파일의 차이점을 적나라하게 비교해서 보여주죠.
보통 원본파일을 이용해서 약간 수정한 copy본을 만든후 잘 되었는지 비교할때 사용하면 매우 유용합니다.
사용법)#diff a.txt b.txt
--------------------------------------------------------------------------------------------------------
# gau
Screen이 익숙치 않은 사용자는 gau의 갈무리기능을 사용하세요.
--------------------------------------------------------------------------------------------------------
# hanterm 1) saveline 늘려사용하기
기본적으로 hanterm 의 기본 저장 라인수는 memory를 고려하여 500라인입니다.
이것의 수치를 늘리면 이것또한 편리하게 쓸수 있습니다.
단 메모리가 좀 된다고 생각되는 경우에....고칠 파일은=/usr/X11R6/lib/X11/ko/app-defaults/Hanterm 에서
Hanterm*saveLines:_500 을 원하는 저장 라인수만큼 memory가 빵빵한 만큼 설정하세요.
스크롤된 지나간 화면보기는 Shift + PageUp/PageDown 입니다.
--------------------------------------------------------------------------------------------------------
# hanterm 2) " Shift + 우클릭 "으로 작업공간 늘려사용하기
한번 눌러보세요:) 작업공간을 늘릴 수 있답니다.
--------------------------------------------------------------------------------------------------------
# 마우스를 이용한 copy & paste
copy & paste 할 분량이 많지 않거나 철자가 틀리면 안되는 긴 명령라인을 적용시킬때 가끔은 마우스를 이용한
방법이 처음 vi를 접하는 사용자에겐 접하기 쉬울것입니다.사용방법은 원하는 영역을 마우스로 색이 반전되도록
반전시킨후 paste 할곳에 커서를 위치시키고 Shift + insert 키를 누르시면 됩니다.
파일안에 붙혀넣기를 하실때 반드시 입력모드( - INSERT - ) 여야 하며,,계단형태로 paste 가 되면
:set paste하시고 붙혀넣기 하시면 됩니다.