vim技巧:自動格式化對齊代碼,手動增長或減小代碼縮進

本篇文章介紹 vim 的一些使用技巧:vim

  • 自動格式化對齊代碼
  • 手動增長或減小代碼縮進

自動格式化對齊代碼

vim能夠用 = 命令對代碼文件自動格式化對齊。具體用法說明以下:code

  • ==
    對光標所在行進行自動格式化對齊,會根據代碼狀況增長或減小縮進。能夠在 == 前面加上數字,指定要同時處理多少行。例如,4== 會格式化對齊當前行、以及後面的三行。
  • gg=G
    對整個文件都從新格式化對齊。
  • ={motion}
    自動格式化 {motion} 操做先後的行。{motion} 能夠是 vim 裏面任意移動光標的操做。例如常見的 j、k、G、% 等。% 用於移動光標到匹配的括號上。當光標在 { 或者 }上時,=% 會格式化整個{}括起來的內容,包括 {} 自身。

下面的 a{i{ 也是 {motion} 的一種:io

  • =a{
    當光標所在行位於{}花括號內時,自動格式化對齊整個{}裏面的內容,包括 {} 這兩個花括號所在的行也會一塊兒格式化,以 { 的上一行爲基準來對齊。若是 { 自身的對齊錯亂了,能夠把 { 所在的行也一塊兒對齊。
  • =i{
    當光標所在行位於{}花括號內時,自動格式化對齊整個{}裏面的內容,不包括 {} 這兩個花括號所在的行,以 { 所在的行爲基準來進行對齊。若是 { 自身所在行的對齊錯亂,不會把 { 所在的行也一塊兒對齊。

手動增長或減小代碼縮進

= 命令自動格式化,默認使用C語言的對齊風格。若是不喜歡這種風格,也能夠手動增長或減小縮進來對齊。下面幾個命令能夠用於手動縮進:技巧

  • >>
    把光標所在行向右增長縮進,縮進空格數由 shiftwidth 選項指定。
  • >{motion}
    對 {motion} 操做先後的行向右增長縮進。縮進空格數由 shiftwidth 選項指定。{motion} 能夠是 vim 裏面任意移動光標的操做。
  • <<
    把光標所在行向左減小縮進,縮進空格數由 shiftwidth 選項指定。
  • <{motion}
    對 {motion} 操做先後的行向左減小縮進。縮進空格數由 shiftwidth 選項指定。{motion} 能夠是 vim 裏面任意移動光標的操做。

下面的 a{i{ 也是 {motion} 的一種,能夠用於 > 或者 < 命令。im

  • >a{
    當光標所在行位於{}花括號內時,將整個{}裏面的內容向右增長縮進,包括 {} 這兩個花括號所在的行也會一塊兒縮進。
  • >i{
    當光標所在行位於{}花括號內時,將整個{}裏面的內容向右增長縮進,不包括 {} 這兩個花括號所在的行,它們自身的行不會被縮進。

:help = 命令查看 = 的幫助說明。
:help < 和 查看 <> 的幫助說明,這兩個命令的說明是相鄰的。
:help motion.txt 命令查看有哪些 {motion} 操做能夠移動光標。
:help usr_30.txt 查看 => 命令在對齊方面的舉例說明。語言

相關文章
相關標籤/搜索