vim에 날짜를 삽입하는 방법


23

vim에서는 "!"로 쉼표를 실행할 수 있습니다. 이것을 "r"과 결합하여 출력을 현재 버퍼에 삽입 할 수 있습니다.

: r! date
금 7 월 20 일 09:39:26 SAST 2012

날짜를 파일에 삽입합니다.

이제 다른 형식 + % F의 날짜와 같은 더 흥미로운 것들을 시도하려고합니다. 명령 행에서

$ 날짜 + % F
2012-07-20

vim에서

: r! date "+ % F"
message.to.followup.lstF

어느 것이 파일 이름을 넣고 그 뒤에 F를 넣습니다. r! date "+ % F"가 vim에서 확장되고 명령 행에서 실행되지 않는 방법. 그것을 실행하기 위해해야 ​​할 일은 내용을 vim에 넣습니다.

vim이 파일에 날짜를 삽입하는 더 좋은 방법 일 수 있습니다.



<F3>을 사용한 또 다른 유효한 응답은 다음과 같습니다. 자동으로 원하는 날짜 형식vimrc 을 얻으려면 을 수정해야 합니다 .
nilon

답변:


21

Vim에는 내부 strftime()기능이 있습니다. 이것을 시도하십시오 (삽입 모드에서).

<C-r>=strftime('%F')<CR>

1
나는 일을하는 방법과 같은 가장 독창적 인 답변을 선택하고 있습니다.
nelaaro

1
그리고 일반 모드에서 이것은 동일합니다 ( 현재 위치에 날짜 삽입 ) : "=strftime("%F")<CR>P(출처 : vim.wikia.com/wiki/Insert_current_date_or_time )
erik

19

vim이 "%"문자를 확장하고 있음을 알 때까지 계속 실험했습니다. 따라서 "\ %"를 이스케이프하면 모든 것이 예상대로 작동합니다.

: r! 날짜 "+ \ % F"
2012-07-20

이제 날짜를 파일에 넣을 수 있습니다.

: r! date "+ \ % F"-d "-2 일"
2012-07-18


1
+1 다른 프로그램과 함께 사용할 수 date있기 때문에 interf "strftime"보다 기억하기 쉽습니다.
math

10

탈출하지 않고 다른 방법은 다음을 사용합니다 system().

system('date +%F')

에서 삽입 모드 :

<C-r>=system('date +%F')<CR>

에서 NORMAL 모드 :

:put=system('date +%F')<CR>

1
<Cr>은 매우 유용합니다. vim에서 도움을 읽는 데 더 많은 시간을 보냈기를 바랍니다.
nelaaro

1
너무 늦었 결코.
romainl
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.