Linux學習——編輯器Vim學習

Vim是Vi進階的版本
學習vim
vimtutor 命令 用於學習viml課程的命令
上圖先了解
在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述

啓動Vim編輯器

啓動Vim編輯器常見形式
	filename不同目錄啓動時,帶文件路徑
	單文件 
		vim filename
	多文件
		 vim filename1 filename2 filename3 ...
	帶參數 (常見)
		vim +n 打開文件,並定位第n行
		vim +	打開文件,定位至最後一行
		vim +/PATTERN  打開文件,定位至第一次被PATTERN到的字符串
		vim -o 水平分割窗口打開的多個文件
		vim -O 垂直分割窗口打開的多個文件		
		vim -x 編輯一個需要密碼的新文件
		vim -S 運行一個vim腳本文件		

模式分類

編輯模式,普通命令模式(快捷鍵操作),指令列命令模式(輸入命令行操作)

進入編輯模式
i 將內容插入到目前光標之前
a 將內容插入到目前光標之後
o 將內容插入到目前光標下一行
s 將內容插入到目前光標,並且刪除當前光標的字符
I 將內容插入到當前光標的行首
A 將內容插入到大當前光標的行尾
O 將內容插入到目前光標上一行
S 將內容插入到目前光標行,並且刪除當前光標的行
【ESC】鍵 退出編輯模式,進入普通命令模式
編輯模式下的補全操作
ctrl+x 打開補全模式 
ctrl+x,ctrl+f  補全文件名 補全搜索範圍在->當前文件所在目錄的所有文件名
也可補全指定目錄的文件名,需要先指定根路徑然後執行快捷操作
ctrl+x,ctrl+l 補全整行
ctrl+x,ctrl+v 補全命令行
ctrl+x,ctrl+o 全能補全
ctrl+n 匹配多個選項時,選擇向後面一個匹配的選項,匹配單個單詞
ctrl+p 匹配多個選項時,選擇向前面一個匹配的選項
替換操作
r 替換光標所在的內容一次,自動退回普通命令模式
R 替換光標所在的內容,需要手動【ESC】鍵,退出取代模式,否則一直替代光標所在內容
普通命令模式(相當於快捷鍵操作)
# 一般打開或者創建Vim文件時,自動進入普通命令模式
# 假如進入了編輯模式或者R取代模式,需要按【ESC】鍵來切換回普通命令模式
1. 光標操作
	字符移動
		h(←) 左
		l(→) 右
		j(↓) 下
		k(↑) 上
		n[h|l|j|k] 移動n個字符或行
		n+空格鍵 光標向右移動n個字符
	單詞移動
		w 移動到當前光標後面一個單詞的詞首
		e 移動到當前光標或者後面一個單詞的詞尾
		b 移動到當前光標或者前面一個單詞的詞首
	行內跳轉
		0 當前光標行的行首
		$ 當前光標行的行尾
		^ 當前光標行的第一個非空白字符的字符
	行間跳轉
		nG 跳轉到第n行
		G 跳轉到最後一行
		gg 跳轉到第一行
	當前屏幕跳轉
		H 跳轉當前屏幕首行
		M 跳轉當前屏幕中行
		L 跳轉當前屏幕尾行
2. 翻屏(翻頁)操作
		ctrl+f  向下翻一屏
		ctrl+b 向上翻一屏
		ctrl+d 向下翻半屏
		ctrl+u 向上翻半屏
3.刪除操作
	刪除單個字符操作
	  	x  刪除光標所在處的字符
	   	nx 刪除光標所在處及向後的n個字符 
	   	X  刪除光標所在處前一個字符(退格)
	   	nX 刪除光標所在處前n個字符(退格n個字符)
	刪除命令d(可和光標操作命令組合)
		d$  刪除光標所在處,到該行的行尾
		d0  刪除光標所在處,到該行的行首
		dG  刪除光標所在行,到文件最後一行數據
		dgg 刪除光標所在行,到文件第一行數據
		dnG 刪除光標所在行,到文件第n行數據 
		dd  刪除光標所在行
		ndd 刪除光標所在行到向下n行
4.複製操作
	複製命令y(可和光標操作命令組合)
		y$  複製光標所在處,到該行的行尾
		y0  複製光標所在處,到該行的行首
		yG  複製光標所在行,到文件最後一行數據
		ygg 複製光標所在行,到文件第一行數據
		ynG 複製光標所在行,到文件第n行數據
		yy  複製光標所在行
		nyy 複製光標所在行到向下n行
5.粘貼操作
	p和P 都可以粘貼刪除或者複製操作的內容
		p  如果爲整行,則複製在光標所在行的後面一行,如果爲行內內容,則複製在光標所在處的後面
		P 如果爲整行,則複製在光標所在行的前面一行,如果爲行內內容,這複製在光標所在處的前面
6.修改操作
	c 先刪除(覆蓋)指定內容,再轉換插入模式(編輯模式),使用方式和d(刪除)y(複製)命令相同
	C 修改至光標所在的行尾
7.撤銷操作
	u 撤銷前一次的編輯操作,連續按u命令可連續撤銷
	nu 撤銷前n次操作
	ctrl+r 還原最近一次撤銷操作
8.重複前一個動作操作
	. 點命令,重複前一次編輯操作
9.合併行
	J 大寫J,將光標所在行與下一行合併 
10.可視化模式操作
	可視化模式可進行,y(複製)d(刪除)c(修改)p(複製)命令的操作
	v 字符選取,將光標經過的字符反白選擇
	V 行選取,將光標經過的行反白選擇	
11.查找操作
	/pattern[string] 搜索光標之後匹配到的字符串或匹配模式
	?pattern[string] 搜索光標之前匹配到的字符串或匹配模式
	n 繼續向後搜索
	N 繼續向前搜索
12.分屏顯示一個文件
	ctrl+w,s 水平拆分窗口顯示文件
	ctrl+w,v 垂直拆分窗口顯示文件
	ctrl+w,q 退出分屏窗口
	ctrl+w,j 光標移動到下一個窗口
	ctrl+w,k 光標移動到上一個窗口
13.離開vim
	ZZ 無修改編輯,不存儲離開;編輯,則保存離開
進入指令列命令模式 (相當於輸入命令)
# 一般爲:開頭進入命令行,除了查找操作2個特殊的
1.查找並替換操作
	:n1,n2  s/pattern/string/gi
		n1 起始行
		n2 結束行  ,$ 符號表示文件最後一行
		s 替換模式符號
		pattern 查找的字符或匹配模式
		string 替換的字符
		g 全局操作
		i 忽略大小寫
2.多文件編輯	
	 :n等同於:next  切換到後一個打開的文件
	 :N等同於:prev 切換到前一個打開的文件
     :last 切換至最後一個打開的文件
     :first 切換至第一個打開的文件
 	 :files 列出所有的打開文件
3.打開新窗口編輯文件
	 :sp [filename]	 沒有指定打開文件,則開啓當前文件新窗口;指定filename開啓指定文件新窗口
4.存儲(寫入)操作
	:w 將編輯的文件的數據保存寫入
	:w! 將編輯的文件數據強制保存寫入
	:w filename 將整個文件另存爲filename新文件(指定的詳細的文件路徑)
	:n1,n2 w filename 將指定行的內容另存爲filename新文件(指定的詳細的文件路徑)
5.讀入文件到文本
	:r  filename  讀取另一個文件的內容追加到當前文件光標所在行的後面(filename爲指定的詳細文件路徑)
6.跟shell交互
	:! command 暫時離開執行shell命令
7.離開
	:q   退出當前窗口,不保存操作
	:q!  強制退出當前窗口,不保存操作
	:wq  保存編輯的數據,並且退出
	:wq! 強制保存編輯的數據,並且退出
	:qa  退出Vim編輯器,相當於退出所有打開的窗口
8.請求加密密鑰
	:X 給文件加密碼
9.打開新窗口創建文件
	:new filename  
	:e filename
10.其它高級操作
	:set 或者:se 高級操作
	:set {option}
	:set all 查看全部選項
	# 取消各項操作在參數前面加no
	常用:
	'backspace'       'bs'      在一行開頭按退格鍵如何處理 :set bs=2
	'autoindent'      'ai'      根據上一行決定新行的縮進 :set ai 關閉 :set noai
	'colorcolumn'     'cc'      高亮指定列 :set cc=2 關閉 :set cc=0
	'ignorecase'      'ic'      搜索模式時忽略大小寫 :set ic 關閉:set noic
	'number'          'nu'      行前顯示行號 :set nu 關閉 :set nonu
	'tabstop'         'ts'      <Tab> 在文件裏使用的空格數 :set ts=2
	全部:
	各選項的簡短說明:                option-list 
	'aleph'           'al'      Aleph 字母 (希伯來語) 的 ASCII 代碼
	'allowrevins'     'ari'     允許插入和命令行模式的 CTRL-_
	'altkeymap'       'akm'     缺省的第二語言 (波斯語/希伯來語)
	'ambiwidth'       'ambw'    如何處理有多種寬度的 Unicode 字符
	'antialias'       'anti'    Mac OS X: 用平滑反鋸齒的字體
	'autochdir'       'acd'     根據當前窗口的文件切換目錄
	'arabic'          'arab'    使用阿拉伯語爲缺省的第二語言
	'arabicshape'     'arshape' 阿拉伯語的字型重整
	'autoindent'      'ai'      根據上一行決定新行的縮進
	'autoread'        'ar'      有 Vim 之外的改動時自動重讀文件
	'autowrite'       'aw'      有改動時自動寫回文件
	'autowriteall'    'awa'     類似於 'autowrite',但適用於更多命令
	'background'      'bg'      "dark" 或 "light",用於色彩的高亮
	'backspace'       'bs'      在一行開頭按退格鍵如何處理
	'backup'          'bk'      覆蓋文件時保留備份文件
	'backupcopy'      'bkc'     文件備份使用複製而不是換名
	'backupdir'       'bdir'    備份文件使用的目錄列表
	'backupext'       'bex'     備份文件使用的擴展名
	'backupskip'      'bsk'     匹配這些模式的文件不予備份
	'balloondelay'    'bdlay'   彈出氣泡之前的延遲 (以毫秒計)
	'ballooneval'     'beval'   打開氣泡表達式求值功能
	'balloonexpr'     'bexpr'   計算氣泡顯示內容的表達式
	'belloff'         'bo'      爲這些原因不響鈴
	'binary'          'bin'     二進制方式讀/寫/編輯文件
	'bioskey'         'biosk'   MS-DOS: 用 bios 調用取得字符輸入
	'bomb'                      文件頭附加字節順序標記 (Byte Order Mark)
	'breakat'         'brk'     可以在此斷行的字符
	'breakindent'     'bri'     迴繞行重複縮進
	'breakindentopt'  'briopt'  'breakindent' 的設置
	'browsedir'       'bsdir'   開始瀏覽文件的目錄
	'bufhidden'       'bh'      緩衝區不再在窗口顯示時的行爲
	'buflisted'       'bl'      緩衝區是否顯示在緩衝區列表中
	'buftype'         'bt'      緩衝區的特殊類型
	'casemap'         'cmp'     指定字母大小寫如何改變
	'cdpath'          'cd'      ":cd" 搜索的目錄列表
	'cedit'                     打開命令行窗口的鍵
	'charconvert'     'ccv'     完成字符編碼轉換的表達式
	'cindent'         'cin'     實現 C 程序的縮進
	'cinkeys'         'cink'    設置 'cindent' 時啓動縮進的鍵
	'cinoptions'      'cino'    設置 'cindent' 時如何縮進
	'cinwords'        'cinw'    'si' 和 'cin' 在這些詞後加入額外的縮進
	'clipboard'       'cb'      使用剪貼板作爲無名的寄存器
	'cmdheight'       'ch'      命令行使用的行數
	'cmdwinheight'    'cwh'     命令行窗口的高度
	'colorcolumn'     'cc'      高亮指定列
	'columns'         'co'      顯示屏幕的列數
	'comments'        'com'     可以開始註釋行的模式
	'commentstring'   'cms'     註釋的樣板;用於摺疊的標誌
	'compatible'      'cp'      儘可能做到與 Vi 兼容
	'complete'        'cpt'     指定插入模式的自動補全如何工作
	'completefunc'    'cfu'     插入模式補全使用的函數
	'completeopt'     'cot'     插入模式補全使用的選項
	'concealcursor'   'cocu'    是否隱藏光標所在行的可隱藏文本
	'conceallevel'    'cole'    是否顯示可隱藏文本
	'confirm'         'cf'      詢問如何處理未保存/只讀的文件
	'conskey'         'consk'   直接從控制檯讀入鍵擊 (只限於 MS-DOS)
	'copyindent'      'ci'      使得 'autoindent' 使用已有的縮進結構
	'cpoptions'       'cpo'     設定 Vi-兼容的行爲
	'cryptmethod'     'cm'      文件寫入時所用的加密方法
	'cscopepathcomp'  'cspc'    顯示路徑多少部分
	'cscopeprg'       'csprg'   執行 cscope 的命令
	'cscopequickfix'  'csqf'    用 quickfix 窗口得到 cscope 的結果
	'cscoperelative'  'csre'    用 cscope.out 路徑目錄名作爲前綴
	'cscopetag'       'cst'     用 cscope 處理標籤命令
	'cscopetagorder'  'csto'    決定 ":cstag" 的搜索順序
	'cscopeverbose'   'csverb'  增加 cscope 數據庫時給出消息
	'cursorbind'      'crb'     光標移動時同時在其它窗口移動
	'cursorcolumn'    'cuc'     高亮光標所在屏幕列
	'cursorline'      'cul'     高亮光標所在屏幕行
	'debug'                     設爲 "msg" 可以看到所有的錯誤消息
	'define'          'def'     查找宏定義所使用的模式
	'delcombine'      'deco'    在單獨使用時刪除組合用字符
	'dictionary'      'dict'    關鍵字自動補全所用的文件名
	'diff'                      當前窗口使用比較模式
	'diffexpr'        'dex'     得到比較文件所用的表達式
	'diffopt'         'dip'     使用比較模式的選項
	'digraph'         'dg'      允許插入模式時輸入二合字母
	'directory'       'dir'     交換文件所用的目錄名列表
	'display'         'dy'      如何顯示文本的標誌位列表
	'eadirection'     'ead'     'equalalways' 工作的方向
	'edcompatible'    'ed'      切換 ":substitute" 命令的標誌位
	'emoji'           'emo'     表情字符視作全寬
	'encoding'        'enc'     內部使用的編碼方式
	'endofline'       'eol'     文件最後一行寫入換行符 <EOL>
	'equalalways'     'ea'      自動使所有窗口大小相同
	'equalprg'        'ep'      "=" 命令使用的外部命令
	'errorbells'      'eb'      有錯誤信息時響鈴
	'errorfile'       'ef'      QuickFix 模式的錯誤文件名
	'errorformat'     'efm'     錯誤文件行格式的描述
	'esckeys'         'ek'      插入模式下識別功能鍵
	'eventignore'     'ei'      忽略的自動命令事件
	'expandtab'       'et'      鍵入 <Tab> 時使用空格
	'exrc'            'ex'      在當前目錄裏讀入 .vimrc 和 .exrc
	'fileencoding'    'fenc'    多字節文本的文件編碼
	'fileencodings'   'fencs'   參與自動檢測的字符編碼
	'fileformat'      'ff'      文件輸入輸出使用的格式
	'fileformats'     'ffs'     參與自動檢測的 'fileformat' 的格式
	'fileignorecase'  'fic'     使用文件名時忽略大小寫
	'filetype'        'ft'      自動命令使用的文件類型
	'fillchars'       'fcs'     顯示特殊項目所使用的字符
	'fixendofline'    'fixeol'  確保文件的末行有 <EOL>
	'fkmap'           'fk'      波斯鍵盤映射
	'foldclose'       'fcl'     當光標離開時關閉摺疊
	'foldcolumn'      'fdc'     設定指示摺疊的列寬度
	'foldenable'      'fen'     設置爲顯示所用打開的摺疊
	'foldexpr'        'fde'     當 'foldmethod' 爲 "expr" 時使用的表達式
	'foldignore'      'fdi'     當 'foldmethod' 爲 "indent" 時忽略的行
	'foldlevel'       'fdl'     當摺疊級別高於此值時關閉摺疊
	'foldlevelstart'  'fdls'    開始編輯文件的 'foldlevel'
	'foldmarker'      'fmr'     當 'foldmethod' 爲 "marker" 時的標誌
	'foldmethod'      'fdm'     摺疊的類型
	'foldminlines'    'fml'     摺疊關閉所需的最少行數
	'foldnestmax'     'fdn'     最大摺疊深度
	'foldopen'        'fdo'     打開摺疊所使用的命令
	'foldtext'        'fdt'     顯示關閉的摺疊所用的表達式
	'formatexpr'      'fex'     "gq" 命令使用的表達式
	'formatlistpat'   'flp'     識別列表頭部的模式
	'formatoptions'   'fo'      自動排版完成的方式
	'formatprg'       'fp'      "gq" 命令使用的外部程序
	'fsync'           'fs'      文件寫回後是否激活 fsync()
	'gdefault'        'gd'      缺省打開 ":substitute" 的 'g' 標誌
	'grepformat'      'gfm'     'grepprg' 的輸出格式
	'grepprg'         'gp'      ":grep" 使用的程序
	'guicursor'       'gcr'     GUI: 光標形狀和閃爍的設置
	'guifont'         'gfn'     GUI: 使用的字體名
	'guifontset'      'gfs'     GUI: 使用的多字節字體名
	'guifontwide'     'gfw'     雙倍寬度字符的字體名列表
	'guiheadroom'     'ghr'     GUI: 用於窗口裝飾的像素空間
	'guioptions'      'go'      GUI: 使用的部件和選項
	'guipty'                    GUI: ":!" 命令嘗試仿終端
	'guitablabel'     'gtl'     GUI: 標籤頁定製的標籤
	'guitabtooltip'   'gtt'     GUI: 標籤頁定製的工具提示
	'helpfile'        'hf'      主幫助文件的完整路徑名
	'helpheight'      'hh'      新幫助窗口的最小高度
	'helplang'        'hlg'     首選幫助語言
	'hidden'          'hid'     當緩衝區被放棄 ( abandon ) 時不卸載之
	'highlight'       'hl'      設置若干場合下的高亮模式
	'history'         'hi'      記住的命令行的行數
	'hkmap'           'hk'      希伯來語的鍵盤映射
	'hkmapp'          'hkp'     希伯來語的音節 (phonetic) 鍵盤映射
	'hlsearch'        'hls'     高亮最近的匹配搜索模式
	'icon'                      讓 Vim 設定窗口圖標的文本
	'iconstring'                Vim 圖標文本所用的字符串
	'ignorecase'      'ic'      搜索模式時忽略大小寫
	'imactivatefunc'  'imaf'    激活/關閉 X 輸入方法的函數
	'imactivatekey'   'imak'    激活 X 輸入方法 (X input method) 的鍵擊
	'imcmdline'       'imc'     開始編輯命令行時使用 IM
	'imdisable'       'imd'     任何模式下不使用 IM
	'iminsert'        'imi'     插入模式下使用 :lmap 或 IM
	'imsearch'        'ims'     輸入搜索模式時使用 :lmap 或 IM
	'imstatusfunc'    'imsf'    獲得 X 輸入方法的狀態的函數
	'include'         'inc'     查找包含文件所使用的模式
	'includeexpr'     'inex'    處理包含文件行所使用的表達式
	'incsearch'       'is'      輸入搜索模式時同時高亮部分的匹配
	'indentexpr'      'inde'    得到一行的縮進位置的表達式
	'indentkeys'      'indk'    使用 'indentexpr' 時啓動縮進的鍵
	'infercase'       'inf'     關鍵字自動補全的匹配調整大小寫
	'insertmode'      'im'      開始編輯文件時進入插入模式
	'isfname'         'isf'     文件和路徑名可用的字符
	'isident'         'isi'     標識符可用的字符
	'iskeyword'       'isk'     關鍵字可用的字符
	'isprint'         'isp'     可顯示的字符
	'joinspaces'      'js'      連接命令在句號之後加兩個空格
	'key'                       加密密鑰
	'keymap'          'kmp'     鍵盤映射名
	'keymodel'        'km'      允許用鍵擊開始/停止選擇
	'keywordprg'      'kp'      "K" 命令所使用的程序
	'langmap'         'lmap'    其他語言模式用的字母表字符
	'langmenu'        'lm'      菜單使用的語言
	'langremap'       'lrm'     映射字符適用 'langmap'
	'laststatus'      'ls'      當最近的窗口有狀態行時提示
	'lazyredraw'      'lz'      執行宏時不重畫
	'linebreak'       'lbr'     在空白處迴繞長行
	'lines'                     顯示屏幕的行數
	'linespace'       'lsp'     字符之間的像素行數
	'lisp'                      自動 lisp 縮進
	'lispwords'       'lw'      改變 lisp 縮進方式的單詞
	'list'                      顯示 <Tab> 和 <EOL>
	'listchars'       'lcs'     list 模式下顯示用的字符
	'loadplugins'     'lpl'     啓動時調入插件腳本
	'luadll'                    Lua 動態庫名
	'macatsui'                  Mac GUI: 使用 ATSUI 文本繪製
	'magic'                     改變搜索模式所用的特殊字符
	'makeef'          'mef'     ":make" 所用的錯誤文件名
	'makeencoding'    'menc'    外部 make/grep 命令使用的編碼
	'makeprg'         'mp'      ":make" 命令所用的程序
	'matchpairs'      'mps'     "%" 能匹配的字符對
	'matchtime'       'mat'     顯示匹配括號的時間 (以十分之一秒計)
	'maxcombine'      'mco'     顯示的最大組合用字符數
	'maxfuncdepth'    'mfd'     用戶函數的最大遞歸深度
	'maxmapdepth'     'mmd'     映射的最大遞歸深度
	'maxmem'          'mm'      單個緩衝區可用的最大內存 (以千字節計)
	'maxmempattern'   'mmp'     模式匹配使用的最大內存 (以千字節計)
	'maxmemtot'       'mmt'     所有緩衝區可用的最大內存 (以千字節計)
	'menuitems'       'mis'     菜單可用的最大項目數
	'mkspellmem'      'msm'     在  :mkspell  壓縮樹前可用的內存
	'modeline'        'ml'      在文件開頭或結尾識別模式行
	'modelines'       'mls'     模式行的檢查行數
	'modifiable'      'ma'      可否修改文本
	'modified'        'mod'     緩衝區已被修改
	'more'                      全屏顯示時暫停列表
	'mouse'                     允許使用鼠標點擊
	'mousefocus'      'mousef'  鍵盤焦點追隨鼠標點擊
	'mousehide'       'mh'      輸入時隱藏鼠標指針
	'mousemodel'      'mousem'  改變鼠標按鈕的含義
	'mouseshape'      'mouses'  不同模式下改變鼠標指針的形狀
	'mousetime'       'mouset'  鼠標雙擊之間的最大時間
	'mzquantum'       'mzq'     MzScheme 線程的輪詢間隔
	'nrformats'       'nf'      CTRL-A 命令識別的數字格式
	'number'          'nu'      行前顯示行號
	'numberwidth'     'nuw'     行號使用的列數
	'omnifunc'        'ofu'     文件類型特定補全使用的函數
	'opendevice'      'odev'    MS-Windows 上允許讀/寫設備
	'operatorfunc'    'opfunc'   g@  操作符調用的函數
	'osfiletype'      'oft'     不再支持
	'packpath'        'pp'      軟件包使用的目錄列表
	'paragraphs'      'para'    分隔段落的 nroff 宏
	'paste'                     允許粘貼文本
	'pastetoggle'     'pt'      切換 'paste' 的鍵盤代碼
	'patchexpr'       'pex'     用於給文件打補丁的表達式
	'patchmode'       'pm'      保留文件最老的版本
	'path'            'pa'      "gf" 等命令搜索用的目錄列表
	'perldll'                   Perl 動態庫名
	'preserveindent'  'pi'      重排時保持原有的縮進結構
	'previewheight'   'pvh'     預覽窗口的高度
	'previewwindow'   'pvw'     標識預覽窗口
	'printdevice'     'pdev'    用於 :hardcopy 的打印機名
	'printencoding'   'penc'    用於打印的編碼方式
	'printexpr'       'pexpr'   用於 :hardcopy 打印 PostScript 的表達式
	'printfont'       'pfn'     用於 :hardcopy 的字體名
	'printheader'     'pheader' 用於 :hardcopy 的頁眉格式
	'printmbcharset'  'pmbcs'   用於 :hardcopy 的 CJK 字符集
	'printmbfont'     'pmbfn'   用於 :hardcopy 的 CJK 輸出的字體名
	'printoptions'    'popt'    控制 :hardcopy 輸出格式
	'prompt'          'prompt'  Ex 模式打開提示
	'pumheight'       'ph'      彈出窗口的最大高度
	'pythondll'                 Python 2 動態庫名
	'pythonthreedll'            Python 3 動態庫名
	'pyxversion'      'pyx'     pyx* 命令使用的 Python 版本
	'quoteescape'     'qe'      字符串裏使用的轉義字符
	'readonly'        'ro'      禁止寫入緩衝區
	'redrawtime'      'rdt'     'hlsearch' 和  :match  高亮的超時
	'regexpengine'    're'      使用的缺省正規表達式引擎
	'relativenumber'  'rnu'     每行前顯示相對行號
	'remap'                     允許映射可以遞歸調用
	'renderoptions'   'rop'     Window 上文本渲染選項
	'report'                    報告行改變的行數下限
	'restorescreen'   'rs'      Win32: 退出時恢復屏幕
	'revins'          'ri'      字符插入會反向進行
	'rightleft'       'rl'      窗口爲從右到左模式
	'rightleftcmd'    'rlc'     從右到左模式工作的編輯命令
	'rubydll'                   Ruby 動態庫名
	'ruler'           'ru'      標尺,在狀態行裏顯示光標的行號和列號
	'rulerformat'     'ruf'     定製標尺格式
	'runtimepath'     'rtp'     用於運行時文件的目錄列表
	'scroll'          'scr'     用 CTRL-U 和 CTRL-O 滾動的行數
	'scrollbind'      'scb'     其他窗口滾動時滾動當前窗口
	'scrolljump'      'sj'      滾動所需的最少行數
	'scrolloff'       'so'      光標上下的最少行數
	'scrollopt'       'sbo'     'scrollbind' 的行爲方式
	'sections'        'sect'    分隔小節的 nroff 宏
	'secure'                    在當前目錄下以安全模式讀入 .vimrc
	'selection'       'sel'     使用何種選擇方式
	'selectmode'      'slm'     何時使用選擇模式而不是可視模式
	'sessionoptions'  'ssop'    :mksession 的選項
	'shell'           'sh'      使用外部命令的外殼程序名字
	'shellcmdflag'    'shcf'    執行命令所使用的外殼的參數
	'shellpipe'       'sp'      把 ":make" 結果輸出到錯誤文件的字符串
	'shellquote'      'shq'     括起外殼命令的字符
	'shellredir'      'srr'     把過濾命令的輸出存到暫時文件的字符串
	'shellslash'      'ssl'     外殼文件名使用正斜槓
	'shelltemp'       'stmp'    外殼命令是否使用臨時文件
	'shelltype'       'st'      Amiga: 影響如何使用外殼
	'shellxescape'    'sxe'     'shellxquote' 爲 ( 時使用的轉義字符
	'shellxquote'     'sxq'     類似於 'shellquote',但包括重定向
	'shiftround'      'sr'      縮進列數對齊到 shiftwidth 的整數倍
	'shiftwidth'      'sw'      (自動) 縮進使用的步進單位,以空白數目計
	'shortmess'       'shm'     縮短消息長度的標誌位列表
	'shortname'       'sn'      非 MS-DOS: 文件名假定爲 8.3 字符
	'showbreak'       'sbr'     用於提示迴繞行開始的字符串
	'showcmd'         'sc'      在狀態行裏顯示 (部分) 命令
	'showfulltag'     'sft'     自動補全標籤時顯示完整的標籤匹配模式
	'showmatch'       'sm'      插入括號時短暫跳轉到匹配的括號
	'showmode'        'smd'     在狀態行上顯示當前模式的消息
	'showtabline'     'stal'    是否顯示標籤頁行
	'sidescroll'      'ss'      橫向滾動的最少列數
	'sidescrolloff'   'siso'    在光標左右最少出現的列數
	'signcolumn'      'scl'     何時顯示標號列
	'smartcase'       'scs'     模式中有大寫字母時不忽略大小寫
	'smartindent'     'si'      C 程序智能自動縮進
	'smarttab'        'sta'     插入 <Tab> 時使用 'shiftwidth'
	'softtabstop'     'sts'     編輯時 <Tab> 使用的空格數
	'spell'                     打開拼寫檢查
	'spellcapcheck'   'spc'     定位句子尾部的模式
	'spellfile'       'spf'      zg  和  zw  保存單詞的文件
	'spelllang'       'spl'     拼寫檢查使用的語言
	'spellsuggest'    'sps'     提供拼寫校正建議的方法
	'splitbelow'      'sb'      分割窗口時新窗口在當前窗口之下
	'splitright'      'spr'     新窗口在當前窗口之右
	'startofline'     'sol'     命令移動光標到行的第一個非空白
	'statusline'      'stl'     狀態行的定製格式
	'suffixes'        'su'      多個匹配所忽略的後綴
	'suffixesadd'     'sua'     搜索文件時附加的後綴
	'swapfile'        'swf'     緩衝區是否使用交換文件
	'swapsync'        'sws'     和交換文件同步的方式
	'switchbuf'       'swb'     設置切換到別的緩衝區時的行爲
	'synmaxcol'       'smc'     尋找語法項目的最大列數
	'syntax'          'syn'     讀入當前緩衝區的語法
	'tabline'         'tal'     終端標籤頁行的定製格式
	'tabpagemax'      'tpm'      -p  和 "tab all" 的最大標籤頁數
	'tabstop'         'ts'      <Tab> 在文件裏使用的空格數
	'tagbsearch'      'tbs'     標籤文件裏用二分法查找
	'tagcase'         'tc'      標籤文件查找時如何處理大小寫
	'taglength'       'tl'      標籤裏的有效字符數
	'tagrelative'     'tr'      標籤文件裏的文件名是相對路徑
	'tags'            'tag'     標籤命令使用的文件名列表
	'tagstack'        'tgst'    把標籤推入標籤棧
	'tcldll'                    Tcl 動態庫名
	'term'                      終端名
	'termbidi'        'tbidi'   終端支持雙向文本
	'termencoding'    'tenc'    終端使用的編碼方式
	'termguicolors'   'tgc'     終端使用 GUI 顏色
	'terse'                     簡化部分消息
	'textauto'        'ta'      已廢止,用 'fileformats'
	'textmode'        'tx'      已廢止,用 'fileformat'
	'textwidth'       'tw'      插入文本的最大寬度
	'thesaurus'       'tsr'     關鍵字自動補全所用的同義詞字典
	'tildeop'         'top'     波浪命令 "~" 以操作符方式工作
	'timeout'         'to'      映射和鍵盤代碼等待超時
	'timeoutlen'      'tm'      超時時間 (以毫秒計)
	'title'                     讓 Vim 設置窗口標題
	'titlelen'                  用於窗口標題的 'columns' 比例
	'titleold'                  舊的標題,用於退出時恢復
	'titlestring'               用於 Vim 窗口標題的字符串
	'toolbar'         'tb'      GUI: 工具欄顯示何種項目
	'toolbariconsize' 'tbis'    工具欄圖標的大小 (只適用於 GTK 2)
	'ttimeout'                  映射等待超時
	'ttimeoutlen'     'ttm'     鍵盤代碼超時時間 (以毫秒計)
	'ttybuiltin'      'tbi'     在外部 termcap 之前先用內建的 termcap
	'ttyfast'         'tf'      指示一個快速的終端連接
	'ttymouse'        'ttym'    鼠標產生代碼的類型
	'ttyscroll'       'tsl'     滾動的最大行數
	'ttytype'         'tty'     'term' 的別名
	'undodir'         'udir'    保存撤銷文件的位置
	'undofile'        'udf'     把撤銷信息寫入一個文件裏
	'undolevels'      'ul'      最多可以撤銷的改變個數
	'undoreload'      'ur'      保存緩衝區重載撤銷的最大行數
	'updatecount'     'uc'      刷新交換文件所需的字符數
	'updatetime'      'ut'      刷新交換文件所需的毫秒數
	'verbose'         'vbs'     給出詳細信息
	'verbosefile'     'vfile'   消息寫入的文件
	'viewdir'         'vdir'    :mkview 存儲文件的所在目錄
	'viewoptions'     'vop'     指定 :mkview 保存的內容
	'viminfo'         'vi'      啓動和退出時使用 .viminfo 文件
	'virtualedit'     've'      何時使用虛擬編輯
	'visualbell'      'vb'      使用可視鈴聲而不是響鈴
	'warn'                      當緩衝區改變時,對外殼命令給出警告
	'weirdinvert'     'wiv'     用於有特殊反轉方法的終端
	'whichwrap'       'ww'      允許指定鍵跨越行邊界
	'wildchar'        'wc'      用於通配符擴展的命令行字符
	'wildcharm'       'wcm'     同 'wildchar',但對映射情況也適用
	'wildignore'      'wig'     匹配這些模式的文件不會參與自動補全
	'wildignorecase'  'wic'     匹配文件名時忽略大小寫
	'wildmenu'        'wmnu'    命令行自動補全所使用的菜單
	'wildmode'        'wim'     'wildchar' 命令行擴展所用的模式
	'wildoptions'     'wop'     指定如何完成命令行補全
	'winaltkeys'      'wak'     何時窗口系統處理 ALT 鍵
	'window'          'wi'      CTRL-F 和 CTRL-B 滾動的行數
	'winheight'       'wh'      當前窗口的最少行數
	'winfixheight'    'wfh'     打開/關閉窗口時保持窗口高度
	'winfixwidth'     'wfw'     打開/關閉窗口時保持窗口寬度
	'winminheight'    'wmh'     任何窗口的最少行數
	'winminwidth'     'wmw'     任何窗口的最少列數
	'winwidth'        'wiw'     當前窗口的最少列數
	'wrap'                      長行迴繞並在下一行繼續
	'wrapmargin'      'wm'      使 (硬) 迴繞開始的從右側起算的字符數
	'wrapscan'        'ws'      搜索在文件尾折回文件頭
	'write'                     允許寫入文件
	'writeany'        'wa'      寫入文件不需 "!" 強制
	'writebackup'     'wb'      覆蓋文件時建立備份
	'writedelay'      'wd'      每個字符延遲 (以毫秒計) (用於調試)
11.語法高亮
	:syntax on 開啓語法高亮
	:syntax off 關閉語法高亮
vim配置文件
全局配置文件 /etc/vimrc
只對當前用戶有效的配置文件 ~/.vimrc
" echo '即將創建/打開新文件'
"set guifont=  設置字體
set shiftwidth=2 "自動縮進字符數
set tabstop=2 "tab鍵長度
syntax on "開啓語法高亮顯示
"設置            "批註
set hlsearch    "高亮度反白
set backspace=2  "可隨時用退格鍵刪除
set autoindent    "自動縮排
set ruler        "可顯示最後一列的狀態
set laststatus=2 "設定兩行狀態欄
set showmode    "左下角那一列的狀態
"set nu          "可以在每一行的最前面顯示行號
set bg=dark      "顯示不同的底色色調
syntax on       "進行語法檢驗,顏色顯示
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章