目录
%toc
FOR的变量参照
FOR 变量参照的替换已被增强。您现在可以使用下列选项语法:
~I - 删除任何引号("),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个完全合格的名称。如果环境变量未被定义,或者没有找到文件,此组合键会扩充空字符串
可以组合修饰符来得到多重结果:
%~dpI - 仅将 %I 扩充到一个驱动器号和路径
%~nxI - 仅将 %I 扩充到一个文件名和扩展名
%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
%~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个驱动器号和路径。
%~ftzaI - 将 %I 扩充到类似输出线路的 DIR
在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名比较易读,而且避免与不分大小写的组合键混淆。
下面是一个例子
@echo off
set p=e:\kuaipan\vimwiki\index.wiki
for /f "delims==" %%i in ("%p%") do (
set filep=%%~dpi
set filen=%%~nxi
set file_name=%%~ni
set file_ext=%%~xi
)
echo File path: %filep%,file %filen%, file_name is:%file_name%, file_ext=%file_ext%
pause
从这里打开命令行
有时候需要在某个路径打开命令行,但是经常是先打开cmd.exe 然后再切换到工作目录,这浪费了很多不必要的时间。下面我们自己动手修改系统文件夹的右键菜单,添加从这里打开命令行的选项,具体方法记录在这里。
右键菜单添加:使用vim编辑
在Windows的右键菜单中添加一个,使用vim编辑的选项,方法记录在这里
批处理命令
今天又学到了一个有用的命令,pushd
和popd
可以用来将路径压入临时存储栈
解决Windows中gvim删除键(backspace)失效
vim For Windows经常出现Backspace键只能删除我在没有退出插入模式下输入的字符, 当我退出插入模式后再进插入模式就不能删除我之前编辑的字符了。解决方法如下:
set backspace=indent,eol,start whichwrap+=<,>,[,]
Emacs和vim被分别号称编辑器之神和神的编辑器,总之两者都是这个星球上最强大的编辑器。相比vim,可能emacs显得稍微臃肿了一些,我在Windows7中配置满足自己需求的emacs也费了一小把功夫,完美配置方法具体如下。