zoukankan      html  css  js  c++  java
  • Linux系统的vim编辑器的配置文件的初步说明

    vim 编辑器的基本说明

    vi编辑器的功能类似于Windows下的记事本,只能编辑普通文本,而vim编辑器则相当于Windows下的notepad++等高级编辑器,提升了代码开发效率。

    将vi命令默认定向到vim,需要做以下调整。

    vim 编辑器的的配置文件.vimrc的重要参数说明

    每个用户的家目录下面都可以创建一个.vimrc的vim配置文件,优化用户编程的环境并提高开发效率。如果想在整个环境中对vim开发环境进行优化,可将配置参数写入/etc/vimrc中。这样以后,所有用户可以使用优化后的开发环境。

    以下是一些常见的重要参数:

    '' ~/.vimrc
    '' vim config file
    '' date 2019-06-05
    '' Created by ant
    '' Blog:https://www.cnblogs.com/ant-colonies/
    
    ''''''''''''''''''''''''''''''''''
    '' => 全局变量
    ''''''''''''''''''''''''''''''''''
    
    '' 关闭兼容模式
    set nocompatible
    
    '' 历史记录数
    set history=100
    
    '' 开启相关插件
    filetype on
    filetype plugin on
    filetype indent on
    
    '' 当文件在外部被修改时,自动更新该文件
    set autoread
    
    '' 激活鼠标
    set mouse=a
    
    
    ''''''''''''''''''''''''''''''''''
    '' => 字体和颜色
    ''''''''''''''''''''''''''''''''''
    
    '' 语法检查
    syntax enable
    
    '' 字体
    ''set guifont=dejaVu Sans MONO 10
    ''
    '' 设置配色
    ''colorscheme desert
    
    '' 高亮显示光标所在行
    set cursorline
    hi cursorline guibg=#00ff00
    hi CursorColumn guibg=#00ff00
    
    
    ''''''''''''''''''''''''''''''''''
    '' => 代码折叠功能
    ''''''''''''''''''''''''''''''''''
    '' 激活代码折叠
    set foldenable
    
    '' 折叠方式 (可简写 set fdm=XX)
    ''manual   自定义折叠
    ''indent   更多的缩进表示更高级别的折叠
    ''expr     用表达式来定义折叠
    ''syntax   用语法来表示折叠
    ''diff     对没有更改的文本进行折叠
    ''marker   对文中的标志进行折叠
    set foldmethod=manual
    
    '' 折叠区域的宽度
    '' 如果不为0,则在屏幕左侧先是一个折叠的标识
    '' 这两个标识是"-"和"+",分别表示"打开"和"关闭"折叠的内容
    set foldcolumn=0
    
    '' 折叠层数
    setlocal foldlevel=3
    
    '' 自动关闭折叠
    set foldclose=all
    
    '' 用空格键来代替zo和zc快捷键实现开关折叠
    ''zo O-pen a fold 
    ''zc C-lose a fold
    ''zf F-old creation  创建折叠
    nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
    
    set nofen
    set fdl=0
    
    
    ''''''''''''''''''''''''''''''''''
    '' => 文字处理
    ''''''''''''''''''''''''''''''''''
    
    '' 使用空格代替Tab
    set expandtab
    
    '' 所有的Tab和缩进为4个空格
    set tabstop=4
    
    '' 设定 << 和 >>命令移动时的宽度为4
    set shiftwidth=4
    
    '' 退格键一次删除4个空格
    set softtabstop=4
    
    set smarttab
    
    '' 缩进,自动缩进(继承前一行的缩进)
    '' set autoindent命令自动缩进, autoindent 缩写为 ai
    '' set ai 自动缩进; set noai 无自动缩进,可在vim打开的文件临时(:set ai)
    '' 可使用":set ai sw=4" 打开缩进并设置缩进级别
    set ai
    
    '' samrt indent,智能缩进
    set si
    
    '' 自动换行
    set wrap
    '' soft width,软宽度
    set sw=4
    
    
    ''''''''''''''''''''''''''''''''''
    '' => Vim界面
    ''''''''''''''''''''''''''''''''''
    
    '' Turn on wild menu
    set wildmenu
    
    '' 显示标尺
    set ruler
    
    '' 命令行高度
    set cmdheight=1
    
    '' Do not redraw, when running macro.. lazyredraw
    set lz
    
    '' 退格
    set backspace=eol,start,indent
    
    '' backspace and cursor keys wrap to
    set whichwrap+=<,>,h,l
    
    '' Set magic on 魔数打开
    set magic
    
    '' 关闭错误响铃
    set noerrorbells
    
    '' 关闭可视响铃
    set novisualbell
    
    '' 显示匹配的括号 ([{ 和 }])
    set showmatch
    
    '' How many tenths of a second to blink, 光标一秒钟闪烁的多说个10次
    set mat=2
    
    '' 高亮显示搜索到的内容
    set hlsearch
    
    '' 搜索时不区分大小写,命令行缩写 :set ic  :set noic
    set ignorecase
    
    
    ''''''''''''''''''''''''''''''''''
    '' => 编码设置
    ''''''''''''''''''''''''''''''''''
    
    set encoding=utf-8
    
    '' 文件编码
    set fileencodings=utf-8
    
    '' 终端编码
    set termencoding=utf-8
    
    
    ''''''''''''''''''''''''''''''''''
    '' => 其他设置
    ''''''''''''''''''''''''''''''''''
    
    '' 智能缩进
    set smartindent
    set cin
    set showmatch
    
    '' 隐藏工具栏
    set guioptions-=T
    
    '' 隐藏菜单栏
    set guioptions-=m
    
    '' 置空错误铃声的终端代码
    set vb t_vb=
    
    '' 显示状态栏 (默认为1,表示无法显示状态栏)
    set laststatus=2
    
    '' 粘贴不换行问题的解决办法功能键 F9
    set pastetoggle=<F9>
    
    '' 背景颜色
    set background=dark
    
    '' 高亮相关
    highlight Search ctermbg=black ctermfg=white guifg=white guibg=black 
    
    
    '' Shell script 的开头自动增加解释器及其他信息
    autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
    func SetTitle()
        if expand("%:e") == 'sh'
    	    call setline(1, "##!/bin/bash")
    		call setline(2, "#Author:ant")
    		call setline(3, "#Blog:https://www.cnblogs.com/ant-colonies/")
    		call setline(4, "#Time:".strftime("%F %T"))
    		call setline(5, "#Name:".expand("%"))
    		call setline(6, "#Version:V1.0")
    		call setline(7, "#Discription:This is a test script.")
        endif
    endfunc
    
    set nocompatible
    set history=100
    filetype on
    filetype plugin on
    filetype indent on
    set autoread
    set mouse=a
    syntax enable
    set cursorline
    hi cursorline guibg=#00ff00
    hi CursorColumn guibg=#00ff00
    set nofen
    set fdl=0
    set expandtab
    set tabstop=4
    set shiftwidth=4
    set softtabstop=4
    set smarttab
    set ai
    set si
    set wrap
    set sw=4
    set wildmenu
    set ruler
    set cmdheight=1
    set lz
    set backspace=eol,start,indent
    set whichwrap+=<,>,h,l
    set magic
    set noerrorbells
    set novisualbell
    set showmatch
    set mat=2
    set hlsearch
    set ignorecase
    set encoding=utf-8
    set fileencodings=utf-8
    set termencoding=utf-8
    set smartindent
    set cin
    set showmatch
    set guioptions-=T
    set guioptions-=m
    set vb t_vb=
    set laststatus=2
    set pastetoggle=<F9>
    set background=dark
    highlight Search ctermbg=black ctermfg=white guifg=white guibg=black 
    autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
    func SetTitle()
        if expand("%:e") == 'sh'
    	    call setline(1, "##!/bin/bash")
    		call setline(2, "#Author:ant")
    		call setline(3, "#Blog:https://www.cnblogs.com/ant-colonies/")
    		call setline(4, "#Time:".strftime("%F %T"))
    		call setline(5, "#Name:".expand("%"))
    		call setline(6, "#Version:V1.0")
    		call setline(7, "#Discription:This is a test script.")
        endif
    endfunc
    
  • 相关阅读:
    Linux 系统监控和诊断工具:lsof
    C语言基础(21)-C语言编译过程及GCC参数简介
    VS2013-解决VS2013 4996错误
    C语言基础(20)-文件操作(fopen,getc,fclose)
    eclipse-Java compiler level does not match the version of the installed Java project facet.
    C语言基础(19)-结构体,联合体,枚举和typedef
    android studio- Gradle "xxx" project refresh failed
    C语言基础(18)-内存
    C语言基础(17)-作用域
    android.app.Service-android:process=":remote"属性解说
  • 原文地址:https://www.cnblogs.com/ant-colonies/p/10979881.html
Copyright © 2011-2022 走看看