=
の動作をに挿入します。挿入モード。
次のコードでは、現在のカーソル位置から24桁目までのスペースが追加され、後ろに等号が追加されます。カーソルの位置の後ろに文字がある場合(単語の真ん中を想定)、それらの文字は25桁の後に移動されます。これをvimrc
ファイルに追加して試してください。第二の工程のために
"" If length of the line is more or equal to 24, add an equal sign at the end.
"" Otherwise insert spaces from current position of cursor until column 24
"" and an equal sign, moving characters after it.
function My_align()
let line_len = strlen(getline('.'))
if line_len >= 24
s/$/=/
return
endif
let col_pos = col('.')
exe 's/\%#\(.\|$\)/\=submatch(1) . printf("%' . (24 - col_pos) . 's%s", " ", "=")/'
endfunction
inoremap = <Esc>:call My_align()<CR>A
、複数の反復コマンドを使用し、等号をチェックし、ちょうどその前にカラム25までのスペースを挿入します。等号が実行前のカラム25の後ろにある場合は動作しませんが、あなたはそのアイデアを得ます。
:g/=/exe 's/=/\=printf("%' . (24 - stridx(getline('.'), "=")) . 's", " ") . submatch(0)/'