여러 개의 파일을 분할된 화면에서 열기


여러 개의 파일을 열 때 분할된 화면에 열고 싶다면 파일을 열면서 vim을 실행할 때, 다음과 같이 -o 옵션을 추가하면 된다


vim -o test1.txt test2.txt test3.txt


그러면 아래와 같이 균등하게 수평분할된 화면test1.txt, test2.txt, test3.txt 가 열린다.




명령 라인에 :ls, :buffers, :files 명령으로  3개의 파일 버퍼에 3개의 파일이 동시에 열린 것을 확인할 수 있다.


:ls 또는 :buffers 또는 :files

1 %a "test1.txt"

a "test2.txt"

a "test3.txt"


열린 세 개의 파일들이 모두 화면에 표시되어 있으므로 모두 a 표식이 붙어있다. , 현재 커서는 1번 버퍼의 test1.txt 파일에 있으므로 해당 파일에는 퍼센트(%)도 같이 붙어있다.



다중 화면에서 여러 개의 파일 다루기


이제 분할된 화면을 닫아보자


현재 커서가 위치한 창을 닫는 키는 다음과 같다.

명령 모드에서 <Ctrl-w>+q

명령 모드에서 <Ctrl-w>+c

명령 라인에 :quit 또는 :q

명령 라인에 :close 또는 :clo


현재 커서가 위치한 창을 제외한 다른 모든 창을 닫는 키는 다음과 같다

명령 모드에서 <Ctrl-w>+o

명령 라인에 :only 또는 :on


이제 test1.txt 외의 모든 창을 닫아보았다. 이 상태에서 파일 버퍼를 확인한 결과는 다음과 같다.


 


화면을 닫았을 뿐 파일을 닫은 것은 아니므로 파일들이 모두 파일 버퍼에 그대로 남아있다. 다만, 이제 화면에 표시된 파일과 현재 커서가 위치한 파일이 전부 test1.txt 뿐이므로 파일 버퍼 1번에 있는 파일에만 %a가 표시되었다


현재의 상태에서 이번에는 파일 버퍼에 있는 파일들을 분할된 화면에 표시해보자. 


명령 라인에 :sb[#] → 현재 커서가 위치한 창을 수평으로 분할하고 새로운 수평창에 # 버퍼를 표시하고만일 #을 생략할 경우 현재 파일이 그대로 표시(=:sp)됨


파일 버퍼 2에 있는 test2.txt 파일을 수평창에 열기 위해서 명령 라인에 :sb2 명령어를 입력하면 그 결과가 다음과 같다.





파일 버퍼를 하나씩 표시하는 것이 번거로우니 모든 버퍼의 파일을 표시하려면 다음과 같이 한다.


명령 라인에 :al 현재 파일 버퍼에 있는 모든 파일수평으로 분할된 화면에 표시


※ 이제까지와 달리 현재 커서가 위치한 화면을 기준으로 화면 분할이 이루어지지 않고 모든 파일이 수평으로 균등하게 분할된 화면에 표시

 



모든 파일이 수평으로 분할된 화면에 균등하게 표시되어 있는 현재의 상황에서 파일 버퍼를 닫아보자.


명령 라인에 :bd[#] # 버퍼닫는다(#이 없으면 현재의 버퍼닫는다)

 

명령 라인에 :bd1 명령을 입력하면 파일버퍼 1번의 파일인 test1.txt 파일을 표시하는 창이 닫히고 동시에 파일 버퍼도 닫힌 것을 아래와 같이 확인할 수 있다.



 


Anki 파일


아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다. 


053 다중 화면과 파일 버퍼.apkg

파일 사이에서 이동


바로 앞의 포스팅에서 여러 개의 파일을 동시에 열고 해당 파일이 들어있는 파일 버퍼를 확인하는 방법을 배웠다. 그렇다면 이제 여러 파일들 사이를 오가면서 작업을 하기 위하여 파일들 사이를 오가는 방법을 알아야 한다


우선, 다음과 같이 명령하여 test1.txt, test2.txt, test3.txt 3개 파일을 다시 열어보자


$ vim test1.txt test2.txt test3.txt


명령 실행으로 처음 화면에 표시되는 파일은 첫 번째 파일인 test1.txt 이다. 이제 다음 명령어를 입력하여 파일 버퍼와 파일리스트를 확인해보자. 


:buffers 또는 :ls 또는 :files

1  %a  "test1.txt 2

2      "test2.txt"  0

3      "test3.txt"  0


현재, 화면이 표시되고 있는 첫 번째 파일1번 버퍼이고 현재 화면에서 표시되어 있다는 뜻에서 %a 파일 버퍼 번호 옆에 표시되어 있다.


이제, 간단하게 파일들 사이를 이동하는 방법을 알아보자명령 라인에 다음과 같이 명령어를 입력하면 된다 


:[#]n 다음 파일# 이동함(#이 없을 때는 1)

:[#]N 이전 파일# 이동함(#이 없을 때는 1)


파일을 이동하는 :[#]n :[#]N 명령으로는 가장 작은 파일 버퍼 번호 이전으로는 이동할 수 없고, 가장 큰 파일 버퍼 번호 이후로도 이동할 수 없다.

 

이번에는 명령 라인에 :n을 입력하여 다음 파일로 넘어가 다시 파일 버퍼와 파일 리스트를 다시 확인해보자.

 

:buffers 또는 :ls 또는 :files

1 #  "test1.txt 2

2 %a "test2.txt"  1

3    "test3.txt"  0


첫 번째 파일에서 다음 파일로 넘어온 것이므로 두 번째 파일이 현재 화면에 표시된 파일이고 따라서 2번 옆에 %a 표시가 있다. 그리고 파일 버퍼 번호 1 옆에는 # 표시가 새로 생겨난 것을 알 수 있다. # 표시는 파일 버퍼 번호 1의 파일이 바로 직전에 열렸던 파일이라는 뜻이다.

 

파일 버퍼 번호 2에 위치한 현재 상황에서 다시 이전 파일로 넘어가는 방법은 다음과 같다. 


:e # 이전 파일연다.

명령 모드 <Ctrl-^> 이전 파일을 연다


아무래도 <Ctrl-^> 키를 사용하는 것이 편하다. 특히, 딱 두 개의 파일을 이용하여 작업을 할 경우에는 <Ctrl-^> 키만 누르면 바로바로 파일을 스위치하면서 사용할 수 있어 매우 편하다



파일 버퍼 사이에서 이동


현재 화면에 표시되는 파일 버퍼를 이동하여 원하는 파일로 이동할 수 있다.

 

파일 버퍼를 이동하는 방법은 다음과 같이 명령 라인에 명령어를 입력하는 것이다.

 

:b# 파일 버퍼 번호 #에 해당하는 버퍼로 이동한다.

:bp[#] 이전 버퍼로 이동, #을 붙이면 #번만큼 이전 버퍼로 이동

:bn[#] 이후 버퍼로 이동#을 붙이면 #번만큼 이후 버퍼로 이동

:bf 첫 번째 버퍼로 이동

:bl 마지막 버퍼로 이동


버퍼를 이동하는 :bp[#] :bn[#] 명령은 첫 번째 버퍼와 마지막 버퍼에서 다시 순환하므로 :n이나 :N 명령이 오류가 나는 것과는 달리 명령이 계속 적용된다.



Anki 파일


아래는 본 포스팅의 내용을 갈무리하기 위한 Anki 파일입니다. 참고하시기 바랍니다. 



+ Recent posts