{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":"after","path":"after","contentType":"directory"},{"name":"autoload","path":"autoload","contentType":"directory"},{"name":"colors","path":"colors","contentType":"directory"},{"name":"config","path":"config","contentType":"directory"},{"name":"doc","path":"doc","contentType":"directory"},{"name":"ftdetect","path":"ftdetect","contentType":"directory"},{"name":"ftplugin","path":"ftplugin","contentType":"directory"},{"name":"indent","path":"indent","contentType":"directory"},{"name":"keymap","path":"keymap","contentType":"directory"},{"name":"nerdtree_plugin","path":"nerdtree_plugin","contentType":"directory"},{"name":"pack","path":"pack","contentType":"directory"},{"name":"plugin","path":"plugin","contentType":"directory"},{"name":"rcode","path":"rcode","contentType":"directory"},{"name":"signs","path":"signs","contentType":"directory"},{"name":"snippets","path":"snippets","contentType":"directory"},{"name":"so","path":"so","contentType":"directory"},{"name":"spell","path":"spell","contentType":"directory"},{"name":"syntax","path":"syntax","contentType":"directory"},{"name":"templates","path":"templates","contentType":"directory"},{"name":".VimballRecord","path":".VimballRecord","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"abbreviate.vim","path":"abbreviate.vim","contentType":"file"},{"name":"coc-settings.json","path":"coc-settings.json","contentType":"file"},{"name":"filetype.vim","path":"filetype.vim","contentType":"file"},{"name":"scripts.vim","path":"scripts.vim","contentType":"file"},{"name":"vimrc","path":"vimrc","contentType":"file"},{"name":"vimrc.py","path":"vimrc.py","contentType":"file"}],"totalCount":28}},"fileTreeProcessingTime":6.018495,"foldersToFetch":[],"repo":{"id":2272878,"defaultBranch":"master","name":"dotvim","ownerLogin":"lilydjwg","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-08-26T07:36:48.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/440661?v=4","public":true,"private":false,"isOrgOwned":false},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1681054279.0","canEdit":false,"refType":"branch","currentOid":"0a6669bb32ca9785946f0e38c0fa64f790e09658"},"path":"vimrc","currentUser":null,"blob":{"rawLines":["scriptencoding utf-8","\" ========================================================================","\" 依云(lilydjwg) 的 vimrc","\" 我的博客: https://blog.lilydjwg.me/","\"","\" 整个配置仅适用于本人","\" 不过,其中的部分配置很可能非常适合你哦~~","\" 不要整个地照搬,只复制对你自己有用的部分!","\"","\" 有任何意见和建议,或者其它想说的,可以到我的博客留言。","\"","\" 许可:GPLv3","\" ========================================================================","\" 其他文件[[[1","try"," packadd! matchit","catch /.*/"," runtime macros/matchit.vim","endtry","runtime vimrc_example.vim","\"]]]","\" 我的设置","\" 函数[[[1","\" 复制缓冲区到新标签页[[[2","function Lilydjwg_copy_to_newtab()"," let temp = tempname()"," try"," let nr = bufnr('%')"," exec \"mkview\" temp"," tabnew"," silent exec \"source\" temp"," finally"," call delete(temp)"," endtry","endfunction","\" 删除所有未显示且无修改的缓冲区以减少内存占用[[[2","function Lilydjwg_cleanbufs()"," for bufNr in filter(range(1, bufnr('$')),"," \\ 'buflisted(v:val) && !bufloaded(v:val)')"," execute bufNr . 'bdelete'"," endfor","endfunction","\" 转成 HTML,只要 pre 标签部分[[[2","\" http://bootleq.blogspot.com/2012/12/tohtml-html-document-function-tohtmldoc.html","function Lilydjwg_to_html(line1, line2)"," let save_number = get(g:, 'html_number_lines', -1)"," let g:html_number_lines = 0"," call tohtml#Convert2HTML(a:line1, a:line2)"," setlocal buftype=nofile bufhidden=hide noswapfile nobuflisted"," call search(\"
\")"," normal! dit"," %delete _"," let @\" = '' . substitute(@\", '\\v^\\n\\s*', '', '') . ''"," call setline(1, split(@\", '\\n'))"," if save_number > -1"," let g:html_number_lines = save_number"," else"," unlet g:html_number_lines"," endif","endfunction","\" 获取可读的文件大小[[[2","function Lilydjwg_getfsize(file)"," let size = getfsize(a:file)"," if has('python3')"," try"," py3 from myutils import filesize"," return py3eval('filesize('.size.')')"," catch /.*/"," endtry"," endif"," return size . 'B'","endfunction","\" 打开 NERDTree,使用当前文件目录或者当前目录[[[2","function Lilydjwg_NERDTreeOpen()"," if exists(\"t:NERDTreeBufName\")"," NERDTreeToggle"," else"," try"," NERDTree `=expand('%:h')`"," catch /E121/"," NERDTree `=getcwd()`"," endtry"," endif","endfunction","\" Perl-style quoted lists[[[2","function Lilydjwg_qw()"," let in = input('qw(')"," return py3eval('LilyQw(\"'.escape(in, '\"\\').'\")')","endfunction","\" 使用分隔符连接多行 [[[2","function Lilydjwg_join(sep, bang) range"," if a:sep[0] == '\\'"," let sep = strpart(a:sep, 1)"," else"," let sep = a:sep"," endif"," let lines = getline(a:firstline, a:lastline)"," if a:firstline == 1 && a:lastline == line('$')"," let dellast = 1"," else"," let dellast = 0"," endif"," exe a:firstline . ',' . a:lastline . 'd_'"," if a:bang != '!'"," call map(lines, \"substitute(v:val, '^\\\\s\\\\+\\\\|\\\\s\\\\+$', '', 'g')\")"," endif"," call append(a:firstline-1, join(lines, sep))"," if dellast"," $d_"," endif","endfunction","\" 切换显示行号/相对行号/不显示 [[[2","function Lilydjwg_toggle_number()"," if &nu && &rnu"," set nonu nornu"," elseif &nu && !&rnu"," set rnu"," else"," set nu"," endif","endfunction","\" 更改缩进[[[2","function Lilydjwg_reindent(...)"," if a:0 != 2"," echoerr \"需要两个参数\""," endif"," let save_et = &et"," let save_ts = &ts"," try"," let &ts = a:1"," set noet"," retab!"," let &ts = a:2"," set et"," retab!"," let &l:sw = a:2"," finally"," let &et = save_et"," let &ts = save_ts"," endtry","endfunction","\" 将当前窗口置于屏幕中间(全屏时用)[[[2","function CenterFull()"," on"," vs"," ene"," setl nocul"," setl nonu"," 40winc |"," winc l"," vs"," winc l"," ene"," setl nocul"," setl nonu"," 40winc |"," winc h"," redr!","endfunction","\" 使用 colorpicker 程序获取颜色值(hex/rgba)[[[2","function Lilydjwg_colorpicker()"," if exists(\"g:last_color\")"," let color = substitute(system(\"colorpicker \".shellescape(g:last_color)), '\\n', '', '')"," else"," let color = substitute(system(\"colorpicker\"), '\\n', '', '')"," endif"," if v:shell_error == 1"," return ''"," elseif v:shell_error == 2"," \" g:last_color 值不对"," unlet g:last_color"," return Lilydjwg_colorpicker()"," else"," let g:last_color = color"," return color"," endif","endfunction","\" 更改光标下的颜色值(hex/rgba/rgb)[[[2","function Lilydjwg_changeColor()"," let color = Lilydjwg_get_pattern_at_cursor('\\v\\#[[:xdigit:]]{6}(\\D|$)@=|=LookFurther(0) ","inoremap =LookFurther(1) ","\" 对齐命令[[[2","function Lilydjwg_Align(type) range"," try"," let pat = g:Myalign_def[a:type]"," catch /^Vim\\%((\\a\\+)\\)\\=:E716/"," echohl ErrorMsg"," echo \"对齐方式\" . a:type . \"没有定义\""," echohl None"," return"," endtry"," call Align#AlignPush()"," call Align#AlignCtrl(pat[0])"," if len(pat) == 3"," call Align#AlignCtrl(pat[2])"," endif"," exe a:firstline.','.a:lastline.\"call Align#Align(0, '\". pat[1] .\"')\""," call Align#AlignPop()","endfunction","function Lilydjwg_Align_complete(ArgLead, CmdLine, CursorPos)"," return filter(keys(g:Myalign_def), 'stridx(v:val, a:ArgLead) == 0')","endfunction","\" 退格删除自动缩进 [[[2","function! Lilydjwg_checklist_bs(pat)"," \" 退格可清除自动出来的列表符号"," if getline('.') =~ a:pat"," let ind = indent(line('.')-1)"," if !ind"," let ind = indent(line('.')+1)"," endif"," call setline(line('.'), repeat(' ', ind))"," return \"\""," else"," return \"\\ \""," endif","endfunction","\" 字典补全 与 [[[2","function Lilydjwg_dictcomplete()"," if pumvisible()"," return \"\\ \""," else"," return \"\\ \\ \""," endif","endfunction","\" 返回当前日期的中文表示[[[2","function Lilydjwg_zh_date()"," let d = strftime(\"%Y年%m月%d日\")"," let d = substitute(d, '[年月]\\@<=0', '', 'g')"," return d","endfunction","\" 关闭某个窗口[[[2","function Lilydjwg_close(winnr)"," let winnum = bufwinnr(a:winnr)"," if winnum == -1"," return 0"," endif"," \" Goto the workspace window, close it and then come back to the"," \" original window"," let curbufnr = bufnr('%')"," exe winnum . 'wincmd w'"," close"," \" Need to jump back to the original window only if we are not"," \" already in that window"," let winnum = bufwinnr(curbufnr)"," if winnr() != winnum"," exe winnum . 'wincmd w'"," endif"," return 1","endfunction","\" 补全 So 命令[[[2","function Lilydjwg_complete_So(ArgLead, CmdLine, CursorPos)"," let path = 'so/' . a:ArgLead . '*'"," let ret = split(globpath(&rtp, path), '\\n')"," call filter(ret, 'v:val =~ \"\\.vim$\"')"," \" XXX 如果文件名特殊则可能不对"," call map(ret, 'fnamemodify(v:val, '':t:r'')')"," return ret","endfunction","\" 取得光标处的匹配[[[2","function Lilydjwg_get_pattern_at_cursor(pat)"," let col = col('.') - 1"," let line = getline('.')"," let ebeg = -1"," let cont = match(line, a:pat, 0)"," while (ebeg >= 0 || (0 <= cont) && (cont <= col))"," let contn = matchend(line, a:pat, cont)"," if (cont <= col) && (col < contn)"," let ebeg = match(line, a:pat, cont)"," let elen = contn - ebeg"," break"," else"," let cont = match(line, a:pat, contn)"," endif"," endwhile"," if ebeg >= 0"," return strpart(line, ebeg, elen)"," else"," return \"\""," endif","endfunction","\" 切换配色方案[[[2","function Lilydjwg_toggle_color()"," let colors = ['pink_lily', 'lilypink', 'darkBlue', 'spring2']"," \" spring2 是增加了彩色终端支持的 spring"," if !exists(\"g:colors_name\")"," let g:colors_name = 'pink_lily'"," endif"," let i = index(colors, g:colors_name)"," let i = (i+1) % len(colors)"," exe 'colorscheme' get(colors, i)","endfunction","\" %xx -> 对应的字符(到消息)[[[2","function Lilydjwg_hexchar()"," let chars = Lilydjwg_get_pattern_at_cursor('\\(%[[:xdigit:]]\\{2}\\)\\+')"," if chars == ''"," echohl WarningMsg"," echo '在光标处未发现%表示的十六进制字符串!'"," echohl None"," return"," endif"," let str = substitute(chars, '%', '\\\\x', 'g')"," exe 'echo \"'. str . '\"'","endfunction","\" 用火狐打开链接[[[2","function Lilydjwg_open_url()"," let s:url = Lilydjwg_get_pattern_at_cursor('\\v%(https?|ftp)://[^]''\" \\t\\r\\n>*。,\\`)]*')"," if s:url == \"\""," echohl WarningMsg"," echomsg '在光标处未发现URL!'"," echohl None"," else"," echo '打开URL:' . s:url"," if has(\"win32\") || has(\"win64\")"," \" start 不是程序,所以无效。并且,cmd 只能使用双引号"," \" call system(\"start '\" . s:url . \"'\")"," call system(\"cmd /q /c start \\\"\" . s:url . \"\\\"\")"," elseif has(\"mac\")"," call system(\"open '\" . s:url . \"'\")"," else"," \" call system(\"gnome-open \" . s:url)"," call system(\"xdg-open '\" . s:url . \"' &\")"," endif"," endif"," unlet s:url","endfunction","\" Title Save [[[2","function Lilydjwg_TSave()"," let line = getline(1)"," if line =~ '^\\s*$'"," let line = getline(2)"," endif"," let line = substitute(line, '[:/\\\\]', '-', 'g')"," let line = substitute(line, '^\\s\\+', '', 'g')"," let line = substitute(line, '\\s\\+$', '', 'g')"," let line = substitute(line, ' ', '\\\\ ', 'g')"," let line = substitute(line, '\\r', '', 'g')"," exe 'sav ' . line . '.txt'","endfunction","\" 切换 ve [[[2","function Lilydjwg_toggle_ve()"," if &ve == 'all'"," let &ve = ''"," else"," let &ve = 'all'"," endif","endfunction","\" 切换 ambiwidth [[[2","function Lilydjwg_toggle_ambiwidth()"," if &ambiwidth == 'double'"," let &ambiwidth = 'single'"," else"," let &ambiwidth = 'double'"," endif","endfunction","\" 是否该调用 cycle?[[[2","function Lilydjwg_trycycle(dir)"," let pat = Lilydjwg_get_pattern_at_cursor('[+-]\\?\\d\\+')"," if pat"," if a:dir ==? 'x'"," return \"\\ \""," else"," return \"\\ \""," end"," else"," let mode = mode() =~ 'n' ? 'w' : 'v'"," let dir = a:dir ==? 'x' ? -1 : 1"," return \":\\ call Cycle('\" . mode . \"', \" . dir . \", v:count1)\\ \""," end","endfunction","\" format the whole file [[[2","function Lilydjwg_formatall()"," let v = winsaveview()"," keepjumps normal! gg=G"," call winrestview(v)","endfunction","\" set 相关[[[1","\" 一般设置[[[2","\" maybe necessary when root","syntax on","set number","set smarttab","set expandtab","\" 不要响铃,更不要闪屏","set visualbell t_vb=","\" when will this cause problems?","set ttyfast","set title","\" 不要包含标准错误,但是允许 Vim 初始化其默认值","autocmd VimEnter * set shellredir=>","autocmd GUIEnter * set t_vb=","\" ! is for histwin to save tags","set viminfo='100,:10000,<50,s10,h,!","set history=10000","set wildmenu","set delcombine \" 组合字符一个个地删除","set laststatus=2 \" 总是显示状态栏","\" 首先尝试最长的,接着轮换补全项","set wildmode=longest:full,full","set ambiwidth=double","set shiftround","set diffopt+=vertical,context:3,foldcolumn:0","if &diffopt =~ 'internal'"," set diffopt+=indent-heuristic,algorithm:patience","endif","set fileencodings=ucs-bom,utf-8,gb18030,cp936,latin1","set fileformats=unix,dos,mac","set formatoptions=croqn2mB1","try"," \" Vim 7.4"," set formatoptions+=j","catch /.*/","endtry","set nojoinspaces","set virtualedit=block","set nostartofline","\" set guioptions=egmrLtai","set guioptions=acit","\" 没必要,而且很多时候 = 表示赋值","set isfname-==","set nolinebreak","set nowrapscan","set scrolloff=5","set sessionoptions=blank,buffers,curdir,folds,help,options,tabpages,winsize,slash,unix,resize","set shiftwidth=2","set winaltkeys=no","set noequalalways","set listchars=eol:$,tab:>-,nbsp:␣","set display=lastline","set completeopt+=longest","try"," set completeopt+=popup"," set completepopup=border:off","catch /.*/","endtry","set maxcombine=4","set cedit= ","set whichwrap=b,s,[,]","set tags+=./tags;","try"," set matchpairs=(:),{:},[:],《:》,〈:〉,[:],(:),「:」,『:』,‘:’,“:”","catch /^Vim\\%((\\a\\+)\\)\\=:E474/","endtry","\" Avoid command-line redraw on every entered character by turning off Arabic","\" shaping (which is implemented poorly).","if has('arabic')"," set noarabicshape","endif","set wildignore+=*~,*.py[co],__pycache__,.*.swp","set shortmess-=S","if !has(\"patch-8.1.1270\")"," try"," packadd! vim-searchindex"," catch /.*/"," endtry","endif","\" will make termux mouse not work https://github.com/vim/vim/issues/7422","\" if exists('&balloonevalterm')","\" set balloonevalterm","\" endif","try"," set signcolumn=number","catch /.*/","endtry","set grepprg=grep\\ -nH\\ $*","if has('&clipboard')"," set clipboard=autoselect,html,exclude:cons\\|linux","endif","set tabpagemax=50","\" make it unusable so it won't clash","set termwinkey= ","set backup backupcopy=no","\" Linux 与 Windows 等 [[[2","if has(\"gui_macvim\")"," set macmeta","end","if has(\"win32\") || has(\"win64\")"," let g:vimfiles = split(&runtimepath, ',')[1]"," let g:mytmpdir = $TMP"," if has('directx')"," set renderoptions=type:directx"," endif","else"," \" Linux 路径 [[[3"," let g:vimfiles = split(&runtimepath, ',')[0]"," if exists('$VIMTMP')"," let g:mytmpdir = $VIMTMP"," else"," let g:mytmpdir = expand(\"~/tmpfs\")"," endif"," let g:MuttVim_configfile = expand('~/scripts/python/pydata/muttvim.json')"," cnoremap getcmdtype() == ':' ? '~/tmpfs/' : \"\\ \""," \" cron 的目录不要备份"," set backupskip+=/etc/cron.*/*"," set backupdir=.,/var/tmp,/tmp","endif","\" 语言相关 [[[3","if $LANGUAGE =~ '^zh' || ($LANGUAGE == '' && v:lang =~ '^zh')"," \" 缓冲区号 文件名 行数 修改 帮助 只读 编码 换行符 BOM ======== 字符编码 位置 百分比位置"," set statusline=%n\\ %<%f\\ %L行\\ %{&modified?'[+]':&modifiable\\|\\|&ft=~'^\\\\vhelp\\|qf$'?'':'[-]'}%h%r%{&fenc=='utf-8'\\|\\|&fenc==''?'':'['.&fenc.']'}%{&ff=='unix'?'':'['.&ff.']'}%{&bomb?'[BOM]':''}%{&eol?'':'[noeol]'}%{&diff?'[diff]':''}%=\\ 0x%-4.8B\\ \\ \\ \\ %-14.(%l,%c%V%)\\ %P","else"," set statusline=%n\\ %<%f\\ %LL\\ %{&modified?'[+]':&modifiable\\|\\|&ft=~'^\\\\vhelp\\|qf$'?'':'[-]'}%h%r%{&fenc=='utf-8'\\|\\|&fenc==''?'':'['.&fenc.']'}%{&ff=='unix'?'':'['.&ff.']'}%{&bomb?'[BOM]':''}%{&eol?'':'[noeol]'}%{&diff?'[diff]':''}%=\\ 0x%-4.8B\\ \\ \\ \\ %-14.(%l,%c%V%)\\ %P","endif","\" 路径相关 [[[3","let g:VEConf_favorite = g:vimfiles . \"/ve_favorite\"","let g:NERDTreeBookmarksFile = g:vimfiles . \"/NERDTreeBookmarks\"","let g:dictfilePrefix = g:vimfiles . \"/dict/\"","if has(\"python3\")"," exe \"py3file\" g:vimfiles . \"/vimrc.py\"","endif","if isdirectory(expand(\"/run/user/$UID\"))"," let g:undodir = expand(\"/run/user/$UID/vimundo\")","else"," let g:undodir = g:mytmpdir . \"/.vimundo\"","endif","let &errorfile = g:mytmpdir . \"/.error\"","\" 图形与终端 [[[2","let g:colors_name = 'lilypink'","let &t_EI = \"\\e[2 q\"","let &t_SI = \"\\e[6 q\"","let &t_SR = \"\\e[4 q\"","if has(\"gui_running\")"," set mousemodel=popup"," \" 有些终端不能改变大小"," set columns=88"," set lines=38"," set cursorline","elseif has(\"unix\")"," set ambiwidth=single"," if $COLORTERM == 'truecolor'"," set cursorline"," set termguicolors"," let &t_8f = \"\\ [38;2;%lu;%lu;%lum\""," let &t_8b = \"\\ [48;2;%lu;%lu;%lum\""," elseif &term =~ '256color\\|nvim'"," set cursorline"," else"," \" 在Linux文本终端下非插入模式显示块状光标"," if &term == \"linux\" || &term == \"fbterm\""," exec \"set t_ve+=\\033[?6c\""," autocmd InsertEnter * exec \"set t_ve-=\\033[?6c\""," autocmd InsertLeave * exec \"set t_ve+=\\033[?6c\""," \" autocmd VimLeave * exec \"set t_ve-=\\033[?6c\""," endif"," if &term == \"fbterm\""," set cursorline"," elseif $TERMCAP =~ 'Co#256'"," set t_Co=256"," set cursorline"," else"," \" 暂时只有这个配色比较适合了"," let g:colors_name = 'default'"," endif"," endif","elseif has('win32') && exists('$CONEMUBUILD')"," \" enable 256 colors in ConEmu on Win"," set term=xterm"," set t_Co=256"," let &t_AB=\"\\e[48;5;%dm\""," let &t_AF=\"\\e[38;5;%dm\""," set cursorline","endif","exe \"colorscheme\" g:colors_name","\" bracketed paste mode support for tmux","if &term =~ '^screen\\|^tmux' && exists('&t_BE')"," let &t_BE = \"\\033[?2004h\""," let &t_BD = \"\\033[?2004l\""," \" t_PS and t_PE are key code options and they are special"," exec \"set t_PS=\\033[200~\""," exec \"set t_PE=\\033[201~\"","endif","if &term =~ '^screen\\|^tmux'"," \" This may leave mouse in use by terminal application"," \" exec \"set t_RV=\\033Ptmux;\\033\\033[>c\\033\\\\\""," set ttymouse=sgr"," if &t_GP == ''"," \" for getwinpos"," exec \"set t_GP=\\033Ptmux;\\033\\033[13t\\033\\\\\""," endif"," \" Enable modified arrow keys, see :help arrow_modifiers"," execute \"silent! set =\\ [@;*A\""," execute \"silent! set =\\ [@;*B\""," execute \"silent! set =\\ [@;*C\""," execute \"silent! set =\\ [@;*D\"","endif","\" 不同的 Vim 版本 [[[2","if has(\"conceal\")"," \" 'i' is for neosnippet"," set concealcursor=nci"," \" XXX: This will cause a redraw on startup"," set conceallevel=0","endif","if has(\"persistent_undo\")"," let &undodir=g:undodir"," if !isdirectory(&undodir)"," call mkdir(&undodir, 'p', 0700)"," endif"," set undofile","endif","unlet g:undodir","let g:silent_unsupported = 1","\" map 相关[[[1","\" nmap [[[2","\" Fx 相关 [[[3","\" buffer list","nmap be","nmap :ls :buffer ","nmap :cnext ","nmap :cprevious ","nmap :enew ","nmap :next ","nmap :previous ","\" 重新载入当前文件","nmap :e! ","\" t 开头 [[[3","nmap tt :tabnew ","nmap TT :call Lilydjwg_copy_to_newtab() ","nmap t= :call Lilydjwg_formatall() ","\" select all","nmap ta ggVG","nmap tf :call Lilydjwg_open_url() ","\" less style 清除高亮","nmap :nohls ","\" join line without space","nmap tj Jx","\" select line content","nnoremap tl ^vg_","nmap to :call append('.', '') j","nmap tO :call append(line('.')-1, '') k","nmap tp \"+P","nmap tv :call Lilydjwg_toggle_ve() ","nmap tw :call Lilydjwg_toggle_ambiwidth() ","\" w 开头 [[[3","nmap wc :set cursorline! ","nnoremap wf :call Lilydjwg_NERDTreeOpen() ","nnoremap wn :call Lilydjwg_toggle_number() ","nnoremap wt :TlistToggle ","nnoremap wb :TagbarToggle ","\" - 开头 [[[3","nmap -+ :set nomodified ","nmap -c :call Lilydjwg_toggle_color() ","nmap -ft :exe 'tabe '.g:vimfiles.'/ftplugin/'.&ft.'.vim' ","nmap -syn :exe 'tabe '.g:vimfiles.'/syntax/'.&ft.'.vim' ","nmap -int :exe 'tabe '.g:vimfiles.'/indent/'.&ft.'.vim' ","\" 显示高亮组 [[[4","nnoremap wh :echo \"hi<\" . synIDattr(synID(line(\".\"),col(\".\"),1),\"name\") . '> trans<' . synIDattr(synID(line(\".\"),col(\".\"),0),\"name\") . \"> lo<\" . synIDattr(synIDtrans(synID(line(\".\"),col(\".\"),1)),\"name\") . \">\" ","\" Alt 组合键 [[[3","nmap :MRU ","\" 打开草稿","nmap ShowScratchBuffer","for i in range(1, 8)"," exec 'nnoremap '. i .'gt'","endfor","nnoremap :exec \"normal!\" min([tabpagenr('$'),9]).\"gt\" ","\" lusty-explorer [[[4","nmap :LustyBufferExplorer ","nmap :LustyBufferGrep ","nmap :LustyFilesystemExplorerFromHere ","let g:LustyExplorerSuppressRubyWarning = 1","\" 其它开头的 [[[3","nmap ","nmap q","nnoremap za","nmap ' ","nmap Y y$","nmap 'm :MarksBrowser ","nmap :: :!","nmap cd :lcd %:p:h :echo expand('%:p:h') ","nmap gb :setl fenc=gb18030 ","nmap d :%s/\\r//eg ``","nmap cac :call Lilydjwg_changeColor() ","nmap gl :IndentGuidesToggle ","nnoremap gs :echo Lilydjwg_getfsize(expand('%')) ","\" imap [[[2","inoremap =Lilydjwg_colorpicker() ","inoremap ","inoremap ","inoremap =Lilydjwg_qw() ","imap ","cmap ","\" 日期和时间 [[[3","imap =Lilydjwg_zh_date() ","imap =strftime(\"%Y-%m-%d\") ","imap =strftime(\"%Y-%m-%d %H:%M\") ","\" 补全 [[[3","imap ","imap ","imap ","imap =Lilydjwg_dictcomplete() ","\" 补全最长项","inoremap pumvisible()?\"\\ \\ \":\"\\ \"","\" vmap [[[2","vnoremap # \"9y? ='\\V'.substitute(escape(@9,'\\?'),'\\n','\\\\n','g') ","vnoremap * \"9y/ ='\\V'.substitute(escape(@9,'\\/'),'\\n','\\\\n','g') ","vnoremap \"+y","\" 中文引号 [[[3","vmap “ ``>a” ","vmap ” `>a” `","\" cmap [[[2","\" 还是这样吧","\" FIXME 但这样在 wildmenu 补全时会有点奇怪","cmap ","cmap ","cnoremap ","cnoremap ","\" g[jk] [[[2","nmap gj","nmap gk","vmap gj","vmap gk","\" 以 % 表示的字符 [[[2","vmap t% :w !ascii2uni -a J -q ","nmap t% :call Lilydjwg_hexchar() ","\" HTML 转义 [[[2","\" I got the idea from unimpaired.vim","noremap [x :HTMLEscape ","noremap ]x :HTMLUnescape ","nnoremap [x :.HTMLEscape ","nnoremap ]x :.HTMLUnescape ","\" Ctrl-S 保存文件 [[[2","nmap :update ","imap :update ","vmap :update ","\" 快速隐藏当前窗口内容[[[2","nmap :tabnew ","imap :tabnew ","vmap :tabnew ","\" mouse mapping[[[2","map ","map ","imap ","imap ","nnoremap \"+P","inoremap +","\" 上下移动一行文字[[[2","nmap :m+ ","nmap :m-2 ","vmap :m'>+ gv","vmap :m'<-2 gv","\" 自动命令[[[1","\" 自动关闭预览窗口(不能用在命令窗口,所以设置了一个变量)","let s:cmdwin = 0","autocmd CmdwinEnter * let s:cmdwin = 1","autocmd CmdwinLeave * let s:cmdwin = 0","autocmd InsertLeave * if s:cmdwin == 0 && pumvisible() == 0|pclose|endif","\" 插入模式下长时间不动则打断撒消序列","if (v:version == 800 && has(\"patch1407\")) || v:version != 800"," autocmd CursorHoldI * call feedkeys(\"\\ u\", 'nt')","endif","autocmd BufReadCmd *.maff,*.xmind,*.crx,*.apk,*.whl,*.egg call zip#Browse(expand(\" \"))","\" 见 ft-syntax-omni","if has(\"autocmd\") && exists(\"+omnifunc\")"," autocmd Filetype *"," \\ if &omnifunc == \"\" && !get(b:, 'disable_omnifunc') |"," \\ setlocal omnifunc=syntaxcomplete#Complete |"," \\ endif","endif","if exists('##TerminalWinOpen')"," autocmd TerminalWinOpen * setlocal nonumber","endif","\" don't show q: hints","augroup vimHints | exe 'au!' | augroup END","\" 自定义命令[[[1","\" 对齐 xxx: xxx (两栏)","\" .vimrc 有可能是软链接","exe 'command Set tabe ' . escape(resolve($MYVIMRC), ' ')","\" 删除当前文件","command Delete if delete(expand('%')) | echohl WarningMsg | echo \"删除当前文件失败\" | echohl None | endif","command -nargs=1 -range=% -bang Join , call Lilydjwg_join( , \" \")","command -nargs=+ Reindent call Lilydjwg_reindent( )","\" TODO better implement","command -range=% ClsXML