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