IT

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

lottoking 2020. 9. 15. 08:03
반응형

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


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

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>

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

사용 가능한 매개 변수에 대한 완전한 설명은 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)에 형식을 추가하고 추가 할 수도 있습니다.

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

(셸의 날짜는 \ %를 사용하지 않고 % 만 사용하고 vim은 %를 현재 파일의 이름으로 대체 할 수있는 이스케이프해야합니다)

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

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

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

<F3> 

표시 가능)


vim.wikia 에서 타임 스탬프 삽입 / 업데이트 에 관한 팁을 설명 합니다.


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

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

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

.vimrc에 추천십시오.


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

타임 스탬프 펼쳐보기


로부터 빔 익명 .

F 키를 누르기 위해 손을 대신 사용합니다.

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

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

%b월 이름을보고 싶어서 거기에 넣었습니다 . %F나에게 날짜를 기준으로 정렬 뭔가를 제공합니다. %Y%m%d사이에 문자 단위가 없도록 변경할 수 있습니다 .


이전 답변에 포함되지 않은 또 다른 빠른 방법 : type-

!! 데이트


Unix, 사용 :

!!date

Windows, 사용 :

!!date /t

자세한 내용 : Insert_current_date_or_time 참조


:Date현재 커서 위치에 날짜를 삽입 하는 사용자 지정 명령 (키 매핑이 아님)을 원했습니다 .

불행히도 간단한 명령 r!date은 새 줄을 생성합니다. 그래서 마침내 다음을 생각해 냈습니다.

command Date execute "normal i<C-R>=strftime('%F %T')<CR><ESC>"

새 줄을 추가하지 않고 커서 위치에 날짜 / 시간 문자열을 normal a추가합니다 (커서 위치 뒤에 추가 하도록 변경 ).

참고 URL : https://stackoverflow.com/questions/56052/best-way-to-insert-timestamp-in-vim

반응형