[vim] Vim에 타임 스탬프를 삽입하는 가장 좋은 방법은 무엇입니까?

EditPad Lite에는 “2008-09-11 10:34:53″과 같은 타임 스탬프를 코드에 삽입 하는 멋진 기능 ( CTRLE, CTRLI)이 있습니다.

Vim에서이 기능을 얻는 가장 좋은 방법은 무엇입니까?

(저는 SSH를 통해 Linux 서버에서 Vim 6.1을 사용하고 있습니다. 현재 상황에서는 많은 사람들이 로그인을 공유하므로 타임 스탬프를 얻을 수있는 또 다른 기본 제공 방법이있는 경우 홈 디렉토리에 약어를 만들고 싶지 않습니다. )



답변

http://kenno.wordpress.com/2006/08/03/vim-tip-insert-time-stamp/

그것을 시도, 그것은 내 Mac에서 작동합니다.

:r! date

생성 :

Thu Sep 11 10:47:30 CEST 2008

이:

:r! date "+\%Y-\%m-\%d \%H:\%M:\%S"

생성 :

2008-09-11 10:50:56


답변

크로스 플랫폼에서 작동하려면 다음을 입력하십시오 vimrc.

nmap <F3> i<C-R>=strftime("%Y-%m-%d %a %I:%M %p")<CR><Esc>
imap <F3> <C-R>=strftime("%Y-%m-%d %a %I:%M %p")<CR>

이제 Vi / Vim 내에서 언제든지 F3을 누르면 2016-01-25 Mo 12:44커서에 삽입 된 것과 같은 타임 스탬프가 표시됩니다.

사용 가능한 매개 변수에 대한 완전한 설명은 C 함수 strftime ()문서를 확인하십시오 .


답변

왜 모두가 사용하고 :r!있습니까? !!date명령 모드에서 빈 줄을 찾아 입력 합니다. 키 입력을 저장하십시오!

[nb 이것은 현재 행을 stdin으로 파이프 한 다음 해당 행을 명령 출력으로 대체합니다. 따라서 “빈 줄 찾기”부분.]


답변

@Swaroop CH의 답변에 대한 확장으로,

^R=strftime("%FT%T%z")

표준 시간대 (실제로는 ISO-8601 호환 양식에서 UTC와의 차이)도 인쇄하는보다 간결한 양식입니다.

어떤 이유로 외부 도구를 사용하려는 경우

:r !date --rfc-3339=s

전체 RFC-3339 준수 타임 스탬프를 제공합니다. 사용하는 ns대신 s에 대한 스팍-등을 통해 정밀, 파이프 tr ' ' T대신 날짜와 시간 사이에 공백의 자본 T를 사용하는.

또한 다음 사항을 아는 것이 유용 할 수 있습니다.

:source somefile.vim

다음에서 명령을 읽습니다 somefile.vim. 이렇게하면 사용자 지정 매핑 집합 등을 설정 한 다음 해당 계정에서 vim을 사용할 때로드 할 수 있습니다.


답변

:아르 자형! 데이트

그런 다음 정확히 동일한 형식을 원하면 date 명령 (man date)에 형식을 추가하고 이것을 vim 별칭으로 추가 할 수도 있습니다.

:아르 자형! 날짜 + “\ % Y-\ % m-\ % d \ % H : \ % M : \ % S”

그러면 예제에서 보여준 형식이 생성됩니다 (셸의 날짜는 \ %를 사용하지 않고 % 만 사용하면 vim이 %를 현재 파일의 이름으로 대체하므로 이스케이프해야합니다).

예를 들어 F3을 누를 때마다 명령을 자동으로 입력하도록 .vimrc에 맵을 추가 할 수 있습니다.

:map <F3> :r! date +"\%Y-\%m-\%d \%H:\%M:\%S"<cr>

(위에서 편집 :)) (편집 : 텍스트 부분을 코드로 변경하여

<F3>

표시 가능)


답변

유닉스 타임 스탬프의 경우 :

:아르 자형! 날짜 + \ % s

이 명령을 많이 사용하는 경우 VIM의 키 (예 : F12)에 매핑 할 수도 있습니다.

이것을 .vimrc에 넣으십시오.


map  <F12> :r! date +\%s<cr>


답변

로부터 빔 익명 .

F 키를 누르기 위해 손을 움직일 필요없이 이것을 사용합니다.

:iab <expr> tds strftime("%F %b %T")

이제 삽입 모드에서 tds를 입력하고 스페이스 바를 누르거나 돌아 오자마자 날짜를 확인하고 계속 입력합니다.

나는 %b거기에 넣었 습니다. 왜냐하면 나는 월 이름을 보는 것을 좋아하기 때문입니다. 는 %F나에게 날짜를 기준으로 정렬 뭔가를 제공합니다. %Y%m%d단위 사이에 문자가 없도록 변경할 수 있습니다 .