私はいくつかの行を選択してその周りにvirtualeditブロックを作成するためのスクリプトを作成しようとしています。一番長い行の後に1列。選択肢の周りにvirtualeditブロックを作成します
これはそれを行う必要がありますどのように私のコード
function! VirtualEdit()
let EndLine = line("'>")
set virtualedit = all
let maxlength = max(map(range(line("'<"), line("'>")), "virtcol([v:val, '$'])"))-1
call cursor(1,maxlength+1)
normal "^Q".EndLine."jc<space><ESC>"
set virtualedit = ''
endfunction
では
1である)私の選択で最も長い行(MAXLENGTH)を制御します。
2)最長行+1列の列の選択範囲の最初の行にカーソルを置きます。
3)ビジュアルブロック選択をアクティブにするより(私のウィンドウのコマンドはC-Qです)
4)ビジュアルブロックを選択範囲の最後の行まで伸ばしてください(私のPCのコマンドは下に移動する= "j")。
5)「c」キーを使用して「スペース」文字を挿入し、ESCを使用して挿入モードを終了し、仮想ブロック列をスペースで埋めます。
しかし、私は通常のコマンドで変数(Endline)を使用する方法を見つけることができません。
私は上記の例ではキーがあり、動作しないことにも注意しました。
どうしたのですか?
はあなたにZYXをありがとう!私は毎日勉強していますが、学ぶことはまだまだあります。もう少しあなたのメッセージを勉強します。現時点では、このエラーが発生しました。機能の設定を知らない。 – Reman
@レモン。はい、 'setline'でなければなりません。ファイルから変更を貼り付けるのを忘れました。コードを書いてテストしました。申し訳ありません。 – ZyX
はい、動作します!ちょうど1つのこと:上記の関数で選択した空行も含めて変更する必要があるのは何ですか? – Reman