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
    
  • 相关阅读:
    uva 408 Uniform Generator
    Java实现 蓝桥杯VIP 算法提高 栅格打印问题
    Java实现 蓝桥杯VIP 算法提高 栅格打印问题
    Java实现 蓝桥杯VIP 算法提高 栅格打印问题
    Java实现 蓝桥杯VIP 算法提高 打水问题
    Java实现 蓝桥杯VIP 算法提高 打水问题
    Java实现 蓝桥杯VIP 算法提高 打水问题
    Java实现 蓝桥杯VIP 算法提高 打水问题
    Java实现 蓝桥杯VIP 算法提高 不同单词个数统计
    Java实现 蓝桥杯VIP 算法提高 不同单词个数统计
  • 原文地址:https://www.cnblogs.com/ant-colonies/p/10979881.html
Copyright © 2011-2022 走看看