我的vim windows下配置

"*******************************************
"全局条件
"*******************************************
"设定操作系统
if has("win32") || has("win64") || has("win32unix")
    let g:isWin = 1
else
    let g:isWin = 0
endif

"*******************************************
"end全局条件 
"*******************************************


"*******************************************
"常规
"*******************************************

"文件编码
"set encoding=utf-8
set fileencodings=ucs-bom,utf-8,gbk
set fileencoding=utf-8
"文件类型识别,添加相关类型的插件和缩进脚本
"filetype on
"filetype plugin on
filetype plugin indent on
"设置文件格式
set fileformat=unix
set fileformats=unix
"设置shell
if g:isWin == 0
    set shell=bash
endif
"会话设置
set sessionoptions+=slash,unix 
"关闭兼容模式
set nocompatible
"外部修改时自动读取
set autoread
"设置鼠标
set mouse=a
"设置历史
set history=400
"语法高亮
syntax enable
"查找结果高亮
set hlsearch
" 超过当前行长度的行会回绕
set wrap

"行号设置
set nu
"智能缩进,ts tabstop 转换tab键为空格来显示,主要用于屏幕显示和打印, 
"如果页面全部用的tab,在tabstop=4和tabstop=8的地方页面显示的宽度是不同的
"sts softtabstop 在编辑的时候转换tab为空格的数量,需要和expandtab一起用
"et expandtab 在插入模式里插入tab时使用合适数量的空格代替
"sw shiftwidth 自动缩进每一步时使用的空白数目
set ai ts=4 sts=4 et sw=4
"设置色彩方案
colorscheme desert

"自动保存文件 autowrite
set aw

"搜索时忽略大小写
set ignorecase
"set ic

"增强命令行补全
set wildmenu

"加载系统特定的脚本
"source $VIMRUNTIME/vimrc_example.vim
if g:isWin == 1
    source $VIMRUNTIME/mswin.vim
    behave mswin
endif

set ambiwidth=double
set smarttab
set backspace=2
set textwidth=0

set mouse=a

"设置不备份
set nobackup
"设置打开文件的编码
"设置文件打开时的编码猜测列表
set fencs=utf-8,gb18030,utf-16,big5
"设置大于603版本时的帮助语言
if version >= 603
    set helplang=cn
endif

"*******************************************
"end常规 
"*******************************************

"*******************************
"设置Tlist
"*******************************

let Tlist_Show_One_File=1
" 如果 taglist 窗口是最后一个窗口,则退出 vim
let Tlist_Exit_OnlyWindow=1
let Tlist_Show_Menu=1
let Tlist_WinHeight=25
let Tlist_Use_Right_Window=1
"tasklist
"map T :TaskList<CR>
nmap <silent> <F4> :TlistToggle<CR>


"*******************************
" end设置Tlist
"*******************************

"*******************************
" 设置Winmanager
"*******************************

"WinManager
"let g:winManagerWindowLayout='NERDTree|TagList'
"let g:winManagerWindowLayout = 'NERDTree'
""设置winmanager的宽度,默认为25
"let g:winManagerWidth = 30
"nmap <F8> :WMToggle<cr>
"let g:AutoOpenWinManager = 1 

"*******************************
" end 设置Winmanager
"*******************************

"*******************************
"  设置MiniBufExplorer
"*******************************
let g:miniBufExplMapWindowNavVim = 1 
let g:miniBufExplMapWindowNavArrows = 1 
let g:miniBufExplMapCTabSwitchBufs = 1 
let g:miniBufExplModSelTarget = 1
map! <Silent> <C-Tab> :bn<cr>
" miniBuf always show
"let g:miniBufExplorerMoreThanOne=0

"*******************************
" end  设置MiniBufExplorer
"*******************************

"*****************************
" BufExplorer
"*****************************

"let g:bufExplorerDefaultHelp=0       " Do not show default help.
"let g:bufExplorerShowRelativePath=1  " Show relative paths.
"let g:bufExplorerSortBy='mru'        " Sort by most recently used.
"let g:bufExplorerSplitRight=0        " Split left.
"let g:bufExplorerSplitVertical=1     " Split vertically.
"let g:bufExplorerSplitVertSize = 30  " Split width
"let g:bufExplorerUseCurrentWindow=1  " Open in new window.
"autocmd BufWinEnter \[Buf\ List\] setl nonumber 
"*****************************
" end BufExplorer
"*****************************

"*****************************
" set Grep
"*****************************
let Grep_Path = 'D:/GnuWin32/bin/grep.exe'
let FGrep_Path = 'D:/GnuWin32/bin/fgrep.exe'
let EGrep_Path = 'D:/GnuWin32/bin/egrep.exe'
nnoremap <silent> <F3> :Grep<cr>

"*****************************
" end Grep
"*****************************

" *******************
" NERDTree set
" *******************

" set NERDTree curent dir
if g:isWin == 1
    cd d:\
else
    cd /home/zhaoyong
endif

let g:NERDTree_title = "[NERD Tree]"
let NERDTreeShowBookmarks=1 "一直显示书签
let NERDTreeChDirMode=2 "打开书签时,自动将Vim的pwd设为打开的目录,如果你的项目有tags文件,你会发现这个命令很有帮助

function! NERDTree_Start()
    exe 'NERDTree'
endfunction

function! NERDTree_IsValid()
    return 1
endfunction 

nmap <silent> <F2> :NERDTreeToggle<CR>

" *******************
" end NERDTree set
" *******************



"nmap <F4> :NERDTree  <CR>

" *******************
" php languange set "
" *******************

" set php document
set runtimepath+=d:\program\ Files\Vim\php_doc
if g:isWin == 1
    map <C-J> :!php -l %<CR>
else
    map <C-J> :!php -l %<CR>
endif
 

" *******************
" end php language set end
" *******************


" *******************
" python language set 
" *******************
"
" set python document
let g:pyref_python = 'D:\program files\Vim\python-html'
" tags
set tags=d:\code\python\tags
" exec python
map <F6> :!python %

"Pydiction
let g:pydiction_location='D:\Program Files\Vim\vim73\ftplugin\pydiction\complete-dict'
"colorscheme my-molokai
"
" *******************
" end python language set 
" *******************

" syntax highlight function
function! ToggleSyntax()
    if exists("g:syntax_on")
        syntax off
    else
        syntax enable
    endif
endfunction


" 快速编辑vimrc文件的快捷键
map <silent> ee :e d:\program files\Vim\_vimrc<cr>
" 当vimrc已经保存后重载vimrc
autocmd! bufwritepost *_vimrc source d:\program\ files\Vim\_vimrc
autocmd! VimEnter * exec 'source' . " d:/program\ files/Vim/session.vim"

autocmd! VimLeave * <Leader>mbt
autocmd! VimLeave * :TlistClose<cr>
autocmd! VimLeave * :NERDTreeClose<cr>
autocmd! VimLeave * exec 'mksession!' . " d:/program\ files/Vim/session.vim"

" 使用CTRL+w 关闭当前缓存
"map <silent> <C-W> <C-k> d <cr> <C-j>
" 新建一个标签
map <silent> <C-N> :enew<cr>

" 启动时最大化窗口
au GUIEnter * simalt ~x

" 关闭当前的buf
map <silent> qq :bd<cr>

" 清理搜索高亮
map <silent> nhl /axkexiej<cr>

" 注释的映射键
let mapleader=","
map <silent> <leader>l :call NERDComment(0, "toggle")<cr> 
map <silent> <leader>k :call NERDComment(0, "sexy")<cr> 

" 括号自动补全
" map auto complete
"inoremap ( ()<esc>:let leavechar=")"<cr>i
inoremap [ []<esc>:let leavechar="]"<cr>i
inoremap { {<esc>o}<esc>:let leavechar="}"<cr>O
"inoremap { {}<esc>:let leavechar="}"<cr>i
"inoremap ' ''<esc>:let leavechar="'"<cr>i
"inoremap " ""<esc>:let leavechar='"'<cr>i
"au BufNewFile,BufRead *.\(vim\)\@! inoremap " ""<esc>:let leavechar='"'<cr>i
"au BufNewFile,BufRead *.\(txt\)\@! inoremap ' ''<esc>:let leavechar="'"<cr>i
"imap <m-l> <esc>:exec "normal f" . leavechar<cr>a
"imap <d-l> <esc>:exec "normal f" . leavechar<cr>

" 设置状态行
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v]\ [%p%%]\ [LEN=%L]
set laststatus=2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
用于windows下面的vim编辑器。 给喜欢vim的人使用。详细如下: 好吧,详细点,这里写出一些基本的命令: 【什么是vi】 vi就是linux命令行下的最著名的编辑器之一,(编辑器就是类似windows记事本的功能,不过vi功能比记事本强大无限倍!^_^),现在实际使用的都是vim,它是vi的改进版本,所以现在的vi基本上就是vim了。 【vi能做什么】 第一个功能不用多说,vi可以编辑文本文件。至于其他的功能,多得无法列举,我只说我所知的一些典型的功能应用: (1)编辑文本文件 (2)方便地阅读程序源代码 (3)当文件目录浏览器来用 (4)提供编程、调试环境 (5)利用vi执行一些脚本文件(vi有自己的脚本文件语法) (x)等等等等...... 【vi的操作模式】   vi具有两种基本模式,为输入模式(或插入模式、编辑模式)和指令模式(或命令模式)。输入模式下输入字符,文本就会显示在屏幕上;而指令模式下输入字符就解释为一个输入命令并执行,而不会显示相应的字符。理解指令模式最简单方式就是想象平时剪切、复制以及粘贴数据时所发生的情况。 使用[Esc]键可以停止当前操作(插入或者命令)重新回到指令模式,准备接受新的指令。如果本来就在指令模式下面,将会响铃一下。 【最基本的使用】 这里提供了使用vi得最基本的操作,能够实现大多数的编辑目的。如果你肯花几分钟把“最基本的使用”的内容都实践一下,那么你至少可以独立地在vim中朝你想要得方向“前进”了。如果你不想学习,那么就把它当作一个“字典”吧。 *用vi打开一个文件: 输入“vi filename”. 这里,filename就是你要打开的文件的名字,默认打开文件后vi处于指令模式。 *进入编辑模式编辑打开的文件: 输入“i”. 或输入“a”. 进入编辑模式后,你可以直接敲入想要输入的字符到文件,两者的区别是i在当前字符前面开始插入,a在当前字符后面开始插入。 *退出编辑模式: 输入“[Esc]”. 这样,将返回指令模式,准备接收你要传达给vi的指令并执行,如果之前已经在指令模式下,那么系统将响铃提醒一下。 **以下命令都是在命令模式下进行: *撤销修改: 输入“u”. 这里,相比以前的vi来说,vim支持多步撤销。 *恢复修改: 输入“[Ctrl]r”. 这里,和撤销命令相反,是撤销的撤销,也可多步。 *复制行到剪切板: 输入“yy”. *复制选定内容到剪切板: (1)输入“v”。 (2)按方向键将高亮选择的内容。 (3)输入“y”。 这里,开始输入v使vi临时进入了一个"选择模式",输入方向键可以选择,输入y将选择的内容复制剪切板。 *删除行: 输入“dd”. 注意,vi的删除等价于剪切,删除的内容会保存到剪切板中。 *删除选定内容: (1)输入“v”。 (2)按方向键将高亮选择的内容。 (3)输入“d”。 这里,开始输入v使vi临时进入了一个“选择模式”,输入方向键可以选择,输入d将选择的内容删除。 *粘贴: 输入“p”. 这样会将剪切板的内容粘贴到光标位置或者光标下一行。 *查找字符并定位到第一个匹配处: 输入“/character”. 这里character是待查找的字符,只要先输入/,再输入待查字符,最后回车即可定位到第一个匹配的字符处。 *定位到匹配查找的下一个字符处: 输入“n”. *定位到匹配查找的上一个字符处: 输入“N”. *保存文件: 输入“:w”. 注意w前面的':',输入':'之后,vim会将':'之后的输入解释为待执行的指令。 *退出: 输入“:q”. 这里,如果文件没有保存,将提示无法退出,除非你强制退出,不保存文件,或者保存退出。 *强制退出: 输入“:q!”. *保存退出: 输入“:wq”. 或输入“ZZ”. *察看帮助 输入":help". ** 另外还有一个简易的教程: 输入命令:vimtutor.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值