vim 與vi的相容性問題

2021-06-28 12:52:22 字數 1613 閱讀 1338

1. 安裝了個vim7.0,但發現編輯模式下退格鍵backspace和上下左右游標移動鍵不能用,非常不方便。

在編輯模式下,移動游標會變成a b c d等字元並換行。ab

cd原來vim預設是vi相容模式,設定成不相容模式就好了:

:set nocp

可以用help檢視相關的設定。

:help cp

:help compatible

2.開啟乙個已存在的檔案後,檔案中的字元,不能用backspace鍵刪除。但是此時如果輸入新的字元,卻可以用backspace進行刪除。這是怎麼回事?

檢視幫助:

:help bs

:help backspace

原來,backspace有幾種工作方式,預設是vi相容的。對新手來說很不習慣。對老vi 不那麼熟悉的人也都挺困擾的。可以用

:set backspace=indent,eol,start

來解決。

indent: 如果用了:set indent,:set ai 等自動縮排,想用退格鍵將字段縮排的刪掉,必須設定這個選項。否則不響應。

eol:如果插入模式下在行開頭,想通過退格鍵合併兩行,需要設定eol。

start:要想刪除此次插入前的輸入,需設定這個。

3.游標在行尾按右方向鍵不到下一行行首,在行首按左方向鍵不到上一行行尾,怎麼回事?

:help ww

:help whichwrap

想用左移鍵回到上一行的行尾,在行尾用右移鍵能夠到下一行的開頭,通過設定 whichwrap 我們可以對一部分按鍵開啟這項功能。 如果想對某乙個或幾個按鍵開啟到頭後自動折向下一行的功能, 可以把需要開啟的鍵的代號寫到 whichwrap 的引數列表中,各個鍵之間使用逗號分隔。

以下是 whichwrap 支援的按鍵名稱列表:

b: 在 normal 或 visual 模式下按刪除(backspace)鍵。

s: 在 normal 或 visual 模式下按空格鍵。

h: 在 normal 或 visual 模式下按 h 鍵。

l: 在 normal 或 visual 模式下按 l 鍵。

<: 在 normal 或 visual 模式下按左方向鍵。

>: 在 normal 或 visual 模式下按右方向鍵。

~: 在 normal 模式下按 ~ 鍵(翻轉當前字母大小寫)。

[: 在 insert 或 replace 模式下按左方向鍵。

]: 在 insert 或 replace 模式下按右方向鍵。

4. 如何將tab鍵替換為空格?

編輯python檔案時,按tab鍵不能自動替換為空格,應如何處理?

:set ai

:set shiftwidth=4 

:set sw=4

自動縮排的時候, 縮排尺寸為 4 個空格。

:set tabstop=4 

:set ts=4

tab 寬度為 4 個字元。

:set expandtab

:set et

編輯時將所有 tab 替換為空格。

該選項只在編輯時將 tab 替換為空格, 如果開啟乙個已經存在的檔案, 並不會將已有的tab 替換為空格。 如果希望進行這樣的替換的話, 可以使用這條命令「:retab」。

vim 與vi的相容性問題

周海漢 文 2009.2.3 1.安裝了個vim7.0,但發現編輯模式下退格鍵backspace和上下左右游標移動鍵不能用,非常不方便。在編輯模式下,移動游標會變成a b c d等字元並換行。view plain copy to clipboard print?b c d b a 原來vim預設是v...

piczoom相容性問題 相容性問題

1.文字本身的大小不相容。同樣是font size 14px的宋體文字,在不同瀏覽器下佔的空間是不一樣的,ie下實際佔高16px,下留白3px,ff 下實際佔高17px,上留白1px,下留白3px,opera下就更不一樣了。解決方案 給文字設定 line height 確保所有文字都有預設的 lin...

相容性問題

原文 1.ie浮動 margin 產生的雙倍距離 box 2.display inline block ie6,7下不相容 用float left 3.position fixed ie6不支援 ie6下用position和js模擬,或者完全不用,用position和js模擬 4.cursor ha...