1
這裏是vim腳本x.vim:爲什麼這些字符串被評估爲不相等?
python << endpy
import vim
import time
import os
cb = vim.current.buffer
bufferString = '\n'.join(cb[:])
with open(cb.name, "r") as currentFile:
fileString = currentFile.read()
print bufferString
print "================="
print fileString
if bufferString != fileString:
print "File changed!"
else:
print "Nothing changed!"
endpy
公開賽在vim和類型:so %
的腳本,它打印出的文件和緩衝區,並根據蟒蛇,它們是不同的,但是目測,你可以看到他們明顯的平等。爲什麼?
如果在vim中編輯文件(這看起來很可能),它幾乎肯定會在最後有一個新行,因爲vim在默認情況下放置一個。 – FDinoff
是的,這似乎是答案。嘗試在兩條「print」行中添加'+'#''。或者打印出'len(fileString)'和'len(bufferString)'。 – benjifisher