파일 사이에서 이동


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


우선, 다음과 같이 명령하여 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 파일입니다. 참고하시기 바랍니다. 



이건 약간 신비적인 체험 이야기이다. 아마도 누군가는 종교적 경험이라고 해볼만한 이야기이지만 스스로는 그다지 종교적인 경험이라고 생각하지는 않는다. 하지만 누군가는 그렇게 볼 법한 이야기이기도 하다.


한번은 점술에 흥미가 생겨서 주역을 들여다본 적이 있다. 그런데 정말 무슨 이야기인지 하나도 알 수 없는 내용이었다. 그러다 보니 주역을 이해하려는 노력은 고이 접고 그냥 규칙에 따라서 점을 치게 되었다. 주역으로 점치는 방법은 굉장히 단순한데, 동전 3개를 던져서 나오는 대로 표기해서 괘를 뽑고 그 괘에 따라서 책을 찾아서 읽으면 된다.

 

당시, 혼자 자취를 하고 있었는데 돈 관리를 잘 못해서 앞으로 15일은 매 끼니를 굶을 판이었다. 마침 점칠 내용도 없어서 돈 문제가 어떻게 해결될까 하고 점을 쳤는데, 곧 좋은 일이 있을 거라는 점괘를 얻었다. 그러다가 3일 후에 친척 결혼식에 갔는데 평생 한 번도 용돈을 준 적이 없는 친척이 갑자기 용돈을 주는 일이 발생하면서 점의 결과가 무척 신통하다고 생각했다. 또 한 번은 공무원 시험을 보는 동생이 공무원 시험 결과를 물어보았는데 사냥을 갔는데 잡을 사냥감이 없어 허탕을 친다는 괘가 나왔고 그 해 시험은 잘 되지 않았다. 그 외에도 자잘하게 점을 처서 맞은 사례는 상당히 많았고 그래서 종종 혼자서 점을 치곤 했다.

 

점이 잘 맞으니 점에 대한 신뢰도는 매우 높아졌고 그러다 보니 신년이 되었을 때 1년의 운세를 점쳐보게 되었다. 점괘의 결과는 별로 좋지 않았다. 거의 되는 일이 없고 힘든 1년이 될 것이라는 것이었다. 하지만 끝에는 즐거움()이 있을 것이라는 점괘가 나왔다. 당시, 취직을 준비하고 있었는데, 딱히, 가리는 곳이 없어서 선배가 같이 일해보자는 말에 지방의 작은 중소기업에 취업을 했다. 그리고 정말 고생을 많이 했다. 하루하루 근무하는 것이 지옥같았고 점점 위태로워졌다. 스트레스는 받고 매일 도망가고 싶은 생각만 났다. 그런데 이미 신년 운세를 점쳤을 때 되는 일이 없고 힘든 1년이 될 것이라는 것을 알았기 때문에 오직, 한가지만 생각했다. 연말에 즐거움()가 있을 것이라는 점괘였다. 역설적인 이야기지만 회사 생활이 힘들면 힘들수록 점괘에 대한 신뢰가 강해져서 반드시 즐거움()이 있을 것이라는 확신이 강해져서 기대감도 덩달아 높아졌다. 마치 즐거움()을 얻기 위해서 시련을 극복해야 하는 것 같은 느낌이었다.

 

하지만 정말 지독하게 힘들었다. 해야 할 일들은 전부 맨땅에 헤딩해야하는 식의 일들이었고, 해당 업무에 대해서 물어볼 수 있는 사람들은 이미 다 퇴사를 했거나 대립각을 내세우는 사람들이었다. 그러다 보니 정말 버벅이면서 매일 밤을 새다시피 하면서 업무를 파악해야 했고, 그래도 부족해서 호의적이지 않은 사람들에게 고개를 숙이면서 물어봐야 했었다. 대부분의 직원들은 입사한지 한달도 안되어서 퇴사하고 싶어하는 분위기였고, 1년 이상 근무한 사람이 거의 없었다. 그리고 상사가 주는 스트레스도 어마어마했다. 그러다 보니 매일매일 무슨 일이 벌어질지 알 수 없는 나날이 계속되었다. 다음 날 무슨 일이 벌어질지 알 수 없다는 스트레스가 정말 컸다. 언제 고소장이 날아오고, 언제 경찰서를 가야하고, 언제 법원에 출두해야 하고, 언제 노동청에 갈지 알 수 없었다.

 

불확실한 나날이 계속되면서 나는 점에 매달리기 시작했다. 매일매일 점을 치고 그 점을 해석하면서 좋은 일이 있다고 하면 안도하고 힘든 점괘가 나오면 하루 종일 초긴장하기 일쑤였다. 하루에도 몇 번씩 점을 치면서 근근이 버티는 기간이 4개월가량 되었을 때, 지방의 공장에서 근무하는 내게 전화가 오기 시작했다. 하루는 후배에게 전화가 와서 암이라면서 치료비로 목돈을 빌려달라고 했다. 하루는 어머니에게 전화가 와서 넘어졌는데 버스의 바퀴가 얼굴 바로 앞을 지나갔다는 이야기를 했다. 수시로 지인들에게서 신세한탄과 소름끼치는 사건들 그리고 무언가 불길해 보이는 이야기들이 전화로 오기 시작했다.

 

무언가 불길한 일들이 끊임없이 벌어지기 시작했다. 머릿속이 간질간질해졌다. 갑자기 어떤 의문이 떠올랐다. 어째서 무당들은 천하다는 평가를 받았을까? 어째서 역사적으로 이름난 점술가들과 예언자들의 끝은 불행할까? 그리고 나 스스로 계시라고 생각하는 어떤 것이 찾아왔다그것은 무슨 메세지도 아니었고 신의 음성도 아니었다. 그저 대단히 명료하고 대단히 확실한 의식이었다. 그것은 순식간에 모든 사건을 하나로 연결해서 내가 점()을 칠 때 대가를 치르고 있다는 것을 확실하고 명징하게 보여주고 확신하게 만들었다.

 

()은 귀신과 같은 초자연적인 존재에게 물어보는 형태와 세상의 이치에 따라서 추론하는 형태의 두 종류로 나뉜다. 귀신과 같은 초자연적인 존재에게 묻는 방식의 점은 신점(神占)이라고 하고 그 방법은 무당과 도구점으로 나뉜다. 무당은 직접 귀신과 접하는 것이고 도구점은 동전을 던지거나 산대를 부리거나 하는 등 우연적인 요소들을 도입해서 귀신이 그것을 선택하게 하는 방식의 점이다. 반면, 세상의 이치에 따라서 추론하는 형태의 점은 사주(四柱)와 같이 어떤 법칙에 따라서 추론하는 것이다. 이런 점을 계산한다고 해서 산점(算占)이라고 한다. 내가 친 점은 주역점으로 도구를 이용하여 귀신에게 묻는 신점(神占)의 하나였는데 나 스스로나 정말 가까운 친인의 개인사 정도라면 매우 잘 맞았다. 그런데 이 신점(神占)을 칠 때마다 어떤 대가를 치르고 있다는 추상적인 내용이 어떠한 근거도 없지만 절대적인 확신하게 되었다.

 

그 계시의 경험은 정말 강렬하고 신기한 경험이었다. 모든 사건들과 정황들이 하나로 엮였고 머릿속에 벼락이 치는 듯한 강렬한 인상을 받았고 어떤 추상적인 무엇이 보였다. 그것은 내가 치르고 있는 대가로 내 일생의 운, 에너지, 기운 같은 것이었다. 그리고 더 이상 무분별하게 점을 치면 모든 대가를 치르고 내 주위 사람들은 불행해지고 나는 일가친척 하나 없이 노숙하다가 객사할 것이라는 확신도 같이 왔다. 너무나 명료한 메시지와 내 운명에 대한 비전으로 인해서 나는 그 자리에서 신점(神占)을 더 이상 치지 않겠다고 스스로 선언했다. 그리고 그 동안 무지로 인하여 대가로 치렀던 것으로 인하여 얼마나 많은 불행이 찾아올지 두려워하지 않을 수 없었다.

 

점치는 것을 그만두고 더 이상 회사에서 버티지 않고 사직서를 내었다. 그리고 지방에서 다시 집으로 돌아와 그 동안 불행했던 이야기들에 대해서 물어보았다. 그런데 내가 들었다고 생각했던 그 대부분의 일들에 대해서 사람들은 자신이 그런 전화를 건 적이 없다는 것이었다. 일부, 소소한 것들은 그냥 과장된 표현이었을 뿐이었고, 어머니의 사고는 어머니가 기억하지 못했다. 그리고 목돈을 빌려달라고 했던 후배는 스스로 했던 말을 후회하듯이 그 내용을 얼버무렸다. 정말 귀신이 곡할 노릇이었다. 그리고 곰곰이 생각해보니 그것이 내가 치른 대가이고 만일 내가 점을 계속 쳤다면 그 모든 것이 현실화되었을 것이라는 점도 알게 되었다.

 

계시로 보고 들은 것은 마치 주입된 것처럼 어떠한 근거도 없이 나에게 강력한 확신을 안겨주었다. 만일, 내가 인간의 정신에 대한 깊은 관심을 갖고 탐구했던 바가 없었더라면 이를 종교적인 체험으로 받아들여서 종교에 귀의했을 것이다. 하지만 내 스스로 인간의 의식이 얼마나 허술하고 기만에 차있으며 또 동시에 얼마나 대단한지 깨닫는 바가 있었기 때문에 그저 굉장히 특이한 경험 정도로 남아있고 오히려 인간의 무의식과 의식에 대한 새로운 인식을 가져다 주는 좋은 경험으로 생각하고 있다. 하지만, 종교적 체험이 아니라고 생각하고 스스로 아무리 근거가 없다고 생각하더라도 그 정도의 확신을 거스를 때 발생하는 찝찝함과 불확실성을 감당할 용기는 없었기에 그 자리에서 바로 신점(神占)을 더 이상 치지 않겠다고 결심할 수밖에 없었다.

 

그리고 점을 그만두자 모든 것이 빠르게 자리를 잡기 시작했다. 회사는 퇴사하고 다시 집으로 돌아와 정신적 요양을 하면서 스트레스로 고통 받던 자신을 힐링할 수 있게 되었고 마지막으로 같이 회사를 다니다가 퇴산한 여직원과 생애 첫 연애를 하게 되는 즐거움()을 얻게 되었다. 결국, 그것은 이루어진 것이다


vim에서 여러 개의 파일 열고 파일 버퍼 확인하기


프로그래밍 소스 코드는 보통 여러 개의 파일로 이루어져 있다. 따라서 동시에 여러 개의 파일을 열고 작업해야 하는 경우가 비일비재하다. 따라서 vim에서도 여러 개의 소스 코드 파일을 다룰 수 있는 방법들이 준비되어 있다.

 

우선, vim에서 여러 개의 파일을 여는 방법부터 알아볼 필요가 있다. 하나는 다음과 같이 명령라인에서 순차적으로 파일을 하나씩 여는 것이다


:e test1.txt test1.txt 파일이 열린다.

:e test2.txt test2.txt 파일이 열린다.

:e test3.txt test3.txt 파일이 열린다.

※ 명령 라인에 :e [파일명] 형식으로 파일을 불러올 경우 파일이 있으면 해당 파일을 불러오고 해당 파일이 없으면 새로운 파일이 임시로 만들어진다.


두 번째 방법은 vim을 실행하면서 한꺼번에 여는 것이다


$ vim test1.txt test2.txt test3.txt


여러 개의 파일을 열었지만 현재 화면에 보이는 파일은 하나밖에 없을 것이다이러니 여러 개의 파일을 열었다고는 하지만 전혀 실감이 나지 않는다. 여러 개의 파일이 열렸다는 것을 어떻게 확인할 수 있을까?

 

vim은 열린 파일들을 파일 버퍼에 임시로 저장하여 사용한다. 따라서 다른 파일들이 파일 버퍼에 들어있는지를 확인하면 여러 개의 파일이 열려있는 것이다. 이를 확인하려면 명령 라인에 :buffers 또는 :ls 또는 :files 라고 명령어를 입력하여 파일 버퍼(buffer)를 확인하면 다음과 같이 결과가 출력된다


:buffers 또는 :ls 또는 :files

1 %a + "test.1.txt"  1

2      "test.2.txt"  0

3      "test.3.txt"  0


순서대로 1번 버퍼test1.txt 파일이 있고 2번 버퍼test2.txt3번 버퍼test3.txt 파일이 들어있는 것이 확인된다.


Anki 파일


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



+ Recent posts