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>
이제 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
단위 사이에 문자가 없도록 변경할 수 있습니다 .
