이 게시물은 SathiyaMoorthy가 작성했습니다.
이 기사는 진행중인 Vi / Vim 팁 및 트릭 시리즈의 일부입니다. Linux 시스템 관리자 또는 프로그래머는 bash 쉘 스크립트를 코딩하는 동안 다음과 같은 반복적인 작업을 수행할 수 있습니다.
- 파일 헤더 추가
- 기능/프레임 주석 추가
- 기본 코드 스니펫 포함
- 구문 검사 수행
- 함수에 대한 문서 읽기
- 코드 블록을 주석으로 또는 그 반대로 변환
bash-Support Vim 플러그인은 위의 모든 작업을 수행하는 가장 쉬운 방법을 제공하여 많은 시간과 키 입력을 절약합니다.
이 플러그인은 플러그인의 목적을 설명하는 Fritz Mehner가 작성했습니다. "메뉴와 단축키를 사용하여 BASH 스크립트를 작성하고 실행하십시오."
이 문서에서는 플러그인의 간편한 3단계와 8가지 강력한 플러그인 설치 방법을 설명합니다.
bash 지원 플러그인을 설치하는 3단계
1단계:bash 지원 플러그인 다운로드
vim.org 웹사이트에서 플러그인을 다운로드하세요.
$ cd /usr/src $ wget -O bash-support.zip https://www.vim.org/scripts/download_script.php?src_id=9890
2단계:bash 지원 Vim 플러그인 설치
$ mkdir ~/.vim # if the directory does not exist already $ cd ~/.vim $ unzip /usr/src/bash-support.zip
3단계:~/.vimrc에서 플러그인 활성화
Vim 편집기용 플러그인을 활성화하려면 ~/.vimrc에 다음 줄을 추가하세요.
$ vim ~/.vimrc filetype plugin on
Bash Vim 플러그인의 8가지 강력한 기능
기능 1:*.sh 파일에 자동 헤더 추가
확장자가 .sh인 파일을 열면 아래와 같이 헤더가 있는 파일이 열립니다. 이렇게 하면 삽입 모드의 설명 필드에도 커서가 놓입니다.
#!/bin/bash #============================================================ # # FILE: myscript.sh # # USAGE: ./myscript.sh # # DESCRIPTION: # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: (), # COMPANY: # VERSION: 1.0 # CREATED: 02/14/09 15:42:08 IST # REVISION: --- #============================================================
AUTHOR 및 COMPANY의 기본값을 변경하려면 ~/.vimrc에 다음 행을 추가하십시오.
let g:BASH_AuthorName = 'SathiyaMoorthy' let g:BASH_Email = '[email protected]' let g:BASH_Company = 'Open Source Corporation'
이제 새 bash 스크립트 파일을 생성하면 아래와 같이 AUTHOR 및 COMPANY에 대해 수정된 값이 표시됩니다.
#!/bin/bash #============================================================ # # FILE: myscript.sh # # USAGE: ./myscript.sh # # DESCRIPTION: # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: SathiyaMoorthy (), [email protected] # COMPANY: Open Source Corporation # VERSION: 1.0 # CREATED: 02/14/09 15:39:58 IST # REVISION: --- #============================================================
참고: 헤더에 사용자 정의 필드를 추가하려면 ~/.vim/perl-support/templates/bash-file-header 파일을 수정하고 사용자 정의 필드를 추가하십시오.
기능 2:\sfu를 사용하여 Bash 기능 추가
서브루틴을 작성하려면 일반 모드에서 \sfu를 입력합니다. 그러면 기능 이름(아래 그림 1 참조)을 입력하라는 메시지가 표시되고 기본 기능 내용이 포함된 서브루틴이 삽입됩니다(아래 그림 2 참조).
그림 1: 쉘 스크립트 내에 bash 함수를 추가하려면 \sfu를 입력하십시오.
그림 2: 쉘 스크립트 내부에 자동으로 추가된 Bash 기능
기능 3:\cfu를 사용하여 함수 헤더 삽입
함수 헤더를 삽입하려면 일반 모드에서 \cfu를 입력하면 그림 3과 같이 주석이 표시됩니다.
그림 3: 쉘 스크립트 내부에 함수 헤더를 삽입하려면 \cfu를 입력하십시오.
기능 4:\cfr을 사용하여 프레임 주석 추가
프레임 주석을 추가하려면 일반 모드에서 \cfr을 입력하십시오. 그러면 그림 4와 같이 다음과 같은 형식의 주석이 표시됩니다.
그림 4: 쉘 스크립트 내부에 프레임 주석을 삽입하려면 \cfr을 입력하십시오.
기능 5:쉘 스크립트 내부에 Bash 문 삽입
명령문을 삽입하는 단축키는 다음과 같습니다.
- \sc ... esac 의 경우
- \sl 그럼 엘리프
- \sf 완료를 위해
- \sfo ((…)) 완료
- \si 그렇다면
- 시 그렇다면 그렇지 않으면
- \s 완료에서 선택
- \st 완료될 때까지
- \sw 하는 동안
- \sfu 기능
- \se 에코 "\n"
- \sp printf "\n"
예:자동으로 쉘 스크립트 내부에 Case 문 삽입
\sc는 그림 5와 같이 INSERT 모드에서 case 문을 삽입하고 커서를 case 문 옆에 둡니다. 이와 같이 언급된 모든 단축키를 사용하여 표 1에서 적절한 명령문을 얻을 수 있습니다.
그림 5: bash 쉘 스크립트에 case 문을 삽입하려면 \sc를 입력하십시오.
기능 6:\nr을 사용하여 Bash 스크립트에 미리 정의된 코드 스니펫 삽입
코드 조각은 각각 \nr 및 \nw를 사용하여 읽고 쓸 수 있습니다. 플러그인에는 코드에 삽입할 수 있는 몇 가지 미리 정의된 코드 조각이 함께 제공됩니다. 다음은 플러그인과 함께 제공되는 기본 코드입니다.
$ ls -1 ~/.vim/bash-support/codesnippets/ assert basename+pathname basename-function check-number-of-command-line-arguments create-tempfile create-tempfile-with-trap free-software-comment read-and-split-into-array timestamp usage-and-command-line-arguments.noindent use-file-descriptor-read use-file-descriptor-write well-behaved-script
check-number-of-command-line-arguments 코드 스니펫을 포함하려면 \nr을 누르십시오. 그러면 파일 이름을 입력하라는 메시지가 표시됩니다. 파일 이름을 check-number-of-command-line-arguments로 지정하면 다음 코드가 자동으로 쉘 스크립트에 삽입됩니다.
#----------------------------------------------------------------------- # Check number of command line arguments #----------------------------------------------------------------------- if [ $# -lt 1 ] then echo -e "\n\tUsage: ${0##/*/} File\n" exit 1 fi
참고: 고유한 코드 조각을 정의하고 ~/.vim/bash-support/codesnippets/ 아래에 배치할 수 있습니다. 기존 코드에서 고유한 코드 조각을 만들 수도 있습니다. 코드 조각으로 만들어야 하는 코드 부분을 선택하고 \nw를 누른 다음 파일 이름을 지정합니다. 다음부터는 \nr 및 파일 이름을 입력하여 사용자 정의 코드 스니펫을 가져옵니다.
기능 7:Bash 내장 명령에 대한 빠른 도움말 보기
bash 내장 도움말 페이지를 읽어야 할 때 커서가 단어 안에 있을 때 \hh를 사용하세요.
다음 예(그림 6)에서는 read bash 내장 명령이 선택되고 \hh가 입력되어 읽기 명령에 대한 빠른 도움말이 표시됩니다. 동일한 방법을 사용하여 모든 bash 내장 명령에 대한 빠른 도움말을 얻으세요.
그림 6: 선택한 bash 내장 명령에 대한 도움말을 보려면 \hh를 입력하십시오.
기능 8:추천 댓글
다음 명령은 해당 키워드 주석을 추가합니다. 예를 들어 \ckb를 입력하여 쉘 스크립트 내부에 BUG 주석 줄을 추가합니다.
- \ckb 키워드 버그
- \ckt 키워드 TODO
- \ckr 까다로운 키워드
- \ckw 키워드 경고
\ckt를 입력하여 "# :TODO:mm/dd/yy::" 키워드로 주석 줄을 추가합니다. 이것은 기본적으로 TODO 역할을 하는 주석 행으로, 나중에 완료하고 싶은 항목을 입력할 수 있습니다.
그림 7: bash 쉘 스크립트에 TODO를 추가하려면 \ckt를 입력하십시오.
bash 지원 플러그인에는 강력한 기능이 많이 있습니다. 자세한 내용은 설명서를 읽으십시오. 설명서는 시스템의 다음 위치에 있습니다.
- README :~/.vim/README.bashsupport
- PDF :~/.vim/bash-support/doc/bash-hot-keys.pdf
- 온라인 bash 지원 vim 플러그인 문서
- 이 플러그인은 :h bashsupport에서 볼 수 있는 도움말 파일(bashsupport.txt)과 함께 제공됩니다.
- [ :helptags ~/.vim/doc로 도움말 태그를 생성한 다음 :h bashsupport를 실행합니다. ]
- 이 플러그인의 추가 스크린샷
권장 도서
Vim 101 해킹, Ramesh Natarajan 제작 . 저는 명령줄 중독자입니다. 그래서 당연히 저는 Vi와 Vim 편집기의 열렬한 팬입니다. 몇 년 전 Linux에서 많은 C 코드를 작성할 때 사용 가능한 모든 Vim 편집기 팁과 트릭을 읽었습니다. Vim 편집기 경험을 바탕으로 Vim 편집기에서 빠르고 생산적으로 사용할 수 있는 다양한 고급 Vim 기능에 대한 101가지 실용적인 예제가 포함된 Vim 101 Hacks eBook을 작성했습니다. Vi 및 Vim 편집기를 몇 년 동안 사용해 왔지만 이 책을 읽지 않았더라도 스스로에게 이 책을 읽으십시오. Vim 편집기의 기능에 놀랄 것입니다.