0
我試圖創建一個腳本,允許我選擇幾行並在其周圍創建一個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)控制在我的選擇(最大長度)的最長的線。
2)將光標放在最長行+1列的選區中的第一行上。 3)比激活視覺塊選擇(在我的Windows PC上,命令是C-Q)
4)擴展視覺塊直到選擇的最後一行(我的電腦向下移動的命令=「j」)。
5)使用「c」鍵插入「空格」字符並按ESC退出插入模式,以便用空格填充虛擬塊列。
但是我找不到如何在正常的命令中使用變量(Endline)。
我還注意到,在上面的例子中,鍵不起作用。
我錯了什麼?
謝謝ZYX!我每天都在學習,但還有很多東西需要學習。我會更多地研究你的信息。目前它給了這個錯誤;未知功能設定。 – Reman 2012-04-07 20:40:54
@Remonn。是的,它應該是'setline'。忘記粘貼文件修改我寫了我的代碼來測試它,對不起。 – ZyX 2012-04-07 20:52:30
是的,它的工作原理!只是一件事:我必須改變什麼才能包含上面函數中的選定空行? – Reman 2012-04-08 06:40:17