vim은 특정 이벤트가 발생할 때 자동으로 명령을 수행할 수 있는데, 이를 au[tocmd]로 지정할 수 있다. 자동 명령 세팅 방법은 다음에 다루기로 하고, 오늘은 이들 이벤트에 대해서 좀 정리
- 버퍼 읽기/시작하기
- BufNewFile 새 파일을 만들어서 편집하기 시작함
- BufReadPre 파일을 읽기 전, 새 버퍼를 편집하기 시작함
- BufRead 파일을 읽고 새 버퍼를 편집함
- BufReadPost 위와 같이 파일을 읽고 새 버퍼를 편집함 (차이가?)
- BufReadCmd 새 버퍼를 시작하는 명령을 받았을 때
- 파일 읽기
- FileReadPre :read 명령으로 새 파일을 읽기 직전
- FileReadPost :read 명령으로 새 파일을 읽은 직후
- FileReadCmd :read 명령을 입력받는 때
- 버퍼 전체 쓰기
- BufWrite 전체 버퍼를 파일에 쓰기 시작할 때
- BufWritePre 전체 버퍼를 파일에 쓰기 시작할 때
- BufWritePost 전체 버퍼를 파일에 쓴 후
- BufWriteCmd 쓰기 명령을 받았을 때, 아직 파일에는 쓰기 전
- 버퍼 일부 쓰기
- FileWritePre 버퍼의 일부를 파일에 쓰기 시작함
- FileWritePre 버퍼의 일부를 파일에 쓰기 시작함
- FileWriteCmd 버퍼의 일부를 파일에 쓰는 명령을 받을 때
- FileAppendPre 파일의 뒤에 내용을 덧붙일 때
- FileAppendPost 파일의 뒤에 내용을 추가한 후
- FileAppendCmd 파일에 추가 명령을 받을 때
- 버퍼 관련
- BufAdd 새 버퍼가 버퍼 목록에 추가된 직후
- BufCreate 새 버퍼가 생성되어 버퍼 목록에 추가된 직후
- BufDelete 버퍼 목록에서 버퍼가 삭제되기 전
- BufWipeout 버퍼를 완전히 삭제하기 직전
- BufFilePre 현재 버퍼의 이름을 바꾸기 직전
- BufFilePost 현재 버퍼의 이름이 바뀐 직후
- BufEnter 버퍼에 진입한 직후
- BufLeave 버퍼를 떠나 다른 버퍼로 옮기기 직전
- BufWinEnter 화면 창에 버퍼가 표시된 후
- BufWinLeave 창에서 버퍼가 제거되기 직전
- BufUnload 버퍼가 언로드되기 전
- BufHidden 버퍼가 숨겨진 직후
- BufNew 새 버퍼를 만든 직후
- 스왑
- SwapExists 스왑파일이 있을 때
- 옵션
- FileType “filetype” 옵션이 세팅될 때
- Syntax “syntax”옵션이 세팅될 때
- EncodingChanged “encoding” 옵션이 세팅될 때
- TermChanged “term”의 값이 바뀔 때
- 시작 및 종료
- VimEnter vim 시작 후
- GUIEnter GUI가 잘 시작된 후
- TermResponse 터미널 응답 t_RV을 받은 후
- VimLeavePre vim 종료 직전, viminfo 파일에 쓰기 전
- VimLeave 종료 직전, viminfo 파일을 쓴 후
- 그 외
- FileChangedShell – Vim에서 파일을 편집한 이후, 이 파일이 변경됐음을 vim이 감지했을 때
- FileChangedShellPost – 편집이 시작된 후 파일이 변경되었을 때
- FileChangedRO – 읽기 전용 파일에 변경을 시작하려 할 때
- ShellCmdPost – 쉘 명령을 실행한 후
- ShellFilterPost – 쉘 명령으로 필터링한 후
- FuncUndefined – 정의되지 않은 사용자 함수를 호출할 때
- SpellFileMissing – 존재하지 않는 문법 파일을 사용하려할 때
- SourcePre – vim 스크립트를 반입하기 직전
- SourceCmd – 명령모드에서 vim 스크립트를 반입할 때
- VimResized – vim 창의 크기가 변경되었을 때
- FocusGained – vim이 입력 포커스를 받을 때
- FocusLost – 입력 포커스를 잃을 때
- CursorHold – 특정 시간 동안 아무 것도 눌러지지 않을 때
- CursorHoldI – 입력 모드에서 특정 시간 동안 아무 키도 눌러지지 않을 때
- CursorMoved – 일반 모드에서 커서가 움직일 때
- CursorMovedI – 입력모드에서 커서가 움직일 때
- WinEnter – 다른 창으로 들어갈 때
- WinLeave – 창을 떠날 때
- TabEnter – vim 창 내의 특정 탭으로 들어갈 때
- TabLeave – 특정 탭을 떠날 때
- ColorScheme – 색상 스킴이 변경될 때
- RemoteReply – 서버의 응답을 vim이 받았을 때
- QuickFixCmdPre – quickfix 명령이 실행되기 전
- QuickFixCmdPost – quickfix 명령이 실행된 후
- SessionLoadPost – 세션 파일의 로딩이 끝난 후
- MenuPopup – 메뉴 팝업을 보여준 후
- User – “:doautocmd”와 함께 쓰임
감사해요 잘봤습니다~!
댓글이 닫혔습니다.