作者Xphenomenon (啦 )
看板Editor
标题Re: [vim ] 输入跟上一行同样长度的字元?
时间Wed Dec 7 16:05:42 2011
※ 引述《Xphenomenon (啦 )》之铭言:
: 想请问一下,我希望可以有这样子的功能:
: 第一章
: ====== <== 希望自动产生
: 当我打完 “第一章”之後,在下一行我要全打 "=",现在我的做法是 6i=<esc>,
: 但是这样子我每次的标题我都需要去计算有几个文字,有没有办法让我可以在
: 目前这一行他会自动去计算上一行的文字数,然後在这一行可以使用的?
: 先谢谢大家的回答。:)
OB
查了一下如何写简单的 vim script, 给跟我一样有需要的人:
function! CountWords(char)
let counter = strwidth(getline("."))
let result = repeat(a:char, counter)
let failed = append(line("."), result)
call cursor(line('.')+2, 0)
endfunction
map <leader>c- :call CountWords('-')<cr>O
map <leader>c# :call CountWords('#')<cr>O
map <leader>c~ :call CountWords('~')<cr>O
值得注意的是,函数 strwidth() 只出现在 7.3 版本,旧版的恐怕没办法使用喔。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.230.218.156