php vimrc配置文件,vim技巧:我的 .vimrc 配置文件,详解每一个配置项的作用
下面是我的 .vimrc 配置文件,每一個配置項都添加了注釋說明,詳解每一個配置項的作用,以便確認為什么要添加這個配置項。
" 使用vim的modeline來設置當前文件的textwidth,避免輸入超過78個字符時自動換行
" 使用:verbose set textwidth?命令可以看到vim默認為vim配置腳本設置了textwidth
" 為78,當輸入超過78個字符并按下空格鍵時會自動換行.將textwidth設成0關閉該功能
"" vim: tw=0 :
" 去掉有關vi一致性模式,避免操作習慣上的局限.
set nocompatible
" 讓Backspace鍵可以往前刪除字符.
" Debian系統自帶的vim版本會加載一個debian.vim文件,默認已經設置這一項,
" 可以正常使用Backspace鍵.如果使用自己編譯的vim版本,并自行配置.vimrc文件,
" 可能就沒有設置這一項,導致Backspace鍵用不了,或者時靈時不靈.所以主動配置.
set backspace=indent,eol,start
" 1=啟動顯示狀態行, 2=總是顯示狀態行.設置總是顯示狀態行,方便看到當前文件名.
set laststatus=2
" 設置ruler會在右下角顯示光標所在的行號和列號,不方便查看.改成設置狀態欄顯示內容
"" set ruler
" 設置狀態行顯示的內容. %F: 顯示當前文件的完整路徑. %r: 如果readonly,會顯示[RO]
" %B: 顯示光標下字符的編碼值,十六進制. %l:光標所在的行號. %v:光標所在的虛擬列號.
" %P: 顯示當前內容在整個文件中的百分比. %H和%M是strftime()函數的參數,獲取時間.
set statusline=%F%r\ [HEX=%B][%l,%v,%P]\ %{strftime(\"%H:%M\")}
" 顯示還沒有輸入完整的命令.例如yy命令,輸入第一個y會在右下角顯示y.
set showcmd
" 使用Tab鍵補全時,在狀態欄顯示匹配的列表,方便查看都有哪些命令符合補全條件.
set wildmenu
" 顯示行號
set number
" 高亮顯示匹配的括號
set showmatch
" 高亮顯示所有搜索到的內容.后面用map映射快捷鍵來方便關閉當前搜索的高亮.
set hlsearch
" 光標立刻跳轉到搜索到內容
set incsearch
" 搜索到最后匹配的位置后,再次搜索不回到第一個匹配處
set nowrapscan
" 去掉輸入錯誤時的提示聲音
set noeb
" 默認按下Esc后,需要等待1秒才生效,設置Esc超時時間為100ms,盡快生效
set ttimeout
set ttimeoutlen=100
" 設置文件編碼,主要是避免中文亂碼.先注釋,后續遇到中文亂碼再打開
"" set fileencodings=utf-8,cp936,big5,latin1
" FIXME 在MS-DOS控制臺打開vim時,控制臺使用鼠標右鍵來復制粘貼,設置
" 全鼠標模式,鼠標右鍵被映射為visual mode,不能用來復制粘貼,不方便.
" 但是如果不設置鼠標模式,會無法使用鼠標滾輪來滾動界面.經過驗證,發現
" 可以設成普通模式mouse=n來使用鼠標滾輪,也能使用鼠標右鍵復制粘貼.
" mouse=c/mouse=i模式都不能用鼠標滾輪. Linux下還是要設成 mouse=a
set mouse=n
" FIXME 在MS-DOS控制臺打開vim,光標很小,不方便看到光標在哪里.下面
" 設置cursorline,高亮光標所在的行.cursorlineopt=number只高亮行號部分,
" 不影響正文內容的顯示. 在其他容易看到光標的終端上可以去掉這兩個設置.
set cursorline
set cursorlineopt=number
" 開啟語法高亮
syntax enable
" 檢測文件類型,并載入文件類型插件,為特定文件類型載入相關縮進文件
filetype plugin indent on
" 設置自動補全的選項. longest表示只自動補全最大匹配的部分,剩余部分通過
" CTRL-P/CTRL-N來選擇匹配項進行補全. menu表示彈出可補全的內容列表.
" 如果有多個匹配,longest選項不會自動選中并完整補全,要多按一次CTRL-P,比較
" 麻煩,不做設置,保持默認設置,vim默認沒有設置longest.
"" set completeopt=longest,menu
" 自動縮進.這個導致從外面拷貝多行以空格開頭的內容時,會有多的縮進,先不設置.
"" set autoindent
" 設置C風格的自動縮進.設置filetype indent on后,就會根據文件類型自動縮進.
" 按照vim用戶手冊'30.3 Automatic indenting'的說明,可以不再單獨設置cindent.
"" set cindent
" 自動縮進時,縮進長度為4
set shiftwidth=4
" 輸入Tab字符時,自動替換成空格
set expandtab
" 設置softtabstop有一個好處是可以用Backspace鍵來一次刪除4個空格.
" softtabstop的值為負數,會使用shiftwidth的值,兩者保持一致,方便統一縮進.
set softtabstop=-1
" 設置顏色主題,適用于黑色背景.
colorscheme slate
" 創建一個新的 MyTabSpace 組,并設置它的顏色
highlight MyTabSpace ctermfg=darkgrey
" 指定tab字符和空格的顏色組為MyTabSpace,不同字符串之間用|隔開,要使用\|轉義.
match MyTabSpace /\t\| /
" 針對特定類型的代碼文件,設置顯示Tab鍵和行尾空格以便在查看代碼時注意到它們
" TODO 后續查看代碼如果體驗不好再改成用map映射快捷鍵開關list來動態切換顯示
autocmd FileType c,cpp,java,xml setlocal list | set listchars=tab:>~,trail:.
" 配置 gtags 插件,用于在函數之間跳轉,方便查看源代碼.
" 參考 gtags-cscopde.vim 的注釋,添加下面語句來使用 ':tag' 和 ''
set cscopetag
" 設置 cscopetag 后,由于gtags-cscopde默認沒有啟動,還需要進行下面的設置,
" 結合這兩個設置, gtags 就可以使用Ctrl-]鍵來跳轉到函數定義處.
let GtagsCscope_Auto_Load = 1
" 配置 GtagsCscope_Auto_Load = 1 后,在沒有GTAGS文件的目錄下使用vim,會提示
" Gtags-cscope: GTAGS not found.
" Press ENTER or type command to continue
" 需要按回車才會打開文件.如果要去掉這個報錯,需要設置GtagsCscope_Quiet = 1
let g:GtagsCscope_Quiet = 1
" 設置只有一個匹配結果時,不顯示quickfix窗口
let g:Gtags_Close_When_Single = 1
" 配置 quickfix 相關命令的快捷鍵. 可以用:map命令查看vim已有的快捷鍵映射.
nnoremap :cclose
nnoremap :cn
nnoremap :cp
" vim 用 map 命令來映射快捷鍵,它前面可以加一些前綴來對應不同的場景.
" 下面 map 前面的 nore 表示非遞歸. nore 前面的n表示只在普通模式下生效.
" 即,基于下面的配置,在插入模式下,按F6沒有這個映射效果.插入模式對應i.
" 下面配置cscope查找文件命令的快捷鍵為F6,由于需要手動輸入文件名,不要加
nnoremap :cs find f
" 如果要去掉高亮顯示搜索到的內容,需要再次搜索一些不存在的字符串,比較麻煩.可以
" 在vim的命令行中執行nohlsearch命令去掉當前高亮.下面以:開頭表示在命令行執行.
nnoremap :nohlsearch
" 插入模式下也用F9來去掉搜索高亮.下面的表示CTRL-O,在插入模式執行一次命令
inoremap :nohlsearch
總結
以上是生活随笔為你收集整理的php vimrc配置文件,vim技巧:我的 .vimrc 配置文件,详解每一个配置项的作用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php soap debug,php s
- 下一篇: php只能写入7字符,如何在PHP 7之