shell脚本开发环境的配置和优化实践

vim路径等配置知识的整理见表:

相关配置文件 功能描述
.viminfo 用户使用vim的操作历史
.vimrc 当前用户vim的配置文件
/etc/vimrc 系统全局vim的配置文件
/usr/share/vim/vim74/colors/ 配色模板文件存放路径

.vimrc 的配置内容如下:

"~/.vimrc
" vim config file
" date 2018-01-07
" blog:http://aqiang.blog.51cto.com
" blog:http://www.cnblogs.com/ivan-yang
"""""""""""""""""""""""
" => 全局配置
"""""""""""""""""""""""
" 关闭兼容模式
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

" 使用空格来替换Tab
set expandtab

" 设置所有的Tab和缩进为4个空格
set tabstop=4

" 设定 << 和 >> 命令移动时的宽度为4
set shiftwidth=4

" 使得按退格键时可以一次删掉4个空格
set softtabstop=4

set smarttab

" 缩进,自动缩进(继承前一行的缩进)
" set autoindent 命令关闭自动缩进,是下面配置的缩写。
" 可使用autoindent 命令的简写,即“:set ai” 和 “:set noai”。
" 还可以使用“ :set ai sw=4” 在一个命令中打开缩进并设置缩进级别。
set ai

" 智能缩进
set si

" 自动换行
set wrap

" 设置软宽度
set sw=4

"""""""""""""""""""""""
" => Vim 界面
"""""""""""""""""""""""
" Turn on WiLd menu
set wildmenu

" 显示标尺
set ruler

" 设置命令行的高度
set cmdheight=1

" 显示行数
set nu

" Do not redrwa, when running macros.. lazyredrwa
set lz

" 设置退格
set backspace=eol,start,indent
set whichwrap+=<,>,h,l

" Set magic on(设置魔术)
set magic

" 关闭遇到错误时的声音提示
" 关闭错误信息响铃
set noerrorbells

" 关闭使用可视响铃代替呼叫
set novisualbell

" 显示匹配的括号([{ 和 }])
set showmatch

" How many tenths of a second to blink
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

" 粘贴不换行问题的解决方法
set pastetoggle=<F9>

" 设置背景色
set background=dark

" 设置高亮相关
highlight Search ctermbg=black ctermfg=white guifg=white guibg=black

" 在Shell脚本的开头自动增加解释器及作者等版权信息
autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
func SetTitle()
   if expand("%:e") == 'sh'
    call setline(1, "#!/bin/bash")
    call setline(2, "#Author: Yang YuanQiang")
    call setline(3, "#Blog1: http://aqiang.blog.51cto.com")
    call setline(4, "#Blog2: http://www.cnblogs.com/ivan-yang/")
    call setline(5, "#Time: ".strftime("%F %T"))
    call setline(6, "#Name: ".expand("%"))
    call setline(7, "#Version: V1.0")
    call setline(8, "#Description: This is a script.")
   endif
endfunc

让配置文件 .vimrc 生效

  将vim的配置文件 .vimrc 上传到Linux系统的“~”目录下,然后退出SSH客户端,重新登录,即可应用 .vimrc 里对应的设置。示例如下:

ls -lh ~/.vimrc

-rw-r--r-- 1 root root 1.4K 1 22 21:54 /Users/ivan/.vimrc 

提示:同样适用于普通用户。

  重新登录后,当使用 vim 时就会自动加载 .vimrc 设定的配置。