前言
本文列出了3个常用的配置,可以帮助我们从繁琐重复的任务中解脱出来、实现自动化操作。日积月累,一定有助于提升效率。
gvim配置自动插入字符串
在.vimrc中加入以下一行代码,可以帮助你在gvim文本编辑器中快速插入一个带有日期或自定义信息的模板字符串。以下命令要插入的快速字符串是:
iab rev <c-r>=printf('REVISIT(zhuanxinzhizhier, Success, , %s)', strftime('%Y-%m-%d'))<cr>
命令解释:
printf函数用于格式化字符串,其中%s是一个占位符,用于插入strftime('%Y-%m-%d')的结果,即当前的年月日(格式为YYYY-MM-DD)。
strftime('%Y-%m-%d')是gvim的内置函数,用于获取并格式化当前日期。
<c-r>来执行gvim的表达式寄存器功能,这允许你插入一个gvim脚本表达式的计算结果。
<cr>是回车(Enter)键的缩写,用于执行表达式并插入结果。
使用示例:
打开一个gvim文件并进入编辑模式;
输入rev字符并按下Esc按键,你会发现rev自动被'REVISIT(zhuanxinzhizhier, Success, , YYYY-MM-DD)替换掉。
tcsh配置命令提示符
在.tcshrc中加入以下两行代码,可以帮助你设置有更友好的Linux terminal交互界面,你也可以在这两条命令上进行微调,使之符合自己的审美。第一行命令是设置terminal提示符的自定义颜色、加粗和特定占位符。第二行是设置切换目录并设置命令提示符后,自动执行ls命令显示新目录下的文件。而不用每次都需要手动ls一下,查看当前目录有哪些文件。
alias setprompt 'set prompt="%n@%m $cg${cwd}$c0 n$cg%B>%b$c0"'
alias cd 'chdir !* && setprompt && ls
第一行解释:
alias setprompt ...:为一个名为 setprompt 的命令或函数创建一个别名。
set prompt=’...’:设置一个名为 prompt 的变量或配置项,该变量或配置项包含了要使用的命令行提示符。命令行提示符,即你在终端中看到的,通常用来指示当前用户、当前工作目录、权限级别等信息的那部分文本(如 [user@hostname directory]$),是由 shell 环境(如tcsh、 bash、zsh等)管理的。但是,它被放在了引号内,作为 alias 命令的参数,这意味着它不会被当作 tcsh 的命令来执行,而是被当作一个字符串赋值给 setprompt 这个别名。
%n:代表当前用户的用户名。
%m:代表机器名或主机名。
$cg和 $c0 :用于改变文本颜色的代码,$cg 代表一种绿色(green),而 $c0 代表重置颜色到默认。
${cwd}:代表当前工作目录(current working directory)的缩写。
n:这是一个换行符,意味着提示符将跨越多行显示。这在某些情况下很有用,但可能会使命令行界面看起来有些混乱。
%B 和 %b:它们用于加粗文本(%B 开始加粗,%b 停止加粗)
第二行解释:
alias cd ...:为 cd 命令创建一个别名。
chdir !*:chdir用于改变当前工作目录。!* 表示传递的所有参数。
&&:逻辑 AND 操作符,在 shell 脚本中用于连接两个命令,仅当第一个命令成功执行(即退出状态为 0)时,才会执行第二个命令。
setprompt:这个命令就是第一行的自定义命令,用于设置命令行提示符。
ls:这是一个标准的 Unix/Linux 命令,用于列出目录内容。在这个上下文中,它被添加到别名中,以便在成功改变目录后自动列出新目录的内容。
tcsh配置命令别名
在tcsh中,set命令用于设置或显示环境变量或shell变量的值。可以.tcshrc中加入以下类似代码,这条命令在tcsh中定义了一个变量po,并将它设置为一个包含特定选项的字符串,这个字符串随后可以在需要这些选项的命令行或脚本中被引用。这是shell中常用的做法,用于将经常使用的命令选项或路径等作为变量存储,以便在需要时轻松引用。与alias有点类似,但是set命令更灵活。
set po='--py python.py -off'
命令解释:
set:设置变量,它定义了一个名为po的变量。
=:将字符串'--py python.py -off'赋值给变量po。这个字符串可以是一系列用于某个命令或脚本的选项。
'':单引号(')用于确保字符串中的空格、冒号等特殊字符被当作字符串的一部分处理,而不是被shell解释为命令的多个参数或选项分隔符。
一旦这个变量被设置,你就可以在shell脚本或命令行中通过$po来引用这个字符串。例如,如果你在terminal命令行中需要这些选项,你可以这样做:
some_command $op
这就将--py python.py -off作为some_command的参数,实际上执行的是:
some_command --py python.py -off
总结
这里列出的3个配置只是起到抛砖引玉作用,帮助我们从消耗了大量时间和精力的琐碎重复工作中摆脱出来。还有很多其它的配置,比如文字自动补全、NERD_tree、Ctags、自动对齐等,大家可以自行继续探索或者评论交流,有机会我再更新些。