【发布时间】:2013-12-06 00:16:56
【问题描述】:
我想设置一个键映射来打开一个在可视模式下突出显示的绝对路径文件名,该文件名可能在中间有一个换行符。
我拥有的大多数文件都以以下方式格式化,我想突出显示单引号之间的路径并打开该文件(对于那些好奇的人,格式化为 MSC NASTRAN):
INCLUDE '/directory/directory/directory/directory/
directory/filename'
困难的是拉动整个部分会导致路径中间出现 ^M 换行符。我的方法如下(遍历下面的 :map 命令):
- 从选择中拉出路径(存储到@0)
- 创建新寄存器@f,其中空字符串替换来自@0 的换行符
-
在@f中打开文件路径
map <F8> y \| :let @f=substitute(strtrans(@0),'\^@','','g') \| :e <C-R>f<CR>
问题在于,如果在新文件路径上第二次运行,vim 会在更新@f 之前使用存储在@f 寄存器中的先前路径
有什么解决办法或其他方法吗?最后用 :let @f='' 清除寄存器似乎也不起作用。
我也没有管理员权限,因为这是一台工作计算机,所以我不认为我可以安装插件,但我还是 vim 的新手,任何想法表示赞赏。谢谢!
【问题讨论】:
标签: vim command keymapping