【编辑器】Vim学习笔记

0x00先放几个比较好的学习资料

1.Vim入门基础 http://www.jianshu.com/p/bcbe916f97e1
2.vim配置 http://blog.csdn.net/g_brightboy/article/details/14229139
3.简明Vim练级攻略 http://coolshell.cn/articles/5426.html
4.http://blog.csdn.net/mu_zhou233/article/details/53045831javascript

0x01而后是配置文件

字体 Mac上用Monaco 20号(Monaco字体太漂亮了太可爱了),Windows上用16号php

"2017.7.20  g++ with macvim By gwj

let s:cpo_save = &cpo
set cpo&vim colorscheme macvim set cin set tabstop=4 set softtabstop=4 set shiftwidth=4 set nu set guitablabel=%M%t set ruler set autoindent set smartindent filetype on syntax on set showmatch set guifont=Monaco:h20 set mouse=a set selection=exclusive set selectmode=mouse,key nnoremap <F7> <Esc>:w<CR>:!g++ % -Wall -o nnoremap <F8> <Esc>:!./ nnoremap <F9> <Esc>:w<CR>:!g++ % -Wall -o a nnoremap <F10> <Esc>:!./a<CR> set printexpr=system('open\ -a\ Preview\ '.v:fname_in)\ +\ v:shell_error let $SSH_ASKPASS = simplify($VIM . '/../../MacOS') . '/macvim-askpass' let $SUDO_ASKPASS = $SSH_ASKPASS let &cpo = s:cpo_save unlet s:cpo_save
" Candy? MacOS

set number set ruler set tabstop=4 set shiftwidth=4 set autoindent set smartindent filetype on syntax on colorscheme solarized set showmatch set guifont=Monaco:h20 set mouse=a set selection=exclusive set selectmode=mouse,key nnoremap <F7> <Esc>:w<CR>:!g++ % -Wall -o nnoremap <F8> <Esc>:!./ nnoremap <F9> <Esc>:w<CR>:!g++ % -Wall -o a<CR> nnoremap <F10> <Esc>:!./a<CR>
"mhy12345
"Configure of Vundle
set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " Default Plugin Plugin 'VundleVim/Vundle.vim' Plugin 'vim-airline/vim-airline' Plugin 'vim-airline/vim-airline-themes' Plugin 'Valloric/YouCompleteMe' " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on " " Brief help " :PluginList - lists configured plugins " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate " :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
"
" Put your non-Plugin stuff after this line
"
"Old encoding setting...
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 set encoding=utf-8 "Configure airline let molokai_original=1 let g:airline_theme="molokai" "始终显示状态栏 set laststatus=2 "打开tabline功能,方便查看Buffer和切换,省去了minibufexpl插件 let g:airline#extensions#tabline#enabled = 1 let g:airline#extensions#tabline#buffer_nr_show = 1 "设置切换Buffer快捷键" nnoremap <C-tab> :bn<CR> nnoremap <C-s-tab> :bp<CR> " 关闭状态显示空白符号计数 let g:airline#extensions#whitespace#enabled = 0 let g:airline#extensions#whitespace#symbol = '!' " 设置consolas字体"前面已经设置过 "set guifont=Consolas\ for\ Powerline\ FixedD:h11 if !exists('g:airline_symbols') let g:airline_symbols = {} endif "End "YouCompleteMe let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py' let g:airline_powerline_fonts = 1 "Own configure nnoremap <leader>f :YcmCompleter FixIt<CR> function Compile() if &filetype == 'cpp' exec "!g++ % -o %< -g -Wall -Wextra -Wconversion -std=c++11" elseif &filetype == 'c' exec "!gcc % -o %< -g -Wall -Wextra -Wconversion" elseif &filetype == 'pas' exec "!fpc % -g" elseif &filetype == 'tex' exec "!xelatex '%'" elseif &filetype == 'java' exec "!javac %" elseif &filetype == 'scss' exec "!sass % > %<.css" endif endfunction function Debug() if &filetype == 'cpp' exec "!gdb ./%<" elseif &filetype == 'tex' exec "!open './%<.pdf'" elseif &filetype == 'java' exec "!jdb %<" endif endfunction function Run() if &filetype == 'cpp' exec "!time ./%<" elseif &filetype == 'tex' exec "!open './%<.pdf'" elseif &filetype == 'java' exec "!java %<" elseif &filetype == 'ruby' exec "!ruby %" elseif &filetype == 'html' exec "!firefox %" elseif &filetype == 'php' exec "!php %" elseif &filetype == 'sh' exec "!bash %" endif endfunction set hlsearch set mouse=a set smartindent set fdm=marker set number set tabstop=4 set softtabstop=4 set shiftwidth=4 set backspace=2 syntax on imap jj <esc> map <F9> : call Compile() <CR> map <F5> : call Debug() <CR> map <F6> : call Run() <CR> map <F8> : ! xcodebuild <CR> map <F12> : ! subl ./% <CR> map <F2> : ! python3 % <CR> colors evening
"main command
"打开语法高亮
syntax on

"使用配色方案
colorscheme desert

"打开文件类型检测功能
filetype on

"不一样文件类型采用不一样缩进
filetype indent on

"容许使用插件
filetype plugin on
filetype plugin indent on

"关闭vi模式
set nocp

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

"取消VI兼容,VI键盘模式不易用
set nocompatible

"显示行号, 或set number
set nu

"历史命令保存行数 
set history=100 

"当文件被外部改变时自动读取
set autoread 

"取消自动备份及产生swp文件
set nobackup
set nowb
set noswapfile

"容许使用鼠标点击定位
set mouse=a

"容许区域选择
set selection=exclusive
set selectmode=mouse,key

"高亮光标所在行
set cursorline

"取消光标闪烁
set novisualbell

"老是显示状态行
set laststatus=2

"状态栏显示当前执行的命令
set showcmd

"标尺功能,显示当前光标所在行列号
set ruler

"设置命令行高度为3
set cmdheight=3

"粘贴时保持格式
set paste

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

"在搜索的时候忽略大小写
set ignorecase

"高亮被搜索的句子
set hlsearch

"在搜索时,输入的词句的逐字符高亮(相似firefox的搜索)
set incsearch

"继承前一行的缩进方式,特别适用于多行注释
set autoindent

"为C程序提供自动缩进
set smartindent

"使用C样式的缩进
set cindent

"制表符为4
set tabstop=4

"统一缩进为4
set softtabstop=4
set shiftwidth=4

"容许使用退格键,或set backspace=2
set backspace=eol,start,indent
set whichwrap+=<,>,h,l

"取消换行
set nowrap

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

"在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\

"光标移动到buffer的顶部和底部时保持3行距离, 或set so=3
set scrolloff=3

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

"设定字体
set guifont=Courier_New:h11:cANSI
set guifontwide=新宋体:h11:cGB2312

"设定编码
set enc=utf-8
set fileencodings=ucs-bom,utf-8,chinese
set langmenu=zh_CN.UTF-8
language message zh_CN.UTF-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim

"自动补全
filetype plugin indent on
set completeopt=longest,menu

"自动补全命令时候使用菜单式匹配列表
set wildmenu
autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType java set omnifunc=javacomplete#Complet

0x03具体操做

占坑待填。css

相关文章
相关标签/搜索