标签归档:gvim

vim命令小记

晒晒自己的一份vim配置

“设置字体
set guifont=Monaco:h11
“gvim内部编码
set encoding=utf-8
“当前编辑的文件编码
set fileencoding=utf-8
“设置gvim打开支持编码的文件
set fileencodings=ucs-bom,utf-8,gbk,cp936,gb2312,big5,euc-jp,euc-kr,latin1
set langmenu=zh_CN.UTF-8
let $LANG=’zh_CN.UTF-8′
“解决consle输出乱码
language messages zh_CN.utf-8
“解决菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
“设置终端编码为gvim内部编码encoding
let &termencoding=&encoding
“防止特殊符号无法正常显示
set ambiwidth=double
“缩进尺寸为4个空格
set sw=4
“tab宽度为4 个字符
set ts=4
“编辑时将所有的tab替换为空格
set et
“按一次backspace就删除4个空格了
set smarttab
“关闭备份文件
set nobackup
“设置行号
set nu
“配色方案
colo desert
“单行高亮显示
set cursorline
“关闭上侧工具栏
“set guioptions-=T
“关闭右侧滚动条
“set guioptions-=r
“开启自动缩进
“set autoindent

 

windows下gvim的配置

“取消vi兼容模式
set nocompatible

“设置冒号命令和搜索命令的历史记录长度
set history=200

“回显输入的命令
set showcmd

“显示当前的模式
set showmode

“不显示工具栏
set guioptions-=T

“在所有模式下都启用鼠标
set mouse=a

“解除Backspace的限制
set backspace=start,indent,eol

“使关联系统的剪贴板
set clipboard+=unnamed

“总是显示当前光标位置
set ruler

“显示行号
set number

“行高亮
set cursorline

“vim内部使用的编码方式
set encoding=utf-8

“vim中当前文件的字符编码方式
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

“防止界面乱码(中文情况下)
set langmenu=zh_cn.utf-8
language message zh_cn.utf-8

“状态栏显示设置
set laststatus=2
set statusline=
set statusline+=%2*%-3.3n%0*
set statusline+=%f
set statusline+=%h%1*%m%r%w%0*
set statusline+=[
if v:version >= 600
set statusline+=%{strlen(&ft)?&ft:’none’},
set statusline+=%{&encoding},
endif
set statusline+=%{&fileformat}]
if filereadable(expand(“$VIM/vimfiles/plugin/vimbuddy.vim”))
set statusline+= %{VimBuddy()}
endif
set statusline+=%=
set statusline+=0x%-8B
set statusline+=%-14.(%l,%c%V%) %<%P

“关闭备份,不产生swp文件
set nobackup
set nowb

“设定文件浏览器目录为当前目录
set bsdir=buffer

“配色方案
color sea
set background=dark

“字体设置(含双字节字符字体,黑体)
set guifont=Bitstream Vera Sans Mono:h10
set guifontwide=Microsoft Yahei:h9

“””””””””””””””””””””””””””””””””””””””””””””””””””
” Programming
“””””””””””””””””””””””””””””””””””””””””””””””””””
“开启文件检测
filetype plugin indent on

“语法高亮
syntax on

“智能对齐方式
set smartindent

“tab占4个字符
set tabstop=4

“按一次tab前进4个字符
set softtabstop=4

“用空格替代tab
set expandtab

“自动缩进
set ai!

“缩进的字符个数
set cindent shiftwidth=4

“即时搜索及反白显示第一个匹配
set incsearch

“高亮搜索
set hlsearch

“循环搜索
set wrapscan

“搜索时忽略大小写
set ignorecase

“输入括号时短暂跳到与之相匹配之处
set showmatch

“匹配括号的规则,增加针对html的<>
set matchpairs=(:),{:},[:],<:>

“让退格、空格、上下箭头遇到行首行尾时自动移到下一行
set whichwrap =b,s,<,>,[,]

“设置粘贴模式
set paste

“折叠设置
set foldmethod=marker
set foldlevel=3
set foldcolumn=4

“保存文件格式的顺序…放在后面比较有效果
set fileformats=unix,dos

“””””””””””””””””””””””””””””””””””””””””””””””””””
” 插件、函数、键映射等
“””””””””””””””””””””””””””””””””””””””””””””””””””
” php
” 高亮字符串里的SQL语句
let php_sql_query=1
” 高亮字符串里的HTML
let php_htmlInStrings=1
” 禁用php的短标记
let php_noShortTags=1
” 启用代码折叠(用于类和函数、自动)
let php_folding=0

“F2(及保存时)处理行尾的空格以及多余空行,F2同时能清除高亮
autocmd BufRead,BufWrite * if ! &bin | silent! %s/s+$//ge | endif
map <F2> :w<CR>:call CleanupBuffer(1)<CR>:noh<CR>

function! CleanupBuffer(keep)
if (&bin > 0)
return
endif
silent! %s/s+$//ge
let lnum = line(“.”)
let lastline = line(“$”)
let n = lastline
while (1)
let line = getline(n)
if (!empty(line))
break
endif
let n = n – 1
endwhile
let start = n+1+a:keep
if (start < lastline)
execute n+1+a:keep . “,” . lastline . “d”
endif
exec “normal ” . lnum . “G”
endfunction

“netrw设置
let g:netrw_winsize=30
let g:netrw_liststyle=1
let g:netrw_timefmt=’%Y-%m-%d %H:%M:%S’
nmap <silent> <C-F7> :Sexplore!<cr>

“F6打开或关闭nerd_tree和taglist
“由于nerd_tree和taglist采用了trinity插件打开
“所以具体的设置以trinity.vim为准
nmap <F6> :TrinityToggleTagListAndNERDTree<CR>

“F7单独切换打开nerd_tree(nerd_tree插件)
let g:NERDChristmasTree = 1 “色彩显示
let g:NERDTreeShowHidden = 1 “显示隐藏文件
let g:NERDTreeWinPos = ‘left’ “窗口显示位置
let g:NERDTreeHighlightCursorline = 0 “高亮当前行
nmap <F7> :TrinityToggleNERDTree<CR> “始终在右边显示

“taglist
let Tlist_Ctags_Cmd= $VIMRUNTIME .’ctags’
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_File_Fold_Auto_Close=1
let Tlist_Use_Right_Window=1
let Tlist_Enable_Fold_Column=1
let tlist_php_settings=’php;c:class;d:constant;f:function’
nmap <F8> :TrinityToggleTagList<CR>

“F12生成/更新tags文件
set tags=tags
set autochdir
function! UpdateTagsFile()
silent !ctags -R –fields=+ianS –extra=+q
endfunction
nmap <F12> :call UpdateTagsFile()<CR>

“Ctrl + F12删除tags文件
function! DeleteTagsFile()
silent !del /F /Q tags
endfunction
nmap <C-F12> :call DeleteTagsFile()<CR>

“ctrl+s保存文件
nmap <c-s> :w<CR>
imap <c-s> <Esc>:w<CR>a

“覆盖zen coding的展开键
let g:user_zen_expandabbr_key = ‘<c-e>’
let g:use_zen_complete_tag = 1
let g:user_zen_settings = {
‘php’ : {
‘extends’ : ‘html’,
‘filters’ : ‘c’,
},
}

“javascript语法高亮脚本的设置
let g:javascript_enable_domhtmlcss=1

“vimwiki设置
let g:vimwiki_use_mouse = 1
let g:vimwiki_CJK_length = 1
let g:vimwiki_list = [{‘path’:’d:/My Dropbox/vimwiki/’,
‘path_html’:’d:/My Dropbox/vimwiki/html/’,
‘html_header’:’d:/My Dropbox/vimwiki/template/header.tpl’,
‘html_footer’:’d:/My Dropbox/vimwiki/template/footer.tpl’,}
]

个人用过的php编辑器

1. Notepad++

Notepad++是一款非常有特色的编辑器,是开源软件,可以免费使用。支持的语言: C, C++, Java , C#, XML, HTML, PHP, Javascript!  功能有:
1. Notepad内置支持多达 27 种语法高亮度显示(囊括各种常见的源代码、脚本,值得一提的是,完美支持.nfo 文件查看),也支持自定义语言;
2. Notepad可自动检测文件类型,根据关键字显示节点,节点可自由折叠/打开,代码显示得非常有层次感!这是此软件最具特色的体现之一;
3. Notepad可打开双窗口,在分窗口中又可打开多个子窗口,允许快捷切换全屏显示模式(F11),支持鼠标滚轮改变文档显示比例,等等;
4. Notepad提供数个特色东东,如邻行互换位置、宏功能,等等…现在网上有很多文件编辑器,这个却是不可多得的一款,不论是日常使用还是手写编程代码,都能让你体会到它独有的优势和方便。

2.EditPlus

1.默认支持HTML、CSS、PHP、ASP、Perl、C/C++、Java、JavaScript和VBScript等语法高亮显示,通过定制语法文件,可以扩展到其他程序语言,在官方网站上可以下载(大部分语言都支持)。

2.EditPlus提供了与Internet的无缝连接,可以在EditPlus的工作区域中打开Intelnet浏览窗口。

3.提供了多工作窗口。不用切换到桌面,便可在工作区域中打开多个文档。

4.正确地配置Java的编译器“Javac”以及解释器“Java”后,使用EditPlus的菜单可以直接编译执行Java程序。

3.zendstudio

1.快速代码开发与配置本地和远程调试器;

2.数据库连通性 & SQL工具 团队合作环境;

3.完全 PHP 4/PHP 5 切换 PHPDocs/PHP文档处理程序支持SFTP, FTP以至SSH的安全连接 100个以上代码摘;

4.50个以上样品数据库应用程序 与Zend Platform组合。

4.gvim

Vim是Linux上著名的文本编辑器,他是早年的Vi编辑器的加强版。gVim是Vim的图形前端,它是跨平台的编辑器,基本上主流的操作系统上面都有它的版本。这是一个国际版本,会根据安装的平台自动选择相应语言包,支持中文及其各种编码,连界面也是中文的,请放心使用。这个极具Unix特色和风格(simple is the best)的编辑器相信会给您带来不同的感受。这个是我最喜欢的编辑器 GVIM和Emacs是两种功能最强、使用也比较复杂的编辑器,和Emacs相比,GVIM使用起来更简单,更容易上手,体积也比Emacs小的多,占用内存资源也少。当然,如果你能像李师傅一样把Emacs熟练到出神入化的境界,自然是最好不过了。