在vi中快速縮進多行

它應該是微不足道的,甚至可能在幫助中,但我不知道如何導航。 如何在vi中快速縮進多行? vim


#1樓

對我來講,MacVim(Visual)解決方案是用鼠標選擇並按「>」,可是將如下幾行放在「〜/ .vimrc」中,由於我喜歡空格而不是製表符: bash

set expandtab
set tabstop=2
set shiftwidth=2

可以從命令行(Terminal.app)調用MacVim也頗有用,所以,因爲我具備如下幫助程序目錄「〜/ bin」,所以在其中放置了一個名爲「 macvim」的腳本: app

#!/usr/bin/env bash
/usr/bin/open -a /Applications/MacPorts/MacVim.app $@

固然在「〜/ .bashrc」中: 學習

export PATH=$PATH:$HOME/bin

MacPorts與「〜/ .profile」 常常發生混亂,所以PATH環境變量可能會變得很長。 spa


#2樓

Vim的UI的優勢在於它的一致性。 編輯命令由命令和光標移動組成。 光標移動始終相同: 命令行

  • H到屏幕頂部, L到底部, M到中間
  • n G移至第n行, G單獨移至文件底部, g g移至頂部
  • n移至下一個搜索匹配, N移至上一個
  • }至段落結尾
  • %到下一個匹配的括號,括號或標籤類型
  • 輸入下一行
  • ' x標記x ,其中x是字母或另外一個'
  • 還有更多,包括w和W表示單詞, $或0表示行的尖端,等等,這些在這裏不適用,由於它們不是行的運動。

所以,爲了使用vim,您必須學習移動光標並記住一系列命令,例如>進行縮進( <進行縮進)。 code

所以,要縮進從光標位置到屏幕頂部的行,請執行> H , > G以縮進文件的底部。 ip

若是不是鍵入> H而是鍵入d H,那麼您將刪除同一行塊,請替換c H行,以此類推。 ci

某些光標移動更適合特定命令。 特別是, %命令很容易縮進整個HTML或XML塊。 若是文件突出顯示了語法( :syn on ),則將光標設置在標籤文本中(例如,在<div>的「 i」中,而後輸入> %將縮進到結束</ div>標籤)。 get

這就是Vim的工做方式:僅記住光標移動和命令,以及如何混合它們。 所以,對於這個問題,個人答案是「轉到要縮進的行的一端,而後鍵入>命令,而後移動到該行的另外一端」,若是縮進被解釋爲移動行, =若是縮進被解釋爲漂亮印刷。


#3樓

5==將從當前光標位置縮進五行。

所以,您能夠在==以前鍵入任何數字。 它將縮進行數。 這是在命令模式下。

gg=G將從上到下縮進整個文件。


#4樓

作這個:

$vi .vimrc

並添加如下行:

autocmd FileType cpp setlocal expandtab shiftwidth=4 softtabstop=4 cindent

這僅適用於cpp文件。 您能夠爲其餘文件類型執行此操做,也只需修改文件類型...


#5樓

大量使用Python,我發現本身常常須要將塊移位多個縮進。 您可使用任何塊選擇方法來執行此操做,而後只需在>以前輸入要跳轉的縮進數量便可

例如, V5j3>將縮進五行三遍-若是您將四個空格縮進,則縮進12個空格。

相關文章
相關標籤/搜索