Re: [vim ] 輸入跟上一行同樣長度的字元?
看板Editor (編輯器(vim/emacs))作者Xphenomenon (啦 )時間13年前 (2011/12/07 16:05)推噓0(0推 0噓 0→)留言0則, 0人參與討論串2/2 (看更多)
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Editor 近期熱門文章
PTT數位生活區 即時熱門文章