我有一个带替换的vim脚本:
:%s/|I\(cc\|ee\|CC\|EE\)|/|$I_{\1}$|/
:%s/|UOmax\([+-]\)|/|$U_{Omax\1}$|/
:%s/|KcmR|/|$K_{cmR}$|/
:%s/|KsvR|/|$K_{svR}$|/
:%s/Uoffset/$U_{offset}$/
..............
有时我忘了这个脚本当前已被编辑,因此我执行so ~/.vim/macros/script.vim
并且它正在修改自己。如何让脚本知道它当前已被编辑?
答案 0 :(得分:2)
您可以在继续之前检查expand('%:p') != expand('<sfile>:p')
。
老实说,我不确定我是否会为此烦恼,因为u
ndo会快速解决问题,而且因为我经常打开很多缓冲区,所以我很可能在任何缓冲区上犯错误。 / p>
BTW,另一种方法是定义一个tex
ftplugin,你可以定义一个执行替换的功能,以及一个在当前缓冲区上执行该功能的缓冲区本地映射。这样,您就无法在不是LaTeX的缓冲区上运行替换。
答案 1 :(得分:0)
尝试安装vim-quickrun并输入class ProjectTableViewController: SuperTViewController, UINavigationBarDelegate {
override func viewDidLoad() {
super.viewDidLoad()
delegate = self
}
....
}
。 vim-quickrun如果修改了脚本,则从缓冲区而不是文件运行脚本。