设为首页 加入收藏

TOP

强大的Vim配置,让编程更随意(二)
2014-11-24 07:40:32 来源: 作者: 【 】 浏览:1
Tags:强大 Vim 配置 编程 随意


call append(line(".")+5, "")


endif


if &filetype == 'cpp'


call append(line(".")+6, "#include")


call append(line(".")+7, "using namespace std;")


call append(line(".")+8, "")


endif


if &filetype == 'c'


call append(line(".")+6, "#include")


call append(line(".")+7, "")


endif


"新建文件后,自动定位到文件末尾


autocmd BufNewFile * normal G


endfunc


""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


"键盘命令


""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""



nmap w :w!


nmap f :find



" 映射全选+复制 ctrl+a


map ggVGY


map! ggVGY


map gg=G


" 选中状态下 Ctrl+c 复制


vmap "+y


"去空行


nnoremap :g/^\s*$/d


"比较文件


nnoremap :vert diffsplit


"新建标签


map :tabnew


"列出当前目录文件


map :tabnew .


"打开树状文件目录


map \be


"C,C++ 按F5编译运行


map :call CompileRunGcc()


func! CompileRunGcc()


exec "w"


if &filetype == 'c'


exec "!g++ % -o %<"


exec "! ./%<"


elseif &filetype == 'cpp'


exec "!g++ % -o %<"


exec "! ./%<"


elseif &filetype == 'java'


exec "!javac %"


exec "!java %<"


elseif &filetype == 'sh'


:!./%


endif


endfunc


"C,C++的调试


map :call Rungdb()


func! Rungdb()


exec "w"


exec "!g++ % -g -o %<"


exec "!gdb ./%<"


endfunc


""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


""实用设置


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


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


set autoread


" quickfix模式


autocmd FileType c,cpp map :w:make


"代码补全


set completeopt=preview,menu


"允许插件


filetype plugin on


"共享剪贴板


set clipboard+=unnamed


"从不备份


set nobackup


"make 运行


:set makeprg=g++\ -Wall\ \ %


"自动保存


set autowrite


set ruler " 打开状态栏标尺


set cursorline " 突出显示当前行


set magic " 设置魔术


set guioptions-=T " 隐藏工具栏


set guioptions-=m " 隐藏菜单栏


"set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\


" 设置在状态行显示的信息


set foldcolumn=0


set foldmethod=indent


set foldlevel=3


set foldenable " 开始折叠


" 不要使用vi的键盘模式,而是vim自己的


set nocompatible


" 语法高亮


set syntax=on


" 去掉输入错误的提示声音


set noeb


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


set confirm


" 自动缩进


set autoindent


set cindent


" Tab键的宽度


set tabstop=4


" 统一缩进为4


set softtabstop=4


set shiftwidth=4


" 不要用空格代替制表符


set noexpandtab


" 在行和段开始处使用制表符


set smarttab


" 显示行号


set number


" 历史记录数


set history=1000


"禁止生成临时文件


set nobackup


set noswapfile


"搜索忽略大小写


set ignorecase


"搜索逐字符高亮


set hlsearch


set incsearch


"行内替换


set gdefault


"编码设置


set enc=utf-8


set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936


"语言设置


set langmenu=zh_CN.UTF-8


set helplang=cn


" 我的状态行显示的内容(包括文件类型和解码)


"set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}


"set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]


" 总是显示状态行


set laststatus=2


" 命令行(在状态行下)的高度,默认为1,这里是2


set cmdheight=2


" 侦测文件类型


filetype on


" 载入文件类型插件


filetype plugin on


" 为特定文件类型载入相关缩进文件


filetype indent on


" 保存全局变量


set viminfo+=!


" 带有如下符号的单词不要被换行分割


set iskeyword+=_,$,@,%,#,-


" 字符间插入的像素行数目


set linespace=0


" 增强模式中的命令行自动完成操作


set wildmenu


" 使回格键(backspace)正常处理indent, eol, start等


set backspace=2


" 允许backspace和光标键跨越行边界


set whichwrap+=<,>,h,l


" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)


set mouse=a


set selection=exclusive


set selectmode=mouse,key


" 通过使用: commands命令,告诉我们文件的哪一行被改变过


set report=0


" 在被分割的窗口间显示空白,便于阅读


set fillchars=vert:\ ,stl:\ ,stlnc:\


" 高亮显示匹配的括号


set showmatch


" 匹配括号高亮的时间(单位是十分之一秒)


set matchtime=1


" 光标移动到buffer的顶部和底部时保持3行距离


set scrolloff=3


" 为C程序提供自动缩进


set smartindent


" 高亮显示普通txt文件(需要txt.vim脚本)


au BufRead,BufNewFile * setfiletype txt


"自动补全


:inoremap ( ()i


:inoremap ) =ClosePair(')')


:inoremap { {}O


:inoremap } =ClosePair('}')


:inoremap [ []i


:inoremap ] =ClosePair(']')


:inoremap " ""i


:inoremap ' ''i


function! ClosePair(char)


if getline('.')[col('.') - 1] == a:char


return "\"


else


return a:char


endif


endfunction


filetype plugin indent on


"打开文件类型检测, 加了这句才可以用智能

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android问题-----SurfaceView类透.. 下一篇Android 弧形进度条

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·PostgreSQL 索引 - (2025-12-25 22:20:43)
·MySQL Node.js 连接 (2025-12-25 22:20:41)
·SQL 撤销索引、表以 (2025-12-25 22:20:38)
·Linux系统简介 (2025-12-25 21:55:25)
·Linux安装MySQL过程 (2025-12-25 21:55:22)