vim能不能实现保存时默认文件名为当前文件的第一行?
发表于 : 2011-01-02 12:21
像EmEditor、word都有这种功能
能不能为vim写个函数,结合:bro sav命令实现这种功能?
能不能为vim写个函数,结合:bro sav命令实现这种功能?
代码: 全选
command SAVE let curline=getline(1) | exec "saveas ".curline
总要自己先想想么,重新造轮子有利于学习。。。lilydjwg 写了:如果第一行为空就看第二行,规避了一些会导致问题的特殊字符。
[vim]
function Lilydjwg_TSave()
let line = getline(1)
if line =~ '^\s*$'
let line = getline(2)
endif
let line = substitute(line, '[:/\\]', '-', 'g')
let line = substitute(line, '^\s\+', '', 'g')
let line = substitute(line, '\s\+$', '', 'g')
let line = substitute(line, ' ', '\\ ', 'g')
let line = substitute(line, '\r', '', 'g')
exe 'sav ' . line . '.txt'
endfunction
command TSave call Lilydjwg_TSave()
[/vim]
要 :bro 的话自己加上。
PS: 又是我的 vimrc 里有的。。。。
那你什么时候重写个 Vim?lainme 写了: 总要自己先想想么,重新造轮子有利于学习。。。