Vi나 Vim에서 특정 문자열 위치에 가서 그 문자열과 같은 이름을 가진 파일을 바로 여는 기능은 몇 가지 단계를 거쳐서 사용할 수 있습니다. 다음은 기본적인 방법입니다:
문자열 검색: 먼저, 파일 내에서 찾고 싶은 특정 문자열을 검색해야 합니다.
/문자열
명령어를 사용해서 검색할 수 있습니다. 여기서문자열
은 찾고자 하는 문자열입니다.커서 이동: 검색된 문자열 위치로 커서가 이동하면, 그 문자열이 포함된 라인에 커서가 위치하게 됩니다.
문자열과 같은 이름의 파일 열기: 이제 그 문자열과 동일한 이름을 가진 파일을 열기 위해,
gf
(go to file) 명령을 사용할 수 있습니다. 이 명령은 현재 커서 위치의 단어나 문자열을 파일 이름으로 간주하고 그 파일을 엽니다. 단, 이 파일이 현재 작업 중인 디렉토리에 존재해야 합니다.
예시:
/myFile.txt
를 입력하여myFile.txt
문자열을 검색합니다.- 검색된 문자열에 커서가 위치한 상태에서
gf
를 누릅니다. - 만약
myFile.txt
파일이 현재 디렉토리에 있다면, Vim은 그 파일을 열 것입니다.
만약 해당 파일이 다른 디렉토리에 위치해 있다면, :set path+=/path/to/directory
명령을 사용하여 Vim이 검색할 디렉토리의 경로를 추가해야 할 수도 있습니다. 예를 들어, 만약 파일이 /home/user/documents
디렉토리에 있다면, :set path+=/home/user/documents
명령을 사용하여 이 경로를 추가할 수 있습니다.
이 방법을 사용하면 Vi나 Vim에서 특정 문자열을 찾아 그 문자열과 같은 이름을 가진 파일을 바로 열 수 있습니다.
이전 화면 복귀
네, Vim에서 gf
명령어를 사용하여 파일을 열었다가 이전 파일로 돌아갈 수 있습니다. 이를 위해 사용할 수 있는 명령어는 :bp
(이전 버퍼로 이동) 또는 Ctrl-o
(이전 커서 위치로 이동)입니다.
:bp
명령어: 이 명령어는 이전 버퍼로 돌아가게 합니다. Vim에서는 열린 파일 각각을 버퍼라고 부르며,:bp
명령어는 이전에 열려 있던 버퍼(파일)로 이동합니다. 여러 파일을 순차적으로 열었다면, 이 명령어로 역순으로 돌아갈 수 있습니다.Ctrl-o
(컨트롤 키와 o 키 동시에 누르기): 이 키 조합은 사용자가 이전에 있었던 위치로 돌아가게 합니다. 예를 들어,gf
명령어로 파일을 열었다면,Ctrl-o
를 누르면 파일을 열기 전의 위치로 돌아갈 수 있습니다. 이 기능은 점프 명령어(jump command) 후에 매우 유용하며, 여러 단계를 거슬러 올라갈 수 있습니다.
:bp
와 Ctrl-o
의 차이점은 :bp
가 버퍼(파일) 사이를 이동하는 데 사용되는 반면, Ctrl-o
는 이전 커서 위치로 돌아가는 데 사용된다는 점입니다. 따라서 gf
로 파일을 열고 나서 바로 이전 파일로 돌아가고 싶다면, :bp
를 사용할 수 있으며, 정확한 이전 커서 위치로 돌아가고 싶다면 Ctrl-o
를 사용하는 것이 좋습니다.
다시 연 파일로 복귀
Ctrl-o
를 사용하여 이전 위치로 돌아간 후 다시 앞으로 가고 싶다면, Ctrl-i
(컨트롤 키와 i 키 동시에 누르기)를 사용하면 됩니다. Vim에서 Ctrl-o
와 Ctrl-i
는 각각 점프 목록을 뒤로 및 앞으로 이동하는 데 사용되어, 사용자가 이전에 방문했던 위치들 사이를 앞뒤로 이동할 수 있게 해줍니다.
Ctrl-o
: 점프 목록에서 이전 위치로 이동합니다. 예를 들어, 다른 파일로 이동하거나, 검색 결과로 이동한 후에 사용했던 위치로 돌아가고 싶을 때 사용할 수 있습니다.Ctrl-i
:Ctrl-o
의 반대 방향으로 작동하여, 점프 목록에서 다음 위치로 이동합니다.Ctrl-o
를 사용해 이전 위치로 갔다가 원래 위치로 돌아오고 싶을 때 사용할 수 있습니다.
따라서, 만약 gf
를 사용하여 새 파일을 열고, Ctrl-o
로 이전 파일로 돌아간 후, 다시 방금 전에 열었던 파일로 돌아가고 싶다면 Ctrl-i
를 사용하면 됩니다. 이 키 조합들은 Vim에서 효율적인 문서 탐색을 위해 매우 유용하게 사용됩니다.
'IT > Software' 카테고리의 다른 글
엑셀에서 특정 값인 셀 배경 자동으로 바꾸기 (0) | 2024.05.14 |
---|---|
VI 팁 - 특정 문자열 포함 라인 전체 없애기 (0) | 2024.04.02 |
SNMP - 용어 이해와 Arduino C 프로젝트들 (0) | 2024.01.26 |
안드로이드 앱 등록하기 - 기본 스토어 등록정보 (0) | 2023.12.15 |
오픈 소스 소프트웨어 라이선스 내용 정리해보자 (0) | 2023.05.05 |