From 25586ccf316ed80d1176ddb1bd86dc9704c12fd7 Mon Sep 17 00:00:00 2001 From: taynpg Date: Mon, 29 Apr 2024 13:41:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0gvim=E7=9A=84=E9=85=8D?= =?UTF-8?q?=E7=BD=AE(=E7=90=86=E8=AE=BA=E6=94=AF=E6=8C=81=E9=BB=98?= =?UTF-8?q?=E8=AE=A4vim)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vim/gvim/_vimrc | 105 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 vim/gvim/_vimrc diff --git a/vim/gvim/_vimrc b/vim/gvim/_vimrc new file mode 100644 index 0000000..83e557b --- /dev/null +++ b/vim/gvim/_vimrc @@ -0,0 +1,105 @@ +" Vim with all enhancements +source $VIMRUNTIME/vimrc_example.vim + +let mapleader=" " +set number +syntax enable +filetype on +colorscheme morning +set guifont=Consolas:h14 +set lines=40 columns=150 +set shiftwidth=4 +set expandtab +set cursorline +set autoindent +set scrolloff=5 +set laststatus=2 +set hlsearch +set noswapfile +set undofile +set undodir=$VIM\.undo +set history=1000 +set encoding=utf-8 +set termencoding=utf-8 +set fileencoding=utf-8 +set fileencodings=ucs-bom,utf-8,chinese,cp936 +set clipboard=unnamed +set relativenumber + +:nnoremap s :wa +:nnoremap h :noh +:nnoremap 4j +:nnoremap 4k +:nnoremap 4k +:nnoremap 4j + +" 状态栏介绍 +" 设置状态行显示常用信息 +" %F 完整文件路径名 +" %m 当前缓冲被修改标记 +" %m 当前缓冲只读标记 +" %h 帮助缓冲标记 +" %w 预览缓冲标记 +" %Y 文件类型 +" %b ASCII值 +" %B 十六进制值 +" %l 行数 +" %v 列数 +" %p 当前行数占总行数的的百分比 +" %L 总行数 +" %{...} 评估表达式的值,并用值代替 +" %{"[fenc=".(&fenc==""?&enc:&fenc).((exists("+bomb") && &bomb)?"+":"")."]"} 显示文件编码 +" %{&ff} 显示文件类型 +" 设置 laststatus = 0 ,不显式状态行 +" 设置 laststatus = 1 ,仅当窗口多于一个时,显示状态行 +" 设置 laststatus = 2 ,总是显式状态行 +" 一个示例:set statusline=%<%0.32F[%M]\ %r%10.(%l,%c%)\ %p%%\ %=%{strftime(\"%H:%M\ -\ %d/%m/20%y")} +" %< "超过最长部分显示为< +" %0.32F "最短0,最长32 +" [%M] "内容发生修改后显示为+ +" %r%10.(%l,%c%) “显示行数和列数,10让这个单元的内容和前面的内容保持10格字符的距离 +" %= “对齐方向改变的分界点 +" %- ”对齐方向改变为右对齐 + +set laststatus=2 +set statusline=[%Y]\%{\"[\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\"+\":\"\").\"]\"}\[%{&ff}]\[%03.3b]\[%02.2B]\[%04l,%04v][%p%%]\[%L]\ %=%{strftime(\"%d/%m/%y\ -\ %H:%M\")}\ %=%F%m%r%h%w + + +" Use the internal diff if available. +" Otherwise use the special 'diffexpr' for Windows. +if &diffopt !~# 'internal' + set diffexpr=MyDiff() +endif +function MyDiff() + let opt = '-a --binary ' + if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif + if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif + let arg1 = v:fname_in + if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif + let arg1 = substitute(arg1, '!', '\!', 'g') + let arg2 = v:fname_new + if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif + let arg2 = substitute(arg2, '!', '\!', 'g') + let arg3 = v:fname_out + if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif + let arg3 = substitute(arg3, '!', '\!', 'g') + if $VIMRUNTIME =~ ' ' + if &sh =~ '\ ' . arg3 + if exists('l:shxq_sav') + let &shellxquote=l:shxq_sav + endif +endfunction +