為什麼vimrc設定inoremap c h left 無效?

時間 2021-06-03 01:27:03

1樓:韋易笑

現在所有 Linux伺服器的 erase (bs)基本都是 ^? 了(如果鏈結到非 Linux老作業系統 erase不是這個的話,需要改一下,可以在系統層改,也可以vim裡面 set t_kb=...),Vim裡面也是認可 ^?

的,可老舊的終端軟體卻預設傳送 ^H,不過好在他們都支援修改:

Xshell 老版本的修改方法:把設定成 127,而 設定成 VT220 Del

SecureCRT 6 的設定方法:Backspace sends delete

Putty好像是預設 ^?的,不過你需要確認一下:

而 iTerm2中也確認一下 「Delete key sends ^H」 前面的勾沒打

好了,預設 Vim 同時識別 ^H(ASCII 碼 0x08)和 ^?(ASCII碼 0x7f) 都把這兩個當成,現在我們統一把終端軟體的 改為 0x7f以後,^H 的 0x08就空出來給我們 noremap了:

noremap

>noremap

>noremap

noremap

>inoremap

>inoremap

>inoremap

inoremap

>cnoremap

>cnoremap

>cnoremap

cnoremap

>其實這樣對映是有好處的,有時候就想在插入模式下移動一小下,真沒必要 跳出。

命令模式下,這樣移動也是有好處的,因為進場敲 Ex命令時都是按上,把上一條弄出來,移動下游標修改下,然後回車,這下 Ex命令模式下直接 把上一條顯示出來,然後 和左右移動修改。當然你也可以map成 emacs格式,為了保持一致性,Command/Normal/Insert/Visual我都做了這個設定。

可能你會問,NORMAL下面的 之類的不是覆蓋給視窗移動 h 了麼?這個看個人意願了,比如你可以把你的視窗移動改為 h, j, k, l 四個鍵,向右移動視窗時normal下先按再按L,多順暢?

如果擔心覆蓋了原生 的話,我們看看原生這幾個鍵是做啥的。

:help

index

上面這條命令會列出 Vim裡面所有預設按鍵的含義,平時推薦多看看:

CTRL-H 同 一樣功能,我們都是直接用 沒人CTRL-H的,直接覆蓋掉

CTRL-J 同回車(有兩個碼 0x0d 或 0x0a),C-J是0x0d,硬回車是0x0a,沒人按這個,覆蓋。

CTRL-K 輸入 digraph,比如可以用來輸入歐洲文字,不需要,實在需要可以把這個功能挪給 INSERT模式下的 CTRL-B (空閒),或者 ,完全可以覆蓋。

CTRL-L 重繪,很少用,自己可以把他挪到 r 之類的鍵去多乾淨,覆蓋。

好了,看看上面這四個鍵基本都是些無關痛癢的功能,完全可以覆蓋之。

當然,對於需要用 進行 digraph 輸入符號或者日文的同學,推薦改為 (其實是CTRL和減號一起按下):inoremap

--

為什麼設定setDisplayShowHomeEnabled false , TABS就跑到ActionBar的上面了?

在3.0到4.4之前都會有這個問題。4.4目前已經修復,而且在開源專案actionbarSherlock上也會出現,我給樓主乙個替代方案 隱藏標題 mActionBar setDisplayShowTitleEnabled false View homeIcon null 如果是3.0一下的版本 因...

橋梁結構為什麼設定支座?

倒霉熊 橋梁是水平向跨越結構,主要用來承受豎向荷載,支座的存在可使得樑端在溫度力等水平作用下能夠自由伸縮,只將豎向力傳給下部結構如橋墩。實際上橋墩較高 如30m以上 的橋梁,橋墩的線剛度較小,可以承受梁傳下來的水平力和彎矩,此時也可以不設支座,墩梁固結,稱為剛構橋。而橋墩較低的橋梁,橋墩的線剛度很大...

為什麼ktv不設定門鎖?

夜場峰哥 KTV的包廂門。肯定是不能設定門鎖的。但是廁所包廂的廁所是有鎖的。知道為什麼嗎?KTV的包廂門不能設定門鎖,這也是公安局和消防局及文化大隊乙個最基本的要求。因為KTV包廂。是乙個家庭聚會喝酒,娛樂聚會的的乙個中心。包括門口的門上。都要求裝一塊透明的玻璃。這就是讓服務員隨時觀察包廂裡的動向。...