1.原來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”。
如果現在生效了,退出來在用vi時又不生效了,怎麼辦?
把上面的命令寫到home目錄下的.bashrc文件中。
本文轉自: http://blog.csdn.net/ablo_zhou/article/details/3860236