[英]Vim weird behaviour with backspace with empty .vimrc
我在Ubuntu上遇到了一個奇怪的問題。 過去幾周我一直在使用它,嘗試在Windows上學習,現在我在Linux上使用它時表現不同。
我注意到在插入模式下按下退格鍵將刪除文本,就像在Windows上的任何其他編輯器一樣,但在Linux上文本被“刪除”但它保持在那里直到我按下ESC或寫入它。
我試圖解決這個問題,但我對這是否是預期的行為感到困惑。 它也發生在gvim中。
然而,這個問題的原因是這樣的:
我刪除了我的.vimrc文件,看看我的配置是否有任何錯誤並修復了它。 Backspace現在又恢復了常規。
但后來我嘗試創建一個空的.vimrc文件,並使其返回到延遲刪除。 它是空的。 為什么地獄?
所以我不知道造成這種情況的原因。 希望我的問題有道理我的英語不是最好的。 謝謝。
好吧所以看:h兼容我發現了這個:
“當Vim啟動時找到| vimrc |或| gvimrc |文件時,此選項將關閉,所有未修改的選項將被設置為Vim默認值。實際上,這意味着當| vimrc |或| gvimrc |文件存在,Vim將使用Vim默認值,否則它將使用Vi默認值。(注意:系統范圍的vimrc或gvimrc文件不會發生這種情況,也不會發生| | u |參數)。另見| compatible-default |和| posix-compliance |。“
所以如果我做對了,用.vimrc文件運行Vim會自動設置nocompatible並運行它,而不應該設置兼容...? 無論如何,我嘗試檢查:verbose set compatible? 並且它總是說nocompatible是在,所以-N標志不應該做任何事情......但它解決了這個問題。
如果沒有vimrc,Vim將加載/usr/share/vim/vim80/defaults.vim
(取決於你的vim版本)。 在這個文件中, bs
/ backspace
參數設置為2
,或實際上它是indent,eol,start
與2
相同(參見:h bs
)
現在,如果您創建一個空的.vimrc
,則不會加載defaults.vim
,因此您的bs
可能為0。
此行為在:h defaults.vim
內容中描述:h defaults.vim
因此,要解決您的問題,只需在.vimrc
set bs=2
好吧我修好了。
使用-N命令運行vim使其正常工作。 我不知道為什么,但那就是發生了什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.