前言
本文列出了3個(gè)常用的配置,可以幫助我們從繁瑣重復(fù)的任務(wù)中解脫出來、實(shí)現(xiàn)自動(dòng)化操作。日積月累,一定有助于提升效率。
gvim配置自動(dòng)插入字符串
在.vimrc中加入以下一行代碼,可以幫助你在gvim文本編輯器中快速插入一個(gè)帶有日期或自定義信息的模板字符串。以下命令要插入的快速字符串是:
iab rev <c-r>=printf('REVISIT(zhuanxinzhizhier, Success, , %s)', strftime('%Y-%m-%d'))<cr>
命令解釋:
printf函數(shù)用于格式化字符串,其中%s是一個(gè)占位符,用于插入strftime('%Y-%m-%d')的結(jié)果,即當(dāng)前的年月日(格式為YYYY-MM-DD)。
strftime('%Y-%m-%d')是gvim的內(nèi)置函數(shù),用于獲取并格式化當(dāng)前日期。
<c-r>來執(zhí)行g(shù)vim的表達(dá)式寄存器功能,這允許你插入一個(gè)gvim腳本表達(dá)式的計(jì)算結(jié)果。
<cr>是回車(Enter)鍵的縮寫,用于執(zhí)行表達(dá)式并插入結(jié)果。
使用示例:
打開一個(gè)gvim文件并進(jìn)入編輯模式;
輸入rev字符并按下Esc按鍵,你會(huì)發(fā)現(xiàn)rev自動(dòng)被'REVISIT(zhuanxinzhizhier, Success, , YYYY-MM-DD)替換掉。
tcsh配置命令提示符
在.tcshrc中加入以下兩行代碼,可以幫助你設(shè)置有更友好的Linux terminal交互界面,你也可以在這兩條命令上進(jìn)行微調(diào),使之符合自己的審美。第一行命令是設(shè)置terminal提示符的自定義顏色、加粗和特定占位符。第二行是設(shè)置切換目錄并設(shè)置命令提示符后,自動(dòng)執(zhí)行l(wèi)s命令顯示新目錄下的文件。而不用每次都需要手動(dòng)ls一下,查看當(dāng)前目錄有哪些文件。
alias setprompt 'set prompt="%n@%m $cg${cwd}$c0 n$cg%B>%b$c0"'
alias?cd?'chdir?!*?&&?setprompt?&&?ls
第一行解釋:
alias setprompt ...:為一個(gè)名為 setprompt 的命令或函數(shù)創(chuàng)建一個(gè)別名。
set prompt=’...’:設(shè)置一個(gè)名為 prompt 的變量或配置項(xiàng),該變量或配置項(xiàng)包含了要使用的命令行提示符。命令行提示符,即你在終端中看到的,通常用來指示當(dāng)前用戶、當(dāng)前工作目錄、權(quán)限級別等信息的那部分文本(如 [user@hostname directory]$),是由 shell 環(huán)境(如tcsh、 bash、zsh等)管理的。但是,它被放在了引號內(nèi),作為 alias 命令的參數(shù),這意味著它不會(huì)被當(dāng)作 tcsh 的命令來執(zhí)行,而是被當(dāng)作一個(gè)字符串賦值給 setprompt 這個(gè)別名。
%n:代表當(dāng)前用戶的用戶名。
%m:代表機(jī)器名或主機(jī)名。
$cg和 $c0 :用于改變文本顏色的代碼,$cg 代表一種綠色(green),而 $c0 代表重置顏色到默認(rèn)。
${cwd}:代表當(dāng)前工作目錄(current working directory)的縮寫。
n:這是一個(gè)換行符,意味著提示符將跨越多行顯示。這在某些情況下很有用,但可能會(huì)使命令行界面看起來有些混亂。
%B 和 %b:它們用于加粗文本(%B 開始加粗,%b 停止加粗)
第二行解釋:
alias cd ...:為 cd 命令創(chuàng)建一個(gè)別名。
chdir !*:chdir用于改變當(dāng)前工作目錄。!* 表示傳遞的所有參數(shù)。
&&:邏輯 AND 操作符,在 shell 腳本中用于連接兩個(gè)命令,僅當(dāng)?shù)谝粋€(gè)命令成功執(zhí)行(即退出狀態(tài)為 0)時(shí),才會(huì)執(zhí)行第二個(gè)命令。
setprompt:這個(gè)命令就是第一行的自定義命令,用于設(shè)置命令行提示符。
ls:這是一個(gè)標(biāo)準(zhǔn)的 Unix/Linux 命令,用于列出目錄內(nèi)容。在這個(gè)上下文中,它被添加到別名中,以便在成功改變目錄后自動(dòng)列出新目錄的內(nèi)容。
tcsh配置命令別名
在tcsh中,set命令用于設(shè)置或顯示環(huán)境變量或shell變量的值??梢?tcshrc中加入以下類似代碼,這條命令在tcsh中定義了一個(gè)變量po,并將它設(shè)置為一個(gè)包含特定選項(xiàng)的字符串,這個(gè)字符串隨后可以在需要這些選項(xiàng)的命令行或腳本中被引用。這是shell中常用的做法,用于將經(jīng)常使用的命令選項(xiàng)或路徑等作為變量存儲(chǔ),以便在需要時(shí)輕松引用。與alias有點(diǎn)類似,但是set命令更靈活。
set po='--py python.py -off'
命令解釋:
set:設(shè)置變量,它定義了一個(gè)名為po的變量。
=:將字符串'--py python.py -off'賦值給變量po。這個(gè)字符串可以是一系列用于某個(gè)命令或腳本的選項(xiàng)。
'':單引號(')用于確保字符串中的空格、冒號等特殊字符被當(dāng)作字符串的一部分處理,而不是被shell解釋為命令的多個(gè)參數(shù)或選項(xiàng)分隔符。
一旦這個(gè)變量被設(shè)置,你就可以在shell腳本或命令行中通過$po來引用這個(gè)字符串。例如,如果你在terminal命令行中需要這些選項(xiàng),你可以這樣做:
some_command $op
這就將--py python.py -off作為some_command的參數(shù),實(shí)際上執(zhí)行的是:
some_command --py python.py -off
總結(jié)
這里列出的3個(gè)配置只是起到拋磚引玉作用,幫助我們從消耗了大量時(shí)間和精力的瑣碎重復(fù)工作中擺脫出來。還有很多其它的配置,比如文字自動(dòng)補(bǔ)全、NERD_tree、Ctags、自動(dòng)對齊等,大家可以自行繼續(xù)探索或者評論交流,有機(jī)會(huì)我再更新些。