zoukankan      html  css  js  c++  java
  • VIM编辑器进阶配置

    vim自定义设置

           可以选择需要的功能添加至 ~/.vimrc 打开注释使之生效。

    " 让 vim 关闭所有扩展的功能,尽量模拟 vi 的行为。
    set nocompatible
    " 默认是8色的,开启256色支持
    set t_Co=256
    " 突出显示当前行,即横线
    set cursorline
    " 隐藏工具栏
    set guioptions-=T
    " 隐藏菜单栏
    set guioptions-=m
    " 设置在状态行显示的信息
    set foldcolumn=0
    " 不要使用vi的键盘模式,而是vim自己的
    set nocompatible
    " 语法高亮
    set syntax=on
    " 去掉输入错误的提示声音
    set noeb
    " Tab键的宽度
    set tabstop=4
    " 统一缩进为4
    set softtabstop=4
    " 历史记录数
    set history=1000
    " 禁止生成临时文件
    set nobackup
    " 禁止生成临时文件
    set noswapfile
    " 搜索忽略大小写
    set ignorecase
    " 搜索逐字符高亮
    set hlsearch
    " 输入搜索内容时就显示搜索结果
    set incsearch
    " 高亮显示匹配的括号
    set showmatch
    " 匹配括号高亮的时间(单位是十分之一秒)
    set matchtime=1
    " 光标移动到buffer的顶部和底部时保持3行距离
    set scrolloff=3
    " 输入的命令显示出来,看的清楚些
    set showcmd
    " 打开状态栏标尺
    set ruler
    " filetype on
    " 开始折叠
    " set foldenable
    " 显示行号
    " set number
    " 通过使用: commands命令,告诉我们文件的哪一行被改变过
    " set report=0
    " 设置魔术
    " set magic
    " 设置当文件被改动时自动载入
    " set autoread
    " 代码补全
    " set completeopt=preview,menu
    " 允许插件
    " filetype plugin on
    " 共享剪贴板
    " set clipboard=unnamed	
    " 从不备份
    " set nobackup
    " make 运行
    " set makeprg=g++ -Wall  %
    " 自动保存
    " set autowrite					
    " set foldmethod=indent
    " set foldlevel=3
    " 在处理未保存或只读文件的时候,弹出确认
    " set confirm
    " 自动缩进
    " set autoindent				
    " set cindent
    " 把tabs转换成空格
    " set shiftwidth=4
    " 不要用空格代替制表符
    " set noexpandtab
    " 在行和段开始处使用制表符
    " set smarttab
    " 行内替换
    " set gdefault
    " 为C程序提供自动缩进
    " set smartindent
    " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位,鼠标选择)				
    " set mouse=a					
    " 为了使代码风格尽量保持一致,一般不允许在代码使用TAB符,而以4个空格代之。如下只在编辑c和cpp文件时实行这种设置了
    " autocmd FileType c,cpp set shiftwidth=4 | set expandtab
    " 在被分割的窗口间显示空白,便于阅读
    " set fillchars=vert: ,stl: ,stlnc:
    " 允许backspace和光标键跨越行边界,方向键自动换行
    " set whichwrap+=<,>,h,l
    " 我的状态行显示的内容(包括文件类型和解码)
    " 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
    " 状态栏定义
    " set statusline= %<%F[%1*%M%*%n%R%H]%= %y %0(%{&fileformat} %{&encoding} %c:%l/%L%)
    
    
    " 映射全选+复制 ctrl+a
    map <C-A> ggVGY
    " 选中状态下 Ctrl+c 复制
    vmap <C-c> "+y
    
    "新建.c,.h,.sh,.java文件,自动插入文件头
    autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
    func SetTitle()
    	if &filetype == 'sh'
    		call setline(1, "#!/bin/bash")
    		call append(line("."), "# File Name: ".expand("%"))
    		call append(line(".")+1, "# Intro: *****")
    		call append(line(".")+2, "# mail: *****@163.com")
    		call append(line(".")+3, "# Created Time: ".strftime("%c"))
    		call append(line(".")+4, "#-------------------------------")
    		call append(line(".")+5, "")
    	else
    		call setline(1, "/*************************************************************************")
    		call append(line("."), "	> File Name: ".expand("%"))
    		call append(line(".")+1, "	> Intro: *****")
    		call append(line(".")+2, "	> Mail: *****@163.com")
    		call append(line(".")+3, "	> Created Time: ".strftime("%c"))
    		call append(line(".")+4, " ************************************************************************/")
    		call append(line(".")+5, "")
    	endif
    	if &filetype == 'cpp'
    		call append(line(".")+6, "#include<iostream>")
        	call append(line(".")+7, "using namespace std;")
    		call append(line(".")+8, "")
    	endif
    	if &filetype == 'c'
    		call append(line(".")+6, "#include<stdio.h>")
    		call append(line(".")+7, "")
    	endif
    endfunc
    " 新建文件后,自动定位到文件末尾
    autocmd BufNewFile * normal G
    


    作者:Outsrkem
    出处:https://www.cnblogs.com/outsrkem/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    使用 GitHub, Jekyll 打造自己的免费独立博客
    如何解决数据科学计数法在数据库中的显示
    RDF
    C# 在 4.0 以后一共有3种创建线程的方式
    C#多线程
    1、框架概述
    3、IDEA 中使用 Maven
    2、Maven 核心概念
    1、Maven 概述
    JDK动态代理
  • 原文地址:https://www.cnblogs.com/outsrkem/p/11237626.html
Copyright © 2011-2022 走看看