"设置编码
set enc=utf-8
"set fence=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
"设置语言
set langmenu=zh_CN.UTF-8
set helplang=en
"set number "设置行号
"set relativenumber "设置相对行号
set autoread "当文件被改动时自动载入
set clipboard=unnamed "共享剪切板
filetype plugin on "允许插件
set nobackup "从不备份
set ruler "打开状态标尺
set cursorline "凸显当前行
set magic "设置魔术
set guioptions-=T "隐藏工具栏
set guioptions-=m "隐藏菜单栏
"设置当前行的显示信息
set foldcolumn=0
set foldmethod=indent
set foldlevel=3
set foldenable "开始折叠
set nocompatible " 不使用 vi 的键盘模式
set syntax=on "语法高亮
set noeb "去掉错误的提示音
set confirm "在处理为保持或只读文件的时候,弹出确认
"自动缩进
set autoindent
set cindent
set tabstop=4 "TAB 键的宽度
"统一缩进为4
set softtabstop=4
set shiftwidth=4
set noexpandtab "不使用空格代替制表符
set smarttab "在行和段开始使用制表符
set history=1000 "历史记录数
"禁止生成临时文件
set nobackup
set noswapfile
set ignorecase "搜索是忽略大小写
"搜索逐字符高亮
set hlsearch
set incsearch
set showmatch "高亮匹配的括号
set matchtime=1 "匹配括号高亮的时间(单位是十分之一秒)
set gdefault "行内替换
"我的状态行显示的内容(包括文件类型和解码)
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
set laststatus=2 "总是显示状态行
set cmdheight=2 "命令行(在状态下)的高度,默认是1,这里是2
filetype on "侦测文件类型
filetype plugin on "载入文件类型插件
filetype indent on "为特定文件类型载入相关缩进文件
set viminfo+=! "保持全局变量
set iskeyword+=_,$,@,%,#,- "带有此类符号的单词不要被换行分割
set linespace=0 "字符键插入的像素行目
set backspace=2 "使用回格键(backspace)正常处理indent,eol,start等
"set whichwrap+=,h,l "允许backspace和光标键跨越行边界
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
"set mouse=a
"set selection=exclusive
"set selectmode=mouse,key
set scrolloff=4 "光标移动到buffer的顶部或底部是保持4行距离
set report=0 "通过使用:commands 命令告诉我们文件在哪一行被改过
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set wildmenu "指令提示列表
set showcmd "按键显示(例如按下esc后右下角会显示你的操作指令)
"set list "显示后面的空格
set autochdir "在当前目录下执行命令
"光标回到文件关闭时的位置
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
"向右分屏
map nl :set splitright<CR>:vsplit<CR>
"向左分屏
map nh :set nosplitright<CR>:vsplit<CR>
"向上分屏
map nk :set nosplitbelow<CR>:split<CR>
"向下分屏
map nj :set splitbelow<CR>:split<CR>
"光标的移动
map ml <C-w>l
map mh <C-w>h
map mk <C-w>k
map mj <C-w>j
"方向键控制分屏的大小
map <up> :res +1<CR>
map <down> :res -1<CR>
map <left> :vertical resize+1<CR>
map <right> :vertical resize-1<CR>
"标签页的新建和跳转
"map tk :tabe<CR>
"map tl :-tabnext<CR>
"map th :+tabnext<CR>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"plugin""""""""""""""""""""""""""""""""""""""""""""""""""""""
call plug#begin('~/.vim/plugged')
Plug 'connorholyday/vim-snazzy'
"书呆子树
Plug 'preservim/nerdtree'
"
"彩虹括号
Plug 'luochen1990/rainbow'
"daima buquan
"Plug 'Valloric/YouCompleteMe'
Plug 'w0rp/ale'
" Python
Plug 'vim-scripts/indentpython.vim'
" Markdown
Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install_sync() }, 'for' :['markdown', 'vim-plug'] }
Plug 'dhruvasagar/vim-table-mode', { 'on': 'TableModeToggle' }
Plug 'vimwiki/vimwiki'
"Molokai
Plug 'tomasr/molokai'
"palenight
Plug 'drewtempelmeyer/palenight.vim'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
call plug#end()
""""""""""""""
"Plug 'connorholyday/vim-snazzy'
"color snazzy
"""""""""""""
"书呆子树
map <C-e> :NERDTreeToggle<CR>
"""""""""""""
""""""""""""""ale
"显示状态栏和不需要高亮行
"let g:ale_sign_column_always = 1
"let g:ale_set_highlights = 0
""错误信息和警告标志
"let g:ale_sign_error = 'x'
"let g:ale_sign_warning = '!'
""文件保存时,显示显示警告
"let g:ale_lint_on_text_changed = 'never'
"let g:ale_lint_on_enter = 0
""使用clang对c和c++进行语法检查,对python使用pylint进行语法检查
"let g:ale_linters = {
"\ 'c++': ['clang'],
"\ 'c': ['clang'],
"\ 'python': ['pylint'],
"\}
"彩虹括号
let g:rainbow_active = 1 "set to 0 if you want to enable it later via :RainbowToggle
" ===
" === ale
" ===
let b:ale_linters = ['pylint']
let b:ale_fixers = ['autopep8', 'yapf']
" ===
" === MarkdownPreview
" ===
let g:mkdp_auto_start = 0
let g:mkdp_auto_close = 1
let g:mkdp_refresh_slow = 0
let g:mkdp_command_for_global = 0
let g:mkdp_open_to_the_world = 0
let g:mkdp_open_ip = ''
let g:mkdp_browser = 'google-chrome'
let g:mkdp_echo_preview_url = 0
let g:mkdp_browserfunc = ''
let g:mkdp_preview_options = {
\ 'mkit': {},
\ 'katex': {},
\ 'uml': {},
\ 'maid': {},
\ 'disable_sync_scroll': 0,
\ 'sync_scroll_type': 'middle',
\ 'hide_yaml_meta': 1
\ }
let g:mkdp_markdown_css = ''
let g:mkdp_highlight_css = ''
let g:mkdp_port = ''
let g:mkdp_page_title = '「${name}」'
" ===
" === Python-syntax
" ===
let g:python_highlight_all = 1
" let g:python_slow_sync = 0
"Molokai
"let g:molokai_original = 1
"let g:rehash256 = 1
"color molokai
"palenight
set background=dark
colorscheme palenight
let g:lightline = { 'colorscheme': 'palenight' }
let g:airline_theme = "palenight"
" Italics for my favorite color scheme
let g:palenight_terminal_italics=1
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""