我正在嘗試進入Vim。我在OS X的終端上運行它。刪除鍵正在更改Vim中的字母大小寫
任何時候我點擊刪除鍵,它只是改變該字母的大小寫,而不是刪除它。當我進入我的服務器並在那裏使用Vim時,它會正常刪除。
任何想法可能會出錯?
我正在嘗試進入Vim。我在OS X的終端上運行它。刪除鍵正在更改Vim中的字母大小寫
任何時候我點擊刪除鍵,它只是改變該字母的大小寫,而不是刪除它。當我進入我的服務器並在那裏使用Vim時,它會正常刪除。
任何想法可能會出錯?
的問題是,在我的.vimrc我有
set term = ansi
注意到了這一點,一切都很好 - 惋惜煩惱,謝謝!
問題
的德爾鍵生成的代碼^[[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
我希望這有助於:)
題外話: 如何將圖形鍵盤按鈕添加到StackOverflow帖子? – jabirali 2010-07-13 00:38:59
@一個真正長的尼克的傢伙:使用'刪除'。 – Dummy00001 2010-07-13 12:43:56
就我而言,我用給定的'imap'得到了有趣的結果,我通過將'lxi'改爲'xi'來修復。對於它的價值,我在dwm上使用[st](http://st.suckless.org/)。 – ter0 2014-09-16 07:20:54
我在我的OSX機器上使用vim(vim版本7.2.108),我沒有這個問題。嘗試重命名您的vimrc文件,然後重新加載vim,並查看問題是否仍然存在。如果在重命名vimrc文件後沒有問題,那麼你的問題就在那個文件中。
在我的機器,我的vimrc文件幾乎是空的:
set ruler
set tabstop=2
set cindent
set number
syntax on
您是否在談論刪除鍵(PC鍵盤上的退格鍵)?或Fn-刪除(在PC上刪除)? – Dummy00001 2010-07-12 22:06:46