vim에서 셸 명령 사용하기
vim으로 작업하다 보면 셸에서 어떤 명령을 실행해야 하는 경우가 종종 발생할 수 있다. 파일 리스트를 확인하거나 네트워크의 IP를 확인해야할 때도 있고 필요한 데이터를 만들거나 연산할 상황이 발생하는 등 다양한 상황이 발생하는 것이다.
이런 경우 vim을 닫고 셸 명령을 실행하고 다시 vim을 실행하는 일련의 번거로움을 없애기 위하여 vim에서 바로 셸 명령을 실행하고 실행이 종료되면 vim으로 바로 복귀할 수 있게 하는 명령 형식이 있다.
즉, 아래와 같이 명령 라인에 느낌표를 앞에 붙이고 셸 명령을 입력하는 것이다.
명령 라인 :![셸 명령]
명령을 수행하기 위해 잠깐 vim을 빠져나왔다가 명령이 수행된 후 [Enter]를 눌러 다시 vim으로 돌아온다.
가령, 다음과 같이 명령할 수 있다.
명령 라인 :!ls
vim을 빠져나가 현재 디렉터리의 파일 및 디렉터리의 리스트를 보여준다.
실행 결과는 다음과 같다.
셸에서 원하는 명령을 수행하고 다시 vim으로 돌아오려면 셸에서 [Enter] 키를 누르면 된다.
셸 명령의 결과로 화면에 출력되는 내용이 필요할 수 있다. 그 때는 다음과 같은 형식으로 명령한다.
명령 라인에 :r ![셸 명령]
셸 명령으로 수행된 결과 데이터를 현재 커서의 위치에 삽입
명령 라인에 :r !ls
셸 명령 ls 의 결과로 나타난 파일 및 디렉터리 리스트를 현재 커서 위치에 삽입
참고로 명령라인 :r [파일명] 형식의 명령은 현재 커서의 위치에 해당 파일명의 파일에 기록된 내용을 삽입하기 위하여 사용한다. 그래서 test1.txt 파일을 수정하고 있는데, :r test2.txt 명령을 내리면 현재 커서의 위치에 test2.txt의 내용이 삽입된다.
Anki 파일
아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다.
'Anki로 공부하기 > vi 또는 vim 익히기' 카테고리의 다른 글
065 기타 기능(탭 끼워넣기, 들여쓰기 자동정렬, 자동완성) (0) | 2018.08.03 |
---|---|
064 폴딩 기능 (0) | 2018.08.02 |
062 매크로 사용하기 (0) | 2018.07.31 |
061 단축키 만들기-키 매핑(mapping) (0) | 2018.07.30 |
060 원하는 위치를 마킹해서 이동하기2 (0) | 2018.07.27 |