1

重複の可能性:
vimで「==========」のような行をすばやく配置するにはどうすればよいですか

編集

この質問は、How can I a put a line like "==========" quick in vim - but that one has not a such great title...の正確な複製であることが判明しました。


マークダウンスタイルファイルを編集するとき、私は持っているのが好きです

Some heading
------------

Notice the line matches the length of the heading?

現在私は:

yyp:s/./-/g

しかし、これを行うためのより良い(キーストロークが少ない)方法があるかどうか疑問に思っていましたか?

4

3 に答える 3

3

私が発見したばかりのように、キーストロークを数回減らすだけでそれを行うことができます:

yypVr-- 7、シフトキーを含める場合。

于 2013-01-25T19:31:57.080 に答える
2

私は Vim の専門家ではありませんが、テキスト エディターでマクロを作成して使用すると、キーストロークを減らすことができます。

通常モードでは、下線を引きたい行にカーソルを置き、バッファへのマクロの記録を開始します (この場合は a)。

q a <enter>

次に、上記のコマンドを実行します。この場合、一連の「-」文字の後に改行を挿入して終了しました。q をもう一度押して終了する前に、挿入モードを終了する前。

yyp:s/./-/gA<enter><esc>q

見出しに下線を引くには、通常モードでその行にカーソルを置き、次のように入力します。

@a<enter>


キーストローク
前: 18
回 後: 3 回
節約: 15 回!

私の知る限り、バッファは「a」から「z」に割り当てることができます

ハッピービミング

于 2013-01-25T19:32:10.243 に答える
1

~/.vimrcそのようなヘッダーを作成するために、次のコードを自分に追加しました。私がするのは行で実行することだけで、それは'sch=で満たされた下の行を作成します。'のヘッダー行を作成する=ことも簡単にできます。ch--

"""" CreateHeaderLine
" Easily create heading mapping
" The following line is an example
" ================================
" mnemonic ch: create header
nnoremap <silent> ch :call CreateHeaderLine('ch' ,'.')<cr>
nnoremap <silent> cH :call CreateHeaderLine('cH', '-')<cr>

function! CreateHeaderLine(mapping, address)
  let c = nr2char(getchar())
  exe 't ' . a:address
  exe "norm! v$r" . c
  silent! call repeat#set(a:mapping . c)
endfunction
于 2013-01-25T19:57:31.473 に答える