簡體   English   中英

帶有空的.vimrc退格的Vim怪異行為

[英]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,start2相同(參見: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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM