像EmEditor、word都有这种功能
能不能为vim写个函数,结合:bro sav命令实现这种功能?
vim能不能实现保存时默认文件名为当前文件的第一行?
- xxxcjr
- 帖子: 102
- 注册时间: 2007-01-01 9:03
- lainme
- 论坛版主
- 帖子: 7805
- 注册时间: 2008-09-13 19:17
- 系统: Arch Linux (x86_64)
- 联系:
Re: vim能不能实现保存时默认文件名为当前文件的第一行?
getline可以获取某一行的内容,再用saveas就可以了
:help getline()
:help :saveas
:help getline()
:help :saveas
代码: 全选
command SAVE let curline=getline(1) | exec "saveas ".curline
- lilydjwg
- 论坛版主
- 帖子: 4249
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: vim能不能实现保存时默认文件名为当前文件的第一行?
如果第一行为空就看第二行,规避了一些会导致问题的特殊字符。
[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]
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 里有的。。。。
- lainme
- 论坛版主
- 帖子: 7805
- 注册时间: 2008-09-13 19:17
- 系统: Arch Linux (x86_64)
- 联系:
Re: vim能不能实现保存时默认文件名为当前文件的第一行?
总要自己先想想么,重新造轮子有利于学习。。。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 里有的。。。。
- lilydjwg
- 论坛版主
- 帖子: 4249
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: vim能不能实现保存时默认文件名为当前文件的第一行?
那你什么时候重写个 Vim?lainme 写了: 总要自己先想想么,重新造轮子有利于学习。。。
PS: 才发现你的 DokuBlog 我昨天刚去过