2012-03-25 76 views
1

「我不能找出如何在一個函數或循環使用一個變量出使用inputdialog的。 使用inputdialog被看作是一個字符串,我不能在使用它的循環或功能。如何在「for循環」中使用inputdialog變量?

PE:

if !exists("myvar") 
let myvar= "which variable?" 
endif 
let a = inputdialog(myvar) 

for n in range(1,3) 
put = a 
endfor 

如果PE 變種A = N
我希望這是輸出:

1 
2 
3 

,但它給出了這樣的輸出:

n 
n 
n 

( 「a」 被視爲字符串,而不是運營商)

我是怎麼了?
如何讓vim識別inputdialog作爲運算符的值而不是字符串?

+0

但是你的代碼是正確的,它打印它應該。我不確定你想做什麼,請編輯並重新制定。 – lzap 2012-03-25 18:13:32

+0

@lzap我重寫了文字。希望我明確自己。 – Reman 2012-03-25 19:53:46

+0

期望'put = a'做什麼?它將使用'inputdialog()'設置var'a'的內容,並且如果它被設置爲'n',那麼將放置在緩衝區上。如果你想要'n'的值,爲什麼不使用'put = n'?恐怕我沒有得到你想要做的事情。 – Raimondi 2012-03-25 21:21:41

回答

1

更改命令

:put =a 

:put =eval(a) 

另外,也可以使用

:exe 'put =' a 

然而,如果存儲在a變量字符串中包含的字符 與干擾Ex命令語法或命令行模式hortcuts,上面的 命令不能正常工作而不逃避所述字符。

+0

謝謝。這就是我搜索的:) – Reman 2012-03-26 12:20:29