最好用的Vim配置

本文详细介绍了Vim编辑器的配置文件,包括设置行号、语法高亮、多语言环境支持、文件类型检测、搜索与高亮、自动缩进、代码补全等功能,旨在提升编辑效率和用户体验。通过自定义快捷键和编译运行命令,实现了C/C++程序的快速编译与运行。
摘要由CSDN通过智能技术生成

" Configuration file for vim
set modelines=0 " CVE-2007-2438

" Normally we use vim-extensions. If you want true vi-compatibility
" remove change the following statements
set nocompatible " Use Vim defaults instead of 100% vi compatibility
set backspace=2 " more powerful backspacing

" Don’t write backup file if vim is being called by “crontab -e”
au BufWrite /private/tmp/crontab.* set nowritebackup nobackup
" Don’t write backup file if vim is being called by “chpass”
au BufWrite /private/etc/pw.* set nowritebackup nobackup

let skip_defaults_vim=1

" set by MuDaDa, chenguangyu@bilibili.com

" # ---------------------- Begin , Let’s config vim ----------------------
" make .vimrc file take effect immediatelty 让vimrc 文件保存立刻生效,这样方便我们立刻查看vim效果
autocmd BufWritePost $MYVIMRC source $MYVIMRC

" # Display line number 显示行号
set nu

" 语法高亮
syntax on

" 配置多语言环境
if has(“multi_byte”)
" UTF-8 编码
set encoding=utf-8
set termencoding=utf-8
set formatoptions+=mM
set fencs=utf-8,gbk

if v:lang =~? ‘^(zh)|(ja)|(ko)’
set ambiwidth=double
endif

if has(“win32”)
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language messages zh_CN.utf-8
endif
else
echoerr “Sorry, this version of (g)vim was not compiled with +multi_byte”
endif

" # about saving and exiting files 关于保存和退出文件

" 设置当文件被改动时自动载入
set autoread

" ## set my own Leader 设置自己的“”
let mapleader=“,”
nmap w :w
nmap q :q!

" # set copy and paste
vnoremap y "+y
nmap p "+p

" # 跳转window
noremap h
noremap k
noremap j
noremap l

" 定义快捷键到行尾或者行首
nmap H ^
nmap L $

" 设置自动换行的字符数
set textwidth=100

" 快速跳转
nmap J 3j
nmap K 3k

" 文件类型检测,自动识别是.c, .cpp, .py …
filetype on

" 根据不同文件类型家在不同插件的功能
filetype plugin on

"开启实时搜索
set incsearch

" 开启大小写不敏感,方便搜索
set ignorecase

" 清除当前搜索内容的高亮
noremap :nohlsearch

" 开启vim自身命令行模式智能补全
set wildmenu

" 高亮显示对应的括号
set showmatch

" 自动对齐
set autoindent

" 在处理未保存或只读文件的时候,弹出确认
set confirm

" Tab键的宽度
set tabstop=4

" 统一缩进为4
set shiftwidth=4

" 在编辑模式的时候按退格键的时候退回缩进的长度
set softtabstop=4

" 当设置成 expandtab 时,缩进用空格来表示,noexpandtab 则是用制表符表示一个缩进
set expandtab

" 搜索高亮
set hlsearch

" 十字架高亮
" set cuc cul "简单设置十字架
" hi CursorColumn cterm=NONE ctermbg=darkyellow ctermfg=white guibg=darkred guifg=white " 配置简单十字架颜色

set bg=dark
set cursorline
set cursorcolumn
highlight CursorLine cterm=none ctermbg=236
highlight CursorColumn cterm=none ctermbg=236

" 搜索逐字符高亮
set incsearch

" quickfix模式
autocmd FileType c,cpp map :w:make

"代码补全
set completeopt=preview,menu

" 自动对齐
set autoindent

"关于编译
" 编译和运行C程序
map :call CompileRunGcc()
func! CompileRunGcc()
exec “w”
exec “!gcc % -o %<”
exec “! ./%<”
endfunc

" 编译和运行C++程序
map :call CompileRunGpp
func! CompileRunGpp()
exec “w”
exec “!g++ % -o %<”
exec “! ./<”
endfunc

map :call CompileRunAll()

func! CompileRunAll()
exec “w”
if &filetype == ‘c’
exec ‘!g++ % -o %<’
exec ‘!time ./%<’
elseif &filetype == ‘cpp’
exec ‘!g++ % -o %<’
exec ‘!time ./%<’
elseif &filetype == ‘python’
exec ‘!time python %’
elseif &filetype == ‘go’
exec ‘!time go run %’
elseif &filetype == ‘sh’
:!time bash %
endif
endfunc

" ---------------------- End , config vim ---------------------
"MuDaDaSettingVimrcVars
set nu
set hlsearch
set encoding=utf-8
set cuc cul
syntax on
hi CursorColumn cterm=NONE ctermbg=darkyellow ctermfg=white guibg=darkred guifg=white

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【使用说明】在主目录直接解包就行 【功能详情】--------快捷键 //----------------------------------------------------------------- 【#】显示函数列表 : TlistToggle //显示函数列表 按将会在VIM的左边打开一个Taglist窗口,这个窗口里面包含了C文件里面的定义,如struct,typedef,全局变量,函数等。使用'+h将光标移动到左边的窗口,上下选择tag按回车定位到tag的定义处。 【#】当前目录列表,方便打开文件 : NERDTreeToggle //当前目录列表,方便打开文件 按会在VIM的右边打开一个文件浏览器窗口。再按一下会关闭这个窗口。 【#】最近文件列表 : MRU //最近文件列表 按会打开一个MRU窗口,这个窗口里面记录了最近打开的文档,上下选择文件回车打开。如果没有你想打开的文件可以按"q"关闭窗口。 : LookupFile 在VIM的上面打开文件查找窗口, : vimgrep 假设你想查找某个字符串在项目中出现的位置,你可以把光标放在这个字符串上, 按就会在VIM的最下面显示你想查找的字符串,此时你可以修改这个字符串,回车到下一步,此时会提示你要查找的文件范围, 【#】编译 : gcc 直接按可以对打开的文件直接编译 【#】gdb调试 : gdb 直接按可以直接进入gdb调试状态 : Generate tags 在代码间跳来跳去。先按生成tag数据库。将会在项目的当前目录下生成tags文件。此时将光标放在某个函数调用上,按+]就会跳到函数的定义处,按+o就会跳回来。 : HLUDSync 按可以生成cscope的数据库文件cscope.out,再使用",sa"(:cs add cscope.out)添加数据库文件。当下次启动VIM的时候就会自动加载当前目录下的cscope数据库文件。在.vimrc里面定义了使用cscope的快捷键,比如将光标放在某个函数上使用命令",sc"就可以查看这个函数被哪些函数调用过, 【#】全屏显示 :genfiletags.sh 是让终端全屏显示 add cscope.out 在查找文件之前要生成文件数据库, 按将会在项目的当前目录下生成tags.filename文件,所以最好是在项目的根目录下按。再按就可以使用通配符查找文件了。 【功能详情】--------命令行功能 【#】添加函数注释等 :Dox 添加函数注释 【#】头文件和c文件切换 :AV 垂直分屏显示头文件或者c文件 【其他功能】------- 1.输入main后按table键,自动生成main函数 2.输入单词自动补全//注,本文档之前输入的单词自动补全 3.双引号、单引号、大括号自动补全,小括号不能自动补全【如果有人发现是什么原因,可以留言哈】 【注】祝大家更高效的玩转vim
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值