1. 程式人生 > >macOS中Vim基本配置

macOS中Vim基本配置

char 所在 ast 格式 函數名 epo org stop 背景色

macOS中Vim基本配置

Vim的初始化配置 .vimrc

存放位置

macOS 環境下 vim 的初始化配置文件為 .vimrc , 通常有兩個(系統版本和用戶版本),一個位於 /usr/share/vim/vimrc,是整個系統vim的默認配置;另一個位於 ~/.vimrc,是當前用戶的 vim 配置,會覆蓋系統配置。可進入 vim,在命令模式下鍵入

1
2
3
:version       " 查看版本號
:echo $VIM " 查看vim具體路徑
:echo $HOME " 用戶主目錄

~/.vimrc 有時並不存在,此時可以建立一個 .vimrc,放入用戶主目錄以實現當前用戶的 vim 配置

主要命令參數

.vimrc 通常用於指定 vim 的編輯參數和外觀環境。下面列出常用的命令參數及其含義:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
"打開語法高亮
syntax on

"使用配色方案
colorscheme desert

"打開文件類型檢測功能
filetype on

"不同文件類型采用不同縮進
filetype indent on

"允許使用插件
filetype plugin on
filetype plugin indent on

"關閉vi模式
set nocp

"與windows共享剪貼板
set clipboard+=unnamed

"取消VI兼容,VI鍵盤模式不易用
set nocompatible

"顯示行號, 或set number
set nu

"歷史命令保存行數
set history=100

"當文件被外部改變時自動讀取
set autoread

"取消自動備份及產生swp文件
set nobackup
set nowb
set noswapfile

"允許使用鼠標點擊定位
set mouse=a

"允許區域選擇
set selection=exclusive
set selectmode=mouse,key

"高亮光標所在行
set cursorline

"取消光標閃爍
set novisualbell

"總是顯示狀態行
set laststatus=2

"狀態欄顯示當前執行的命令
set showcmd

"標尺功能,顯示當前光標所在行列號
set ruler

"設置命令行高度為3
set cmdheight=3

"粘貼時保持格式
set paste

"高亮顯示匹配的括號
set showmatch

"在搜索的時候忽略大小寫
set ignorecase

"高亮被搜索的句子
set hlsearch

"在搜索時,輸入的詞句的逐字符高亮(類似firefox的搜索)
set incsearch

"繼承前一行的縮進方式,特別適用於多行註釋
set autoindent

"為C程序提供自動縮進
set smartindent

"使用C樣式的縮進
set cindent

"制表符為4
set tabstop=4

"統一縮進為4
set softtabstop=4
set shiftwidth=4

"允許使用退格鍵,或set backspace=2
set backspace=eol,start,indent
set whichwrap+=<,>,h,l

"取消換行
set nowrap

Vim 的語法高亮/配色方案

vim 的配色分兩部分:編輯環境配色和文本區域配色

1) 編輯環境配色:比如 vim 編輯區的前景背景色、狀態欄顏色、錯誤提示顏色、查找、光標、圈選區、行號、折疊等的顏色

這裏列出幾個配色組名及其含義(全部的詳細信息查看幫助文件 :help hi 查找 highlight-group 即可):

1
2
3
4
5
6
7
8
9
Cursor        # 光標下的字符顏色  
CursorLine # 光標所在行顏色
ErrorMsg # 命令行出現的錯誤信息提示
IncSearcg # 被搜索字符的顏色
Normal # 普通字符
Pmenu # 彈出的提示條目顏色
PmenuSel # 彈出的提示條目中被選中條目的顏色
SpellBad # 拼寫錯誤字符顏色
Visual # 可視化模式下選中字符的顏色

2) 文本區域配色:可編輯的文本區域的字符配色(全部的詳細信息查看幫助文件 :help hi 查找 *comment

由於配色種類較多,vim 默認分了幾大類(幫助信息中帶*的):

1
2
3
4
5
*Comment        # 註釋
*Constant # 常量
*statement # 常用關鍵字標示符
*PrePoc # 預處理符號
*Type # 數據類型

下面是較為詳細的組別:

1
2
3
4
5
6
7
8
9
String          # 字符串常量: "string abc\n"
Character # 單個字符常量: ‘c‘, ‘\n‘
Number # 數字常量: 234, 0xff
Boolean # 布爾常量: TRUE, false
Function # 函數名
Conditional # 條件關鍵字: if, then, else, endif, switch, etc.
Repeat # 循環關鍵字: for, do, while, etc.
Operator # 操作符: "sizeof", "+", "*", etc.
Exception # 異常關鍵字: try, catch, throw

這樣便可以更為詳細的為每一個組別進行配色

查看當前的 vim 配色情況 :hi/highlight

另外,文本區域的配色可以關閉,但環境配色不能,通常 vim 給定的默認可選配色方案中同時包含了以上兩個方面

下面就一條具體的配色命令(對數據類型配色)解釋每個字段的含義:

1
hi Type cterm=none ctermbg=White ctermfg=Green guibg=Gray guifg=Red

hi: highlight 的縮寫,配色命令

Type: 配色組名,可以自定義(修改$VIMRUNTIME/syntax/下對應的文件可改變不同語言的高亮方案)其內容

cterm,ctermbg,ctermfg,guibg,guifg: 代表了不同顯示環境

White,Green: 表示顏色(也可以用數字或者類似與html的16進制顏色表示方法)

顯示環境有三種,黑白終端、彩色終端、圖形界面;三種環境下參數名稱如下:

1
2
3
4
5
6
7
term        # attributes in a B&W terminal
cterm # attributes in a color terminal
ctermfg # foreground color in a color terminal
ctermbg # background color in a color terminal
gui # attributes in the GUI
guifg # foreground color in the GUI
guibg # background color in the GUI

其中 term 僅有黑白兩色,cterm 下顏色較為單一,GUI 模式顏色豐富

若要僅修改某種語言(c、Java、pascal)的配色,則在配色組名前加語言名稱即可,比如對 c/c++ 語言的數據類型單獨配色:

1
hi cType ctermfg=Blue

若是修改 java/pascal 的數據類型,則相應的將 cType 替換為 javaType/pascalType 即可。

對於文本區域的語法高亮(即配色),我們可根據需求特殊化定制,比如自定義組: myUniqueWord, mySymbol,使用 syn/syntax 命令

1
2
syn keyword myUniqueWord gang Gang swagger
syn match mySymbol "[,.;(){}[]]" # 可使用正則表達式

vim 目前 7.4 版本給出的可直接使用(colorscheme 命令加於 .vimrc 中即可)的配色方案位於目錄:/usr/local/share/vim/vim74/colors,比如使用 desert.vim 中的配色,則於 .vimrc 中添加一行:colorscheme desert 即可

網友提供的配色方案列表(帶效果圖),可參考:

http://vimcolorschemetest.googlecode.com/svn/html/index-c.html

http://www.oschina.net/news/32306/10-vim-color-schemes-you-need-to-own

:hi/highlight 命令,可查看當前 vim 的顏色配置

:help hi/highlight 顯示幫助文件(syntax.txt)內容

可訪問官方在線版 http://vimdoc.sourceforge.NET/htmldoc/syntax.html ,介紹了顏色配置腳本中關鍵字的含義和使用方法

相同配色 vim 腳本在不同的終端下可能顯示不太一致,這是由終端下顏色設置不一致導致的,屬正常情況。

macOS中Vim基本配置