我想在使用vim時方便地刪除意外放置的選項卡。那跳出來我的解決方法是爲插入模式映射到下面的VIM功能:Vim函數中的變量類型
function DeleteTab()
redir => l:numSpaces "captures output of set
set tabstop?
redir END
"Strip off non-numerical output of 'set tabstop?'
let l:numSpaces = substitute(l:numSpaces, "tabstop=", "", "")
let l:numSpaces = substitute(l:numSpaces, " ", "", "g")
"all echom lines are for debugging purposes
echom "1"
if l:numSpaces > 0
echom "2"
while 1:numSpaces > 0
execute "normal i<bs>"
let l:numSpaces = l:numSpaces - 1
endwhile
endfunction
除了沒有做什麼,我意,調用此函數的結果是我的信息「1」,但不是「2」。這意味着l:numSpaces不會被解釋爲一個數字。我如何做相當於在vimscript中投射。另外,我錯過了一個更簡單的方法嗎?