回答
={motion}
:h =
P.S.如果vim可用,則不應使用vi。
如果手動調節縮進我將在第一行或最後一行打開一個可視塊與V
我想重新縮進,移動到含有嵌段支架,後藤另一支架與%
然後用>
或移位行<
如果縮進量大量減少,我會將所有剩下的東西都改爲<
,並用.
重複它,然後重新縮進所有內容。
另一種方案是在Your problem with Vim is that you don't grok vi.描述使用Unix fmt
命令,{!}fmt
請注意,可視模式在vi中不可用。 – wRAR 2010-04-06 19:14:57
這些命令在VIM我的回答工作。大多數認爲他們使用vi的人都在使用vim。要知道你的'vi'是否真的是'vim',打開vi並輸入:version
- 如果它是vim,它會這樣說。否則,您可能只會看到沒有程序名稱的版本號。此外,當您打開VIM首次你通常會看到某種寫着「VIM - 六提高」的閃屏......
自動縮進
要關閉自動縮進上,確保vim知道你正在編輯的文件類型(它通常會自動從文件擴展名中檢測到這種情況,但是可能不會用某些文件類型來判斷它)。您可以使用語法高亮顯示的菜單來告訴它文件類型。那麼,這樣做:
:filetype indent on
您可以
:filetype indent off
自動調整/修正壓痕
一般來說,= {動作}將調整禁用自動縮進代碼縮進級別。
==
對準當前行=i{
內部塊對齊=%
對準光標=14j
或14==
對準下匹配括號/托架下一個14線=G
對準到文件vG=
同樣的事情的端部,vjjj=
對準四行(使用視覺模式對齊到 文件的末尾(但使用視覺模式) )
手冊壓痕
如果Vim不是猜測正確的縮進級別,有兩種方法來改變它:
- 如果你在正常模式(這裏的一切是一個命令),做
<<
左移線,或>>
右移一個選項卡。您可以使用上面顯示的相同移動命令(例如,>i{
縮進當前的內部代碼塊)以多行執行此操作。 - 如果你在插入模式,可以進一步縮進線(不移動光標)通過做Ctrl-T鍵,或取消縮進一個翼片與按Ctrl-d
對齊等號,等
如果要對齊等號在聲明列表,你應該考慮使用這個Vim腳本:http://www.vim.org/scripts/script.php?script_id=294
調整縮進/標籤尺寸
如果你想讓Vim用空格代替標籤,當它縮進,運行此命令(或考慮將它添加到你的vimrc文件)
:set expandtab
要設置多少空間等於一個標籤,我通常這樣做:
:set expandtab softtabstop=3 tabstop=3 shiftwidth=3
- 製表位 - 爲標籤計數多少列(影響現有的製表符顯示)
- shiftwidth - 用< <和>>等命令控制縮進大小。
- softtabstop - 多大的空間,當你按下tab鍵
- expandtab插入 - 擴展選項卡鍵位
但是,如果你有不同數量的標籤很多,您還可以使用此功能與按鍵綁定:
function! Ktabs(tabsize)
execute "set softtabstop=" . a:tabsize . " tabstop=" . a:tabsize . " expandtab shiftwidth=" . a:tabsize
"set softtabstop=a:tabsize tabstop=a:tabsize expandtab shiftwidth=a:tabsize
endfunction
noremap <leader><Tab> :call Ktabs(3)<Left>
如果您正在編輯一個文件,製表和空格的混合,你可能要設置選項卡大小後,使用此命令:
:retab
此外,如果您希望更改默認縮進級別,您可以:設置shiftwidth = n和:set tabstop = n其中n是所需的空間級別。 – SplittingField 2011-02-08 19:08:44
@SplittingField,好點。我傾向於:設置expandtab以便插入空格而不是文字標籤,但是如果您這樣做,那麼您可能還需要:set softtabstop = n – 2012-11-08 23:11:21
- 1. 複製代碼對齊功能(對齊上等號串號)
- 2. perl:有沒有找到不匹配的大括號/括號/ parens等啓發式
- 3. 如何在Qt Creator中對齊反斜槓,等號等?
- 4. 如何爲vi/vim中的所有代碼或代碼塊執行自動代碼對齊?
- 5. 如何在IntelliJ IDEA中用大括號括起代碼?
- 6. 如何在Visual Studio中對等號進行反向代碼?
- 7. 搜索可以包含引號,雙引號,parens,等號等字符串的源代碼的工具?
- 8. 如何在JavaScript中正確對齊大括號?
- 9. 如何在VS代碼中更改逗號和括號顏色
- 10. 用括號代碼
- 11. 紅寶石中的平衡大括號/括號/ parens正則表達式
- 12. 如何在emacs中找到缺失或不匹配的大括號/ parens?
- 13. 對齊號碼錶
- 14. 在java類中,括號中的代碼如何/何時執行?
- 15. 對象代碼圓括號(初學者)
- 16. 什麼是(&) - 括號中的括號 - 是否代表此代碼?
- 17. 在等號上對齊mathml方程
- 18. 如何正確對齊圓括號中的數字?
- 19. VS代碼,在關閉引號/大括號/括號後跳轉
- 20. 如何在tinymce中編碼花括號?
- 21. 「require」中的parens和括號之間有什麼區別?
- 22. perl中的parens /括號內使用規則(?)
- 23. 製作冒號:在代碼中垂直對齊
- 24. 代碼對齊行?
- 25. Slidify:代碼對齊
- 26. 如何在Scintilla.net中配對括號?
- 27. 如何自動對齊以下代碼?
- 28. 如何對齊下面的代碼
- 29. IntelliJ將參數與開括號對齊?
- 30. Joomla大括號jquery代碼
運動是什麼? – Xofo 2010-04-06 18:57:43
':h {動作}'。請閱讀vim的基礎知識。 – wRAR 2010-04-06 19:00:09
我會閱讀基礎知識......但你能解釋這個命令嗎? x – Xofo 2010-04-06 19:04:13