[vi] 작업하는file의 file 이름을 file에 print 할 수 있다!

제목에 file이 세번이 나오면서 이상한 문장이 되어 버렸지만..
예를 들어,
1,2,3,4,5,6,7,8,9,10 열개의 파일이 있다.
각각의 파일에는 특정한 문단이 있는데 이 문단은 모두 같다. 값이 다를 뿐
나의 예를 들면 ,
— start static —
VDD_1 = x.xx V
VDD_2 = x.xx V
— end static —
뭐 이런식으로 들어 있는 형태이다.

매크로를 사용하여 하나의 파일에 모두 담아 낼 수 있으나, 위 내용이 어떤 파일에서 나왔는지 답답하다.. 맞는지도 모르겠고 .
이때! 사용하면 좋은 vim 명령어

:put = expand('%:t') file 의 이름을 print 한다.

즉, 아래와 같이 할 수 있다는 이야기이다.
<filename>
— start static —
VDD_1 = x.xx V
VDD_2 = x.xx V
— end static —

관련된 것들을 일부 발췌해왔다. (출처 : http://vim.wikia.com/wiki/Get_the_name_of_the_current_file )
:echo @%
출력 : def/my.txt – directory/name of file (relative to the current working directory of /abc)
:echo expand('%:t')
출력 : my.txt – only filename
:echo expand('%:p')
출력 : /abc/def/my.txt (full path)
:echo expand('%:p:h')
출력 : /abc/def – directory containing file (‘head’)
:echo expand('%:p:h:t')
출력 : def

추가로 궁금한 사항은?
:help expand

Leave a Reply