2010-07-12 54 views
8

我正在嘗試進入Vim。我在OS X的終端上運行它。刪除鍵正在更改Vim中的字母大小寫

任何時候我點擊刪除鍵,它只是改變該字母的大小寫,而不是刪除它。當我進入我的服務器並在那裏使用Vim時,它會正常刪除。

任何想法可能會出錯?

+0

您是否在談論刪除鍵(PC鍵盤上的退格鍵)?或Fn-刪除(在PC上刪除)? – Dummy00001 2010-07-12 22:06:46

回答

2

的問題是,在我的.vimrc我有

set term = ansi 

注意到了這一點,一切都很好 - 惋惜煩惱,謝謝!

14

問題

德爾鍵生成的代碼^[[3~在GNU/Linux的我urxvt終端,並可能生成在OS X終端類似的代碼。

我的理論是Vim出於某種原因不能識別任何刪除鍵的鍵綁定,只是試圖將字符串^[[3~解釋爲輸入。 ^[Esc鍵(它使您處於正常模式)的鍵代碼,~是用於更改字母大小寫(來自正常模式)的Vim命令。

可以確認我提到按下Ctrl鍵+VEsc鍵按Ctrl +V德爾從Vim中插入模式的鍵碼。 Ctrl + V表示下一個字符應作爲文本插入,而不是由編輯器解釋。

解決方案

至於解決,嘗試修改Vim的配置文件(大概~/.vimrc):

vim ~/.vimrc

並將下面的代碼添加到它:

nmap <Ctrl-V><Del> x 
imap <Ctrl-V><Del> <Ctrl-V><Esc>lxi 

我希望這有助於:)

+0

題外話: 如何將圖形鍵盤按鈕添加到StackOverflow帖子? – jabirali 2010-07-13 00:38:59

+2

@一個真正長的尼克的傢伙:使用'刪除'。 – Dummy00001 2010-07-13 12:43:56

+0

就我而言,我用給定的'imap'得到了有趣的結果,我通過將'lxi'改爲'xi'來修復。對於它的價值,我在dwm上使用[st](http://st.suckless.org/)。 – ter0 2014-09-16 07:20:54

0

我在我的OSX機器上使用vim(vim版本7.2.108),我沒有這個問題。嘗試重命名您的vimrc文件,然後重新加載vim,並查看問題是否仍然存在。如果在重命名vimrc文件後沒有問題,那麼你的問題就在那個文件中。

在我的機器,我的vimrc文件幾乎是空的:

set ruler 
set tabstop=2 
set cindent 
set number 
syntax on 
相關問題