Linux

Vim 快速插入目前日期、時間教學與範例

介紹如何在 Vim 編輯器中快速插入目前的日期與時間。

strftime 內建函數

若在 Vim 編輯器中需要插入目前的日期與時間,可以使用 strftime 這個內建函數,例如:

:put =strftime('%c')

或是這樣寫也可以:

:put =strftime(\"%c\")

執行之後,就會插入這樣的日期與時間資訊:

使用 strftime 插入日期與時間

strftime 內建函數支援各種日期與時間的格式,以下是常見的一些範例格式以及執行結果:

格式 範例
%c 2021年11月30日 (週二) 19時07分23秒
%a %d %b %Y 二 30 11月 2021
%d/%m/%y %H:%M:%S 30/11/21 19:09:03
%Y-%m-%d 2021-11-30
%T 19:13:56
%a, %d %b %Y %H:%M:%S %z 二, 30 11月 2021 19:15:17 +0800

若要更改日期或時間的格式,可以自行替換 strftime 的格式參數,而關於 strftime 詳細的格式用法,可以參考其線上手冊:

# 查看 strftime 線上手冊
man strftime

快速鍵插入日期

如果希望設定在一般模式(normal mode)與插入模式(insert mode)都可以透過 F5 快速鍵來插入日期與時間,可以在 .vimrc.gvimrc 設定檔中加入以下設定:

" 設定以 F5 快速鍵插入日期與時間
nnoremap <F5> "=strftime("%c")<CR>P
inoremap <F5> <C-R>=strftime("%c")<CR>

以縮寫插入日期時間

另外一種快速插入日期與時間的方式是採用 Vim 的縮寫功能,在 .vimrc.gvimrc 設定檔中加入以下設定:

" 設定以 dts 縮寫插入日期與時間
iab <expr> dts strftime("%c")

加入這個設定之後,只要在 Vim 插入模式之下輸入 dts 這個單字,Vim 就會自動將其替換為目前的日期與時間。

以日期時間取代文字

若要在 Vim 編輯器中,將指定的文字取代為目前的日期或時間,可以將 strftime 套用在取代指令中,例如:

:s/YOUR_TEXT/\=strftime("%c")/

這樣就會把 YOUR_TEXT 取代為目前的日期與時間。

讀取外部 date 指令輸出

除了使用內建的 strftime 函數之外,也可以讀取外部 date 指令所輸出的日期與時間資訊,例如:

:r !date

執行結果會像這樣:

使用 date 插入日期與時間

如果是在 Windows 平台上的 Vim 編輯器中則可改用以下方式呼叫 date 指令:

:r !date /t

我們也可以透過 date 支援的格式參數來調整日期與時間的格式,例如:

:r !date "+\%F"
2021-11-30

甚至是取得兩天之前的日期資訊:

:r !date "+\%F" -d "-2 day"
2021-11-28

參考資料

Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

1 年 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

1 年 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

1 年 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

1 年 ago