我是靠谱客的博主 伶俐香氛,最近开发中收集的这篇文章主要介绍vim的简单配置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

"一、高亮
set number
" 打开
set nocompatible
"不与 Vi 兼容(采用 Vim 自己的操作命令
set showmode
"在底部显示,当前处于命令模式还是插入模式。
set showcmd
"命令模式下,在底部显示,当前键入的指令。比如,键入的指令是2y3d,那么底部就会显示2y3,当键入d的时候,操作完成,显示消失。
set mouse=a
"支持使用鼠标
set selection=exclusive
set selectmode=mouse,key
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
"二、缩进
set autoindent
"按下回车键后,下一行的缩进会自动跟上一行的缩进保持一致。
set smartindent
"加强自动缩进
set tabstop=2
"按下 Tab 键时,Vim 显示的空格数。
set shiftwidth=4
"在文本上按下 >> (增加一级缩进)、 << (取消一级缩进)或者 == (取消全部缩进)时,每一级的字符数。
set expandtab
"由于 Tab 键在不同的编辑器缩进不一致,该设置自动将 Tab 转为空格。
set softtabstop=2
"Tab 转为多少个空格。
filetype on
"检测文件类型
filetype indent on
"针对不同的文件采用不同的缩进方式
filetype plugin on
"允许插件
filetype plugin indent on
"启动智能补全
set wildmenu
"ex命令补全时出现在状态栏的那个补全列表
"三、外观
"set relativenumber
"显示光标所在的当前行的行号,其他行都为相对于该行的相对行号。
set bg=dark
set cursorcolumn
"高亮所在列
set cursorline
"光标所在的当前行高亮。
highlight CursorLine cterm=none ctermbg=236
highlight CursorColumn cterm=none ctermbg=236
set textwidth=80
"设置行宽,即一行显示多少个字符。
set foldenable
" 允许折叠
set foldmethod=manual
" 手动折叠
set wrap
"自动折行,即太长的行分成几行显示。
set nowrap
"关闭自动折行
set linebreak
"只有遇到指定的符号(比如空格、连词号和其他标点符号),才发生折行。也就是说,不会在单词内部折行。
set wrapmargin=2
"指定折行处与编辑窗口的右边缘之间空出的字符数。
set scrolloff=5
"垂直滚动时,光标距离顶部 / 底部的位置(单位:行)。
set sidescrolloff=15
"水平滚动时,光标距离行首或行尾的位置(单位:字符)。该配置在不折行时比较有用。
set laststatus=2
"是否显示状态栏。0 表示不显示,1 表示只在多窗口时显示,2 表示显示。
set
ruler
"在状态栏显示光标的当前位置(位于哪一行哪一列)。
"四、搜索
set showmatch
"光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号。
set hlsearch
"搜索时,高亮显示匹配结果。
set incsearch
"输入搜索模式时,每输入一个字符,就自动跳到第一个匹配的结果。
set ignorecase
"搜索时忽略大小写。
set smartcase
"如果同时打开了ignorecase,那么对于只有一个大写字母的搜索词,将大小写敏感;其他情况都是大小写不敏感。比如,搜索Test时,将不匹配test;搜索test时,将匹配Test。
"自动补全
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap{ { <CR> }<ESC>O
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
imap { {}<ESC>i<CR><ESC>V<O
imap { {}<ESC>i<CR><ESC>O
function!ClosePair(char)
if getline('.')[col('.')-1] == a:char
return "<Right>"
else
return a:char
endif
endfunction
filetype plugin indent on
"打开文件类型检测, 加了这句才可以用智能补全
set completeopt=longest,menu
" 大括号自动分行"
autocmd BufWritePre,BufRead *.c :inoremap <Enter> <c-r>=BracketsEnter('}')<CR>
autocmd BufWritePre,BufRead *.cpp :inoremap <Enter> <c-r>=BracketsEnter('}')<CR>
function BracketsEnter(char)
if getline('.')[col('.')-1] == a:char
return "<Enter><Tab><Esc>mpa<Enter><Esc>`pa"
else
return "<Enter>"
endif
endf
"五、编辑
""set spell spelllang=en_us
"打开英语单词的拼写检查。
set nobackup
"不创建备份文件。默认情况下,文件保存时,会额外创建一个备份文件,它的文件名是在原文件名的末尾,再添加一个波浪号(?)。
set noswapfile
"不创建交换文件。交换文件主要用于系统崩溃时恢复文件,文件名的开头是.、结尾是.swp。
set undofile
"保留撤销历史
set wildmenu
" 增强模式中的命令行自动完成操作
set wildmode=longest:list,full
"命令模式下,底部操作指令按下 Tab 键自动补全。第一次按下 Tab,会显示所有匹配的操作指令的清单;第二次按下 Tab,会依次选择各个指令。
set shortmess=atI
"启动的时候不显示那个援助乌干达的提示

 

 

                      

最后

以上就是伶俐香氛为你收集整理的vim的简单配置的全部内容,希望文章能够帮你解决vim的简单配置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部