Loading... 在家目录下,新建一个文件名为`.vimrc`的文件,将下面的内容写入文件,即可完成配置。 ```bash " An example for a vimrc file. " " To use it, copy it to " for Unix and OS/2: ~/.vimrc " for Amiga: s:.vimrc " for MS-DOS and Win32: $VIM\_vimrc " for OpenVMS: sys$login:.vimrc " When started as "evim", evim.vim will already have done these settings. if v:progname =~? "evim" finish endif " Use Vim settings, rather then Vi settings (much better!). " This must be first, because it changes other options as a side effect. set nocompatible " allow backspacing over everything in insert mode set backspace=indent,eol,start if has("vms") set nobackup " do not keep a backup file, use versions instead else set backup " keep a backup file endif set history=50 " keep 50 lines of command line history set ruler " show the cursor position all the time set showcmd " display incomplete commands set incsearch " do incremental searching "========================================================================== " My Setting "========================================================================== vmap <leader>y :w! /tmp/vitmp<CR> nmap <leader>p :r! cat /tmp/vitmp<CR> " 语法高亮 syntax enable syntax on " 显示行号 set nu " 修改默认注释颜色 " hi Comment ctermfg=DarkCyan " 允许退格键删除 " set backspace=2 " 启用鼠标 set mouse=a set selection=exclusive set selectmode=mouse,key " 按C语言格式缩进 set cindent set autoindent set smartindent set shiftwidth=4 " 允许在有未保存的修改时切换缓冲区 " set hidden " 设置无备份文件 set writebackup set nobackup " 显示括号匹配 set showmatch " 括号匹配显示时间为1(单位是十分之一秒) set matchtime=5 " 显示当前的行号列号: set ruler " 在状态栏显示正在输入的命令 set showcmd set foldmethod=syntax " 默认情况下不折叠 set foldlevel=100 " 开启状态栏信息 set laststatus=2 " 命令行的高度,默认为1,这里设为2 set cmdheight=2 " 显示Tab符,使用一高亮竖线代替 set list " set listchars=tab:\|\ , set listchars=tab:>-,trail:- " 侦测文件类型 filetype on " 载入文件类型插件 filetype plugin on " 为特定文件类型载入相关缩进文件 filetype indent on " 启用自动补全 filetype plugin indent on " 设置编码自动识别,中文引号显示 filetype on " 打开文件类型检测 " set fileencodings=euc-cn,ucs-bom,utf-8,cp936,gb2312,gb18030,gbk,big5,euc-jp,euc-kr,latin1 set fileencodings=utf-8,gb2312,gbk,gb18030 " 这个功能很给劲,不管encoding是什么编码,都能将文本显示汉字 " set termencoding=gb2312 set termencoding=utf-8 " 新建文件使用的编码 set fileencoding=utf-8 " set fileencoding=gb2312 " 用于显示的编码,仅仅是显示 set encoding=utf-8 " set encoding=utf-8 " set encoding=euc-cn " set encoding=gbk " set encoding=gb2312 " set ambiwidth=double set fileformat=unix " 设置高亮搜索 set hlsearch " 在搜索时,输入的词句的逐字符高亮 set incsearch " 着色模式 set t_Co=256 " colorscheme wombat256mod " colorscheme gardener " colorscheme elflord colorscheme desert " colorscheme evening " colorscheme darkblue " colorscheme torte " colorscheme default " 字体 && 字号 " set guifont=Monaco:h10 set guifont=Consolas:h10 " ======= 引号 && 括号自动匹配 ======= " " " :inoremap ( ()<ESC>i " :inoremap ) <c-r>=ClosePair(')')<CR> " " :inoremap { {}<ESC>i " " :inoremap } <c-r>=ClosePair('}')<CR> " " :inoremap [ []<ESC>i " " :inoremap ] <c-r>=ClosePair(']')<CR> " " :inoremap < <><ESC>i " " :inoremap > <c-r>=ClosePair('>')<CR> " " :inoremap " ""<ESC>i " " :inoremap ' ''<ESC>i " " :inoremap ` ``<ESC>i " " :inoremap * **<ESC>i " 每行超过80个的字符用下划线标示 " au BufRead,BufNewFile *.s,*.asm,*.h,*.c,*.cpp,*.java,*.cs,*.lisp,*.el,*.erl,*.tex,*.sh,*.lua,*.pl,*.php,*.tpl,*.py,*.rb,*.erb,*.vim,*.js,*.jade,*.coffee,*.css,*.xml,*.html,*.shtml,*.xhtml Underlined /.\%81v/ " " " For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries " let &guioptions = substitute(&guioptions, "t", "", "g") " Don't use Ex mode, use Q for formatting map Q gq " This is an alternative that also works in block mode, but the deleted " text is lost and it only works for putting the current register. " vnoremap p "_dp " Switch syntax highlighting on, when the terminal has colors " Also switch on highlighting the last used search pattern. if &t_Co > 2 || has("gui_running") syntax on set hlsearch endif " Only do this part when compiled with support for autocommands. if has("autocmd") " Enable file type detection. " Use the default filetype settings, so that mail gets 'tw' set to 72, " 'cindent' is on in C files, etc. " Also load indent files, to automatically do language-dependent indenting. filetype plugin indent on " Put these in an autocmd group, so that we can delete them easily. augroup vimrcEx au! " For all text files set 'textwidth' to 80 characters. autocmd FileType text setlocal textwidth=80 " When editing a file, always jump to the last known cursor position. " Don't do it when the position is invalid or when inside an event handler " (happens when dropping a file on gvim). autocmd BufReadPost * \ if line("'\"") > 0 && line("'\"") <= line("$") | \ exe "normal g`\"" | \ endif augroup END else set autoindent " always set autoindenting on endif " has("autocmd") " 增加鼠标行高亮 set cursorline hi CursorLine cterm=NONE ctermbg=darkred ctermfg=white " 设置tab是四个空格 set ts=4 set expandtab " 主要给Tlist使用 let Tlist_Exit_OnlyWindow = 1 let Tlist_Auto_Open = 1 ``` 最后修改:2025 年 10 月 30 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏。