由於debug的需要, 我需要生成32個domain name
1.com
2.com
等等. 你以為我會一個一個敲? 打開神器Vim, 直接輸入.
代碼
## 正確
:put =join(range(1,10), \".com\n\")
解析
## 錯誤
:put =join(range(1,10), '.com\n')
為什麼用雙引號"
不用單引號'
, 是因為單引號內\n
會變成character, 而不會變成回車符.
改了以後就會對嘛?
## 錯誤
:put =join(range(1,10), ".com\n")
也是錯誤的, 因為:put =
後面跟的需要是expression, 所以string是需要escape的.
輸入help :put
自己看
Alternative
另外送上一個2B的, 但是能用的
# `.`在vimscript是string concat的意思
:for i in range(1,32) | put =i.'.com' | endfor
小技巧
搜索Vim的Error Code
https://github.com/vim/vim/search?utf8=%E2%9C%93&q=`ERRORCODE`
# 比如說
https://github.com/vim/vim/search?utf8=%E2%9C%93&q=e15