澳门在线威尼斯官方 > 电脑操作 > Vim配置持续记录

原标题:Vim配置持续记录

浏览次数:138 时间:2020-01-01

  1. 家目录创建.vimrc文件

"=========================================================================
" DesCRiption: 适合自己使用的vimrc文件
"
" Last Change: 2016年10月25日 15时13分
"
" Version: 1.80
"
"=========================================================================

  set nu    # 设置行号

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 一般设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 设定默认解码
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936

  set tabstop=4  # tab制表符缩进

" 配置多语言环境
if has("multi_byte")
" UTF-8 编码
set encoding=utf-8
set termencoding=utf-8
set formatoptions+=mM
set fencs=utf-8,gbk

  set autoindent  # 自动缩进

if v:lang =~? '^(zh)|(ja)|(ko)'
    set ambiwidth=double
endif

if has("win32")
    source $VIMRUNTIME/delmenu.vim
    source $VIMRUNTIME/menu.vim
    language messages zh_CN.utf-8
endif

***  set showmatch  # 括号匹配高亮

else
echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"
endif


" 不要使用vi的键盘模式,而是vim自己的
set nocompatible

  execute pathogen#infect()  # # # # # #
  **
syntax on           这三行是pathogen vim插件管理器配置**

" 启动的时候不显示那个援助索马里儿童的提示
set shortmess=atI

  ***filetype plugin indent on   # # # # # #*

"设定窗口大小
set lines=50 columns=155 " 设定窗口大小

***  colorscheme evening  # 颜色样式

"关闭 vi 兼容模式
set nocompatible


" history文件中需要记录的行数
set history=100

**  set laststatus=2    # 显示状态栏
  set statusline= %<%F[%1
%M%*%n%R%H]%= %y %0(%{&fileformat} [%{(&fenc==""?&enc:&fenc).(&bomb?",BOM":"")}] %c:%l/%L%)    # 状态栏显示格式 

" 在处理未保存或只读文件的时候,弹出确认
set confirm


" 与windows共享剪贴板
set clipboard+=unnamed

  map <F2> :NERDTreeToggle<CR>  # nerdtree 目录树,快捷键绑定,比如按F2可以打开或关闭目录列表**

" 设置字体 以及中文支持
set guifont=menlo:h14

**  let NERDTreeWinSize=20  # 设置nerdtree 目录树宽度**

" 侦测文件类型
filetype on

**  let NERDTreeShowHidden=1  # 设置显示隐藏文件**

" 设定配色方案
"colorscheme molokai
"colorscheme murphy
colorscheme evening

**  let NERDTreeIgnore=['.pyc','~$','.swp']   # 设置忽略的文件**

"syntax enable
"set background=yellow
"colorscheme solarized

**  let NERDTreeShowBookmarks=1  # 显示书签列表**

"显示行号
set number

**  let g:NERDTreeDirArrowExpandable = '▸'  # 设置目录前面的箭头样式**

" 突出显示当前行
set cursorline

**  let g:NERDTreeDirArrowCollapsible = '▾'**

" 打开状态栏标尺
set ruler

**  *inoremap ' ''<ESC>i    # 设置括号,引号匹配*

" 载入文件类型插件
filetype plugin on

*  *inoremap " ""<ESC>i**

" 开启插件
filetype plugin indent on

  inoremap ( ()<ESC>i
  inoremap [ []<ESC>i
  inoremap { {<CR>}<ESC>O

" 为特定文件类型载入相关缩进文件
filetype indent on

**2. 安装pathogen vim 插件管理器**

" 保存全局变量
set viminfo+=!

**  官方提供的安装方式在 和 ~/.vim/bundle目录,每个插件作为一个独立文件夹在bundle目录下**

" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-

**  安装插件: 比如:nerdtree, **git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree ``然后重启vim,按F12即可查看目录

" 语法高亮
syntax on

**  删除插件:进入~/.vim/bundle/下删除对应的插件目录即可**

" 用浅色高亮当前行
autocmd InsertLeave * se nocul

**  更新插件:进入具体的插件目录,执行 git pull origin**

" 用浅色高亮当前行
autocmd InsertEnter * se cul

**3. vim 在新标签页创建新文件: tabnew  路径/文件名**

"显示当前光标位置
set ruler

**   在新标签编辑已有文件:tabedit   路径/文件名**

"开启鼠标支持
set mouse=a

**   在标签页间切换: tabn 表示下一个标签**

" 高亮字符,让其不受100列限制
:highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
:match OverLength '%101v.*'

**   参考:

" 状态行颜色
highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight StatusLineNC guifg=Gray guibg=White

**4. vim多窗口分割及切换退出,参考:

" 高亮显示匹配的括号
set showmatch

**5. vim 使用tabnew 新建文件后,nerdtree目录树没有自动更新,先切换到目录列表,按shift + r,手动刷新**

" 设置在状态行显示的信息
set statusline=%F%m%r%h%w [FORMAT=%{&ff}] [TYPE=%Y] [POS=%l,%v/%L-%p%%] %{strftime("%d/%m/%y - %H:%M")}"")}}]

**6. vim在编辑时,需要撤销。先esc退出编辑状态,按u,撤销上次操作。crtl + r可恢复撤销**

" 显示中文帮助
if version >= 603
set helplang=cn
set encoding=utf-8
endif

**7. vim 命令行模式下删除一行,按dd。删除一个字符,按X。光标放在删除开始行,输入之后的行号,按dd可删除多行**

"中文菜单
"解决中文乱码问题
set fenc=chinese
set langmenu=zh_CN.UTF-8

**8. vim 单行,多行复制粘粘,参考:

"处理文本中显示乱码
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
set fileencoding=utf-8

**9. vim 命令行模式下: 按shift + o,在当前行上面插入空行,并进入插入模式; 按 o 在当前行下面插入空行,并进入插入模式**

"处理菜单及右键菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim

**10. vim 插入模式下: 先按ctrl + o 。之后,按shift + o 在当前行上面插入空行 ; 按o 在当前行下面插入空行**

"处理consle输出乱码
language messages zh_CN.utf-8
"中文乱码结束

**11. phpcomplete代码提示插件,vim7.0已上自带, 我的是8.0 故在/usr/share/vim/vim80/autoload/phpcomplete.vim**

" return OS type, eg: windows, or linux, mac, et.st..
function! MySys()
if has("win16") || has("win32") || has("win64") || has("win95")
return "windows"
elseif has("unix")
return "linux"
endif
endfunction

**  然后.vimrc中配置**

" 用户目录变量$VIMFILES
let $VIMFILES = $HOME.'/.vim'

**  filetype plugin on  # 这句我上面的已经配置了,这块只添加下面那句 
  autocmd FileType php set omnifunc=phpcomplete#CompletePHP**

" 设定doc文档目录
let helptags=$VIMFILES.'/doc'

**  使用方式:编辑模式输入函数 str_ , 按ctrl + x , 再按ctrl + o 就会展示函数列表可供选择**

" 关闭错误信息响铃
set noerrorbells

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

" 置空错误铃声的终端代码
set t_vb=

" 插入括号时,短暂地跳转到匹配的对应括号
set showmatch

" 短暂跳转到匹配括号的时间
set matchtime=2

" 设置魔术
set magic

" 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存
set hidden

" 隐藏工具栏
set guioptions-=T

" 隐藏菜单栏
set guioptions-=m

" 开启新行时使用智能自动缩进
set smartindent

" 不设定在插入状态无法用退格键和 Delete 键删除回车符
set backspace=indent,eol,start

" 设定命令行的行数为 1
set cmdheight=1

" 显示状态栏 (默认值为 1, 无法显示状态栏)
set laststatus=2

"显示垂直对齐线
" 显示tab和空格
set list
" 设置tab和空格样式
set lcs=tab:| ,nbsp:%,trail:-
" 设定行首tab为灰色
highlight LeaderTab guifg=#666666
" 匹配行首tab
match LeaderTab /^t/""""

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文件设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 不要备份文件(根据自己需要取舍)
set nobackup

" 设置备份时的行为为覆盖
set backupcopy=yes

" 自动切换当前目录为当前文件所在的目录
set autochdir

" 不要生成swap文件,当buffer被丢弃的时候隐藏它
setlocal noswapfile
set bufhidden=hide

" 字符间插入的像素行数目
set linespace=0

" 增强模式中的命令行自动完成操作
set wildmenu

" 在状态行上显示光标所在位置的行号和列号
set ruler
set rulerformat=%20(%2*%<%f%= %m%r %3l %c %p%%%)

" 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=2

" 使回格键(backspace)正常处理indent, eol, start等
set backspace=2

本文由澳门在线威尼斯官方发布于电脑操作,转载请注明出处:Vim配置持续记录

关键词:

上一篇:Vim的6种基本模式及基本操作

下一篇:CentOS7下升级python3x