1. 程式人生 > >vim中自動新增作者時間等資訊

vim中自動新增作者時間等資訊

如果每次在寫指令碼的時候給指令碼加註釋挺煩人的,尤其是用英文寫註釋的時候,但是養成寫註釋的習慣,對日後指令碼的維護還是很有幫助的,

一般指令碼的開頭會註明編寫時間,版本,用途等說明。

VIM 裡面能夠使用對映(map)來幫您自動插入這些資訊,就像下面這樣
#****************************************************
#         Author: [email protected]
#  Last modified: 2007-08-10 21:19
#       Filename: /etc/vimrc
#    Description: Configuration for 
vim editor
#****************************************************
其中 Last modified 後面的時間是根據當前時間自動插入的,Filename 後的文件名也是當前編輯的文件名。
我們的目的是在VIM的命令模式下面,自動在文件的開頭插入上面的資訊
為了方便,先定義一個函式
function AddTitle()
call setline(1,"#****************************************************")
call append(1,"#         Author: [email protected]
")

call append(2,"#  " . "Last modified: " . strftime("%Y-%m-%d %H:%M"))
call append(3,"#       Filename: " . expand("%"))
call append(4,"#    Description: ")
call append(5,"#****************************************************")
endf
函式用 function 關鍵字開頭,函式名的第一個字母需要大寫
setline 表示在第一行插入 #******** 
append 表示追加行,expand表示展開變數的值,%代表文件名,strftime 表示當前時間

然後定義 map 規則:
map fuck :call AddTitle():$o
表示按鍵,表示回車,上面的指令的意思是在文件開頭加入註釋,然後跳到文件末尾,進入輸入模式。
OK,很簡單吧~~~~~~ 
好,當您對一個指令碼修改後,需要更新 Last modified 時間怎麼辦,手動嗎?當然不用這麼麻煩~~~~ 
同樣能夠指定一個 map 規則,比如 shit
map shit :/# *Last modified: /[email protected]:.*[email protected]/=strftime(": %Y-%m-%d %H:%M")@
讓我們一步一步分析上面規則的意思:
/# *Last modified: / 表示查詢以 # 開頭,後面跟上一些空格,然後是 Last modified: 的行,也就是上面插入註釋的第2行
[email protected]@@ 表示替換
第一個 @[email protected] 中間的內容,表示原來的時間,
第二個 @[email protected] 是新的當前時間,由於這個時間是動態的,需要呼叫函式,故在@後需要用 /= 來告訴 s 命令
/= 後面的程式碼是個表示式,其值就是當前時間
最後一個  代表回車,也就是執行這個替換操作
VIM自動行首插入註釋,假如下次您修改了文件,註釋中的最後更改時間則會自動同步到當前時間

相關推薦

vim自動新增作者時間資訊

如果每次在寫指令碼的時候給指令碼加註釋挺煩人的,尤其是用英文寫註釋的時候,但是養成寫註釋的習慣,對日後指令碼的維護還是很有幫助的, 一般指令碼的開頭會註明編寫時間,版本,用途等說明。 VIM 裡面能夠使用對映(map)來幫您自動插入這些資訊,就像下面這樣#*********

Pycharm 新建檔案時 自動新增作者時間資訊

可用的變數有: $ {PROJECT_NAME} - 當前專案的名稱。 $ {NAME} - 在檔案建立過程中在“新建檔案”對話方塊中指定的新檔案的名稱。 $ {USER} - 當前使用者的登入名。 $ {DATE} - 當前的系統日期。 $ {TIME} - 當前系統時間。 $ {YEA

Pycharm新建模板預設新增作者時間資訊

  在pycharm使用過程中,對於每次新建檔案的shebang行和關於程式碼編寫者的一些個人資訊快捷填寫,使用模板的方式比較方便。   方法如下:   1.開啟pycharm,選擇File-Settings   2.選擇Editor--Color&St

在vimplus自動新增作者資訊

安裝vimplus參考 在已經完成vimplus的安裝後 在vimplus中預定義的編碼指令碼放在~/.vim/plugged/prepare-code/prepare/autoload 在prepare.vim中插入這個函式 " 生成作者資訊 function!

vim自動新增檔案註釋到文字

在/etc/vimrc下追加如下內容: function AddTitle() call setline(1,"#!/bin/bash") call append(1,"#***************************************************

在Pycharm自動新增時間日期作者資訊

1.按照下面路徑以此開啟 File→Settings→Editor→File and code Templates 右側找到Python Script,如下圖 2.設定相關程式碼 如下

idea建立新的類(檔案)時,自動新增作者建立時間(檔案註釋)資訊的設定方法

一、文件註釋(設定後建立新檔案自動生成如下 二、設定方式(如下圖)調出設定選項快捷鍵 Mac下快捷方式Command + , 寫法 釋義 ${PACKAGE_NAME} n

Vim自動在程式起始處新增版權和作者資訊

map <F4> :call TitleDet()<cr> function AddTitle() call append(0,"\#!/usr/bin/env bash") call append(1,"# ****************************

Linux下vim編輯器設定自動新增作者資訊

map <F4> ms:call AddAuthor()<cr>'s 語句含義是將F4功能鍵對映為AddAuthor()函式,按下F4時,將呼叫AddAuthor()函式 2、新增AddAuthor()函式 函式的功能是判斷檔案前5行內容是否有Last modified這個單

Eclipse設定作者日期資訊

  在使用Eclipse 編寫Java程式碼時,自動生成的註釋資訊都是按照預先設定好的格式生成的,例如其中author 的屬性值。 我們可以在Eclipse 中進行設定自己希望顯示的資訊。       現在看看如何修改我們的使用者名稱即作者資訊:點選Windows-&

vs2013 類庫自動新增作者版本資訊

在大多數公司都規定程式設計師在程式檔案的頭部加上版權資訊,這樣每個人寫的檔案都可以區分開來,如果某個檔案出現問題就可以快速的找到檔案的建立人,用最短的時間來解決問題,常常是以下格式: //====

Linux Vim自動補全Python插件:Pydiction

python 自動補全 vimPydiction 可以是我們使用Tab鍵自動補全Python代碼在Vim,是一款非常不錯的插件。Pydiction不需要安裝,所有沒有任何依賴包問題,Pydiction主要包含三個文件。python_pydiction.vim -- Vim plugin that autoc

【轉】Pycharm新建模板默認添加作者時間信息

用戶 添加作者 變量 ref 打開 ron nth 文件創建 sof 【轉】Pycharm新建模板默認添加作者時間等信息   在pycharm使用過程中,對於每次新建文件的shebang行和關於代碼編寫者的一些個人信息快捷填寫,使用模板的方式比較方便。   方法如下:   

Mybatis去掉foreach拼接字串自動新增的前後空格

例: <foreach collection="plantset_types" item="plant" separator="," open="'" close="'"> ${plant.plant_id} </foreach> 每個${plant.p

Office365 自動新增域名

很早之前介紹了怎麼去繫結域名 Office365管理篇基礎操作(三)繫結域名  因為客戶的公網域名都是在阿里等運營商處購買的,這樣的域名可以按照我以前的文章進行繫結到Office365中。但是有些客戶如果在godaddy上購買了域名的話,那麼繫結域名就變得非常簡單了。我們來一起看下怎麼個簡單法

vim自動格式化程式碼

在vim中其實也有像Eclipse中的ctrl + shift +F 的自動格式化程式碼的操作,儘管非常強大,但是通常會破壞程式碼的原有的縮排, 所以不建議在python這樣縮排代替括號的語言中和源程式已經縮排過的程式碼中使用,廢話少說,下面說步驟: 1,gg 跳轉到

mysql(自動新增系統時間)timestamp型別欄位的CURRENT_TIMESTAMP與ON UPDATE CURRENT_TIMESTAMP屬性

timestamp有兩個屬性,分別是CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP兩種,使用情況分別如下: 1.CURRENT_TIMESTAMP  當要向資料庫執行insert操作時,如果有個timestamp欄位屬性設為 

Laravel 5.3+ 自動新增建立時間與更新時間詳解

本文已經遷移至我的個人技術部落格: 在Laravel 5.3之前,migrations中的$table->timestamps()所建立的created_at及updated_at兩個col

Android 取得應用程式的啟動次數和執行時間資訊

使用情景:最近有個需求是統計後臺應用執行時間,如果一個應用在後臺執行超過一定時間就Kill掉程序,達到省電的目的。此時就可以使用PkgUsageStats這個類來實現啦!通過com.android.internal.os.PkgUsageStats這個類可以得到一個應用

vb 如何在對Access建立新欄位(列)的過程自動新增該列的預設值

搞了一下午,終於解決了,希望能幫助到他人。 '通用-宣告 Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim sql$ '連線Data.mdb資料庫 Public Sub openConn()