Linux: .vimrc
set nu
set autoindent
set cindent
"set tabstop=2
"set shiftwidth=2
set cursorline
set hlsearch
"set fdm=syntax
" *********************************************************************************************
" comments.vim
" *********************************************************************************************
" Description : Global Plugin to comment and un-comment different
" source files in both normal and visual <Shift-V> mode
" Last Change : 26th April, 2006
" Created By : Jasmeet Singh Anand <jasanand@hotmail.com>
" Version : 2.2
" Usage : For VIM 6 -
" Stick this file in your ~/.vim/plugin directory or
" in some other 'plugin' directory that is in your runtime path
" For VIM 5 -
" Stick this file somewhere and 'source <path>/comments.vim' it from
" your ~/.vimrc file
" Note : I have provided the following key mappings
" To comment <Ctrl-C> in both normal and visual <Shift-V> range select mode
" To un-comment <Ctrl-X> in both normal and visual <Shift-V> range select mode
" These can be changed based on user's likings or usage
" Contact : For any comments or bug fixes email me at <jasanand@hotmail.com>
" *********************************************************************************************
"Modification:
" *********************************************************************************************
" Jasmeet Anand 26th April, 2006 v2.0
" Fixed C commenting where a single line already had previous comments.
" int x=0; /*this is an x value*/
" Still working on situations like
" Issue A:
" 1 int x=0; /*this
" 2 is
" 3 an
" 4 x
" 5 value*/
" *********************************************************************************************
" Jasmeet Anand 26th April, 2006 v2.1
" Provided more granule checking for C Code but still working on Issue A
" *********************************************************************************************
" Jasmeet Anand 27th April, 2006 v2.2
" Fixed another minor C code commenting bug
" Provided for .csh, .php, .php2 and .php3 support
" Resolved Issue A with the following logic
" 1 /* int x=0; */ /*this*/
" 2 /*is*/
" 3 /*an*/
" 4 /*x*/
" 5 /*value*/
" However care should be taken when un-commenting it
" in order to retain the previous comments
" *********************************************************************************************
" Jasmeet Anand 1st May 2006 v2.3
" Provided [:blank:] to accomodate for space and tab characters
" *********************************************************************************************
" Jasmeet Anand 1st May 2006 v2.4
" Provided support for .css as advised by Willem Peter
" *********************************************************************************************
" Jasmeet Anand 2nd May 2006 v2.5
" Removed auto-indenting for .sql, .sh and normal files when un-commenting
" *********************************************************************************************
" Jasmeet Anand 5th June 2006 v2.6
" Added support for .html, .xml, .xthml, .htm, .vim, .vimrc
" files as provided by Jeff Buttars
" *********************************************************************************************
" Smolyar "Rastafarra" Denis 7th June 2007 v2.7
" Added support for .tex
" *********************************************************************************************
" Jasmeet Anand 5th June 2006 v2.8
" Added support for Fortran .f, .F, .f90, .F90, .f95, .F95
" files as provided by Albert Farres
" *********************************************************************************************
" Jasmeet Anand 8th March 2008 v2.9
" Added support for ML, Caml, OCaml .ml, mli, PHP (v.4) .php4, PHP (v.5) .php5
" files as provided by Denis Smolyar
" Added support for noweb (requires only a small enhancement to the tex type)
" as provided by Meik "fuller" Te脽mer
" Added support for vhdl files provided by Trond Danielsen
" *********************************************************************************************
" Jasmeet Anand 20 th March 2008 v2.10
" Bug fixes for php files as pointed by rastafarra
" *********************************************************************************************
" Jasmeet Anand 29th November 2008 v2.11
" Added support for haskel
" files as provided by Nicolas Martyanoff
" File Format changed to UNIX
" *********************************************************************************************
" Jasmeet Anand 11th January 2009 v2.12
" bug fix for haskel files as prpvided by Jean-Marie
"
" Exit if already loaded
if exists("loaded_comments_plugin")
finish
endif
let loaded_comments_plugin="v2.10"
" key-mappings for comment line in normal mode
noremap <silent> <C-C> :call CommentLine()<CR>
" key-mappings for range comment lines in visual <Shift-V> mode
vnoremap <silent> <C-C> :call RangeCommentLine()<CR>
" key-mappings for un-comment line in normal mode
noremap <silent> <C-X> :call UnCommentLine()<CR>
" key-mappings for range un-comment lines in visual <Shift-V> mode
vnoremap <silent> <C-X> :call RangeUnCommentLine()<CR>
" function to comment line in normal mode
function! CommentLine()
let file_name = buffer_name("%")
" for .cpp or .hpp or .java or .C files use //
if file_name =~ '\.cpp$' || file_name =~ '\.hpp$' || file_name =~ '\.java$' || file_name =~ '\.php[2345]\?$' || file_name =~ '\.C$'
execute ":silent! normal ^i//\<ESC>==\<down>^"
" for .c or .h or .pc or .css files use /* */
elseif file_name =~ '\.c$' || file_name =~ '\.h$' || file_name =~ '\.pc$' || file_name =~ '\.css$' || file_name =~ '\.js$'
" if there are previous comments on this line ie /* ... */
if stridx(getline("."), "\/\*") != -1 && stridx(getline("."), "\*\/") != -1
execute ":silent! normal :nohlsearch\<CR>:s/\\([^\\/\\*]*\\)\\(\\/\\*.*\\*\\/\\)/\\1\\*\\/\\2/\<CR>:s/\\([^[:blank:]]\\+\\)/\\/\\*\\1/\<CR>:nohlsearch\<CR>=="
" if there is a /* but no */ like line 1 in Issue A above
elseif stridx(getline("."), "\/\*") != -1 && stridx(getline("."), "\*\/") == -1
execute ":silent! normal :nohlsearch\<CR>:s/\\(.*\\)\\(\\/\\*.*$\\)/\\/\\*\\1\\*\\/\\2\\*\\//\<CR>:nohlsearch\<CR>=="
" if there is a */ but no /* like line 5 in Issue A above
elseif stridx(getline("."), "\/\*") == -1 && stridx(getline("."), "\*\/") != -1
execute ":silent! normal :nohlsearch\<CR>:s/\\(.*\\*\\/\\)/\\/\\*\\1/\<CR>:nohlsearch\<CR>=="
" if there are no comments on this line
elseif stridx(getline("."), "\/\*") == -1 && stridx(getline("."), "\*\/") == -1
execute ":silent! normal ^i/*\<ESC>$a*/\<ESC>==\<down>^"
endif
"for .ml or .mli files use (* *)
elseif file_name =~ '\.ml$' || file_name =~ '\.mli$'
if stridx(getline("."), "\(\*") == -1 && stridx(getline("."), "\*)") == -1
execute ":silent! normal ^i(*\<ESC>$a*)\<ESC>==\<down>^"
endif
" .html,.xml,.xthml,.htm
elseif file_name =~ '\.html$' || file_name =~ '\.htm$' || file_name =~ '\.xml$' || file_name =~ '\.xhtml$'
if stridx( getline("."), "\<!--" ) != -1 && stridx( getline("."), "--\>" ) != -1
elseif stridx( getline("."), "\<!--" ) != -1 && stridx( getline("."), "--\>" ) == -1
" open, but a close "
execute ":silent! normal ^A--\>\<ESC>==\<down>^"
elseif stridx( getline("."), "\<!--" ) == -1 && stridx( getline("."), "--\>" ) != -1
execute ":silent! normal ^i\<\!--\<ESC>==\<down>^"
elseif stridx( getline("."), "\<!--" ) == -1 && stridx( getline("."), "--\>" ) == -1
execute ":silent! normal ^i\<\!--\<ESC>$a--\>\<ESC>==\<down>^"
endif
" for .vim files use "
elseif file_name =~ '\.vim$' || file_name =~ '\.vimrc$'
execute ":silent! normal ^i\"\<ESC>\<down>^"
" for .sql files use --
elseif file_name =~ '\.sql$'
execute ":silent! normal ^i--\<ESC>\<down>^"
" for .ksh or .sh or .csh or .pl or .pm files use #
elseif file_name =~ '\.[kc]\?sh$' || file_name =~ '\.pl$' || file_name =~ '\.pm$'
execute ":silent! normal ^i#\<ESC>\<down>^"
" for .tex files use %
elseif file_name =~ '\.tex$' || file_name =~ '\.nw$'
execute ":silent! normal ^i%\<ESC>\<down>^"
" for fortran 77 files use C on first column
elseif file_name =~ '\.f$' || file_name =~ '\.F$'
execute ":silent! normal ^gIC\<ESC>\<down>^"
" for fortran 90/95 files use !
elseif file_name =~ '\.f90$' || file_name =~ '\.F90$' || file_name =~ '\.f95$' || file_name =~ '\.F95$'
execute ":silent! normal ^i!\<ESC>\<down>^"
" for VHDL and Haskell files use --
elseif file_name =~ '\.vhd$' || file_name =~ '\.vhdl$' || file_name =~ '\.hs$'
execute ":silent! normal ^gI-- \<ESC>\<down>^"
" for all other files use #
else
execute ":silent! normal ^i#\<ESC>\<down>^"
endif
endfunction
" function to un-comment line in normal mode
function! UnCommentLine()
let file_name = buffer_name("%")
" for .cpp or .hpp or .java or .C files use //
if file_name =~ '\.cpp$' || file_name =~ '\.hpp$' || file_name =~ '\.java$' || file_name =~ '\.php[2345]\?$' || file_name =~ '\.C$'
execute ":silent! normal :nohlsearch\<CR>:s/\\/\\///\<CR>:nohlsearch\<CR>=="
" for .ml or .mli
elseif file_name =~ '\.ml$' || file_name =~ '\.mli$'
execute ":silent! normal :nohlsearch\<CR>:s/(\\*//\<CR>:nohlsearch\<CR>"
execute ":silent! normal :nohlsearch\<CR>:s/\\*)//\<CR>:nohlsearch\<CR>=="
" for .c or .h or .pc or .css files use /* */
elseif file_name =~ '\.c$' || file_name =~ '\.h$' || file_name =~ '\.pc$' || file_name =~ '\.css$' || file_name =~ '\.js$'
execute ":silent! normal :nohlsearch\<CR>:s/\\/\\*//\<CR>:s/\\*\\///\<CR>:nohlsearch\<CR>=="
" for .vim files use "
elseif file_name =~ '\.vim$' || file_name =~ '\.vimrc$'
execute ":silent! normal :nohlsearch\<CR>:s/\\\"//\<CR>:nohlsearch\<CR>"
" for .sql files use --
elseif file_name =~ '\.sql$'
execute ":silent! normal :nohlsearch\<CR>:s/\\-\\-//\<CR>:nohlsearch\<CR>"
" for .ksh or .sh or .csh or .pl or .pm files use #
elseif file_name =~ '\.[kc]\?sh$' || file_name =~ '\.pl$' || file_name =~ '\.pm$'
execute ":silent! normal :nohlsearch\<CR>:s/\\#//\<CR>:nohlsearch\<CR>"
" for .xml .html .xhtml .htm use <!-- -->
elseif file_name =~ '\.html$' || file_name =~ '\.htm$' || file_name =~ '\.xml$' || file_name =~ '\.xhtml$'
execute ":silent! normal :nohlsearch\<CR>:s/<!--//\<CR>=="
execute ":silent! normal :nohlsearch\<CR>:s/-->//\<CR>=="
" for .tex use %
elseif file_name =~ '\.tex$' || file_name =~ '\.nw$'
execute ":silent! normal :nohlsearch\<CR>:s/%/\<CR>:nohlsearch\<CR>"
" for fortran 77 files use C on first column
elseif file_name =~ '\.f$' || file_name =~ '\.F$'
execute ":silent! normal ^x\<ESC>\<down>^"
" for fortran 90/95 files use !
elseif file_name =~ '\.f90$' || file_name =~ '\.F90$' || file_name =~ '\.f95$' || file_name =~ '\.F95$'
execute ":silent! normal :nohlsearch\<CR>:s/!//\<CR>:nohlsearch\<CR>"
" for VHDL and Haskell files use --
elseif file_name =~ '\.vhd$' || file_name =~ '\.vhdl$' || file_name =~ '\.hs$'
execute ":silent! normal :nohlsearch\<CR>:s/-- //\<CR>:nohlsearch\<CR>"
" for all other files use #
else
execute ":silent! normal :nohlsearch\<CR>:s/\\#//\<CR>:nohlsearch\<CR>"
endif
endfunction
" function to range comment lines in visual mode
function! RangeCommentLine()
let file_name = buffer_name("%")
" for .cpp or .hpp or .java or .C files use //
if file_name =~ '\.cpp$' || file_name =~ '\.hpp$' || file_name =~ '\.java$' || file_name =~ '\.php[2345]\?$' || file_name =~ '\.C$'
execute ":silent! normal :s/\\S/\\/\\/\\0/\<CR>:nohlsearch<CR>=="
" for .c or .h or .pc or .css files use /* */
elseif file_name =~ '\.c$' || file_name =~ '\.h$' || file_name =~ '\.pc$' || file_name =~ '\.css$' || file_name =~ '\.js$'
" if there are previous comments on this line ie /* ... */
if stridx(getline("."), "\/\*") != -1 && stridx(getline("."), "\*\/") != -1
execute ":silent! normal :nohlsearch\<CR>:s/\\([^\\/\\*]*\\)\\(\\/\\*.*\\*\\/\\)/\\1\\*\\/\\2/\<CR>:s/\\([^[:blank:]]\\+\\)/\\/\\*\\1/\<CR>:nohlsearch\<CR>=="
" if there is a /* but no */ like line 1 in Issue A above
elseif stridx(getline("."), "\/\*") != -1 && stridx(getline("."), "\*\/") == -1
execute ":silent! normal :nohlsearch\<CR>:s/\\(.*\\)\\(\\/\\*.*$\\)/\\/\\*\\1\\*\\/\\2\\*\\//\<CR>:nohlsearch\<CR>=="
" if there is a */ but no /* like line 5 in Issue A above
elseif stridx(getline("."), "\/\*") == -1 && stridx(getline("."), "\*\/") != -1
execute ":silent! normal :nohlsearch\<CR>:s/\\(.*\\*\\/\\)/\\/\\*\\1/\<CR>:nohlsearch\<CR>=="
" if there are no comments on this line
elseif stridx(getline("."), "\/\*") == -1 && stridx(getline("."), "\*\/") == -1
execute ":silent! normal :s/\\(\\S.*$\\)/\\/\\*\\1\\*\\//\<CR>:nohlsearch\<CR>=="
endif
" .html,.xml,.xthml,.htm
elseif file_name =~ '\.html$' || file_name =~ '\.htm$' || file_name =~ '\.xml$' || file_name =~ '\.xhtml$'
if stridx( getline("."), "\<!--" ) != -1 && stridx( getline("."), "--\>" ) != -1
elseif stridx( getline("."), "\<!--" ) != -1 && stridx( getline("."), "--\>" ) == -1
" open, but a close "
execute ":silent! normal ^A--\>\<ESC>==\<down>^"
elseif stridx( getline("."), "\<!--" ) == -1 && stridx( getline("."), "--\>" ) != -1
execute ":silent! normal ^i\<\!--\<ESC>==\<down>^"
elseif stridx( getline("."), "\<!--" ) == -1 && stridx( getline("."), "--\>" ) == -1
execute ":silent! normal ^i\<\!--\<ESC>$a--\>\<ESC>==\<down>^"
endif
" for .ml, .mli files use (* *)
elseif file_name =~ '\.ml$' || file_name =~ '\.mli'
if stridx(getline("."), "\(\*") == -1 && stridx(getline("."), "\*)/") == -1
execute ":silent! normal ^i\(*\<ESC>$a*)\<ESC>==\<down>^"
endif
" for .vim files use --
elseif file_name =~ '\.vim$' || file_name =~ '\.vimrc$'
execute ":silent! normal :s/\\S/\\\"\\0/\<CR>:nohlsearch<CR>"
" for .sql files use --
elseif file_name =~ '\.sql$'
execute ":silent! normal :s/\\S/\\-\\-\\0/\<CR>:nohlsearch<CR>"
" for .ksh or .sh or .csh or .pl or .pm files use #
elseif file_name =~ '\.[kc]\?sh$' || file_name =~ '\.pl$' || file_name =~ '\.pm$'
execute ":silent! normal :s/\\S/\\#\\0/\<CR>:nohlsearch<CR>"
" for .tex use %
elseif file_name =~ '\.tex$' || file_name =~ '\.nw$'
execute ":silent! normal :s/\\S/\\%\\0/\<CR>:nohlsearch<CR>"
" for fortran 77 files use C on first column
elseif file_name =~ '\.f$' || file_name =~ '\.F$'
execute ":silent! normal ^gIC\<ESC>\<down>^"
" for fortran 90/95 files use !
elseif file_name =~ '\.f90$' || file_name =~ '\.F90$' || file_name =~ '\.f95$' || file_name =~ '\.F95$'
execute ":silent! normal :s/\\S/!\\0/\<CR>:nohlsearch<CR>"
" for VHDL and Haskell files use --
elseif file_name =~ '\.vhd$' || file_name =~ '\.vhdl$' || file_name =~ '\.hs$'
execute ":silent! normal ^gI-- \<ESC>\<down>^"
" for all other files use #
else
execute ":silent! normal :s/\\S/\\#\\0/\<CR>:nohlsearch<CR>"
endif
endfunction
" function to range un-comment lines in visual mode
function! RangeUnCommentLine()
let file_name = buffer_name("%")
" for .cpp or .hpp or .java files use //
if file_name =~ '\.cpp$' || file_name =~ '\.hpp$' || file_name =~ '\.java$' || file_name =~ '\.php[2345]\?$' || file_name =~ '\.C$'
execute ":silent! normal :s/\\/\\///\<CR>:nohlsearch\<CR>=="
" for .c or .h or .pc or .css files use /* */
elseif file_name =~ '\.c$' || file_name =~ '\.h$' || file_name =~ '\.pc$' || file_name =~ '\.css$' || file_name =~ '\.js$'
execute ":silent! normal :nohlsearch\<CR>:s/\\/\\*//\<CR>:s/\\*\\///\<CR>:nohlsearch\<CR>=="
" for .vim files use "
elseif file_name =~ '\.vim$' || file_name =~ '\.vimrc$'
execute ":silent! normal :s/\\\"//\<CR>:nohlsearch\<CR>"
" for .sql files use --
elseif file_name =~ '\.sql$'
execute ":silent! normal :s/\\-\\-//\<CR>:nohlsearch\<CR>"
" for .ml .mli
elseif file_name =~ '\.ml$' || file_name =~ '\.mli$'
execute ":silent! normal :nohlsearch\<CR>:s/(\\*//\<CR>=="
execute ":silent! normal :nohlsearch\<CR>:s/\\*)//\<CR>=="
" for .xml .html .xhtml .htm use <!-- -->
elseif file_name =~ '\.html$' || file_name =~ '\.htm$' || file_name =~ '\.xml$' || file_name =~ '\.xhtml$'
execute ":silent! normal :nohlsearch\<CR>:s/<!--//\<CR>=="
execute ":silent! normal :nohlsearch\<CR>:s/-->//\<CR>=="
elseif file_name =~ '\.[kc]\?sh$' || file_name =~ '\.pl$' || file_name =~ '\.pm$'
execute ":silent! normal :s/\\#//\<CR>:nohlsearch\<CR>"
" for .tex use %
elseif file_name =~ '\.tex$' || file_name =~ '\.nw$'
execute ":silent! normal :s/%/\<CR>:nohlsearch\<CR>"
" for fortran 77 files use C on first column
elseif file_name =~ '\.f$' || file_name =~ '\.F$'
execute ":silent! normal ^x\<ESC>\<down>^"
" for fortran 90/95 files use !
elseif file_name =~ '\.f90$' || file_name =~ '\.F90$' || file_name =~ '\.f95$' || file_name =~ '\.F95$'
execute ":silent! normal :s/!//\<CR>:nohlsearch\<CR>"
" for VHDL and Haskell files use --
elseif file_name =~ '\.vhd$' || file_name =~ '\.vhdl$' || file_name =~ '\.hs$'
execute ":silent! normal :s/-- //\<CR>:nohlsearch\<CR>"
" for all other files use #
else
execute ":silent! normal :s/\\#//\<CR>:nohlsearch\<CR>"
endif
endfunction
Linux: .vimrc的更多相关文章
- Linux .vimrc 设置项
Linux 下,.vimrc 有两个.一个是全局使用的(/etc/vimrc),另一个是个人使用的(~/.vimrc). 大部分的情况下,我们只需要设置自己目录下的.vimrc 即可. # vim ~ ...
- linux --> vimrc的配置
vimrc的配置 .vimrc文件: " 去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 set nocompatible "代码补全 set completeopt ...
- linux .vimrc的设置!
0.记得在配之前先下载vim.不同的版本下载vim使用不同命令 ubuntu使用sudo apt-get install vim 1.vi ~/.vimrc 打开当前用户下的vim的配置文件(修改完 ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- u-boot平台的建立,驱动的添加,索引的创建,命令机制的实现.
一:U-boot移植前建立自己的平台: 关注的相关文件:1.u-boot- 2010.03/board/samsung/ //这个目录下需要创建自己的板级目录fsc100 cp –a smdkc100 ...
- vim和tmux主题颜色不一致问题
没开tmux时使用vim 以及 开了tmux后使用vim 主题颜色不一致.随便打开一个.py文件,发现着色较深,非常影响阅读. 开始在.tmux.conf 中设置set -g defaul ...
- vim中ctags应用
ctags(Generate tag files for source code)是vim下方便代码阅读的工具.尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM.并且VIM中已经默认安装 ...
- Linux上 .vimrc文件
在Linux上面对VIM编辑器的格式的设置通常可以提升工作效率,下面对工作机器上的.vimrc文件的内容进行一总结,以备后续的查询 set smarttab set tabstop=4 set shi ...
- Linux 配置 vimrc
由于熟悉了Windows下利用编译器进行编程,所以在刚刚接触Linux后的编程过程中会感觉其vim编译器的各种不方便编写程序,在逐渐的学习过程中了解到可以通过配置vimrc使得vim编译时类似于VS. ...
随机推荐
- 8 个最佳 PHP 库
PHP标准库 (SPL)的目的就是提供一组接口,让开发者在PHP5中充分利用面向对象编程.因此本文我们搜集了8个最好的,能辅助开发者简化他们的工作,为他们的开发任务服务的PHP库. 如果你喜欢本文,也 ...
- sqlserver快速查找所有存储过程中是否包含某字符
--将text替换成你要查找的内容 select name from sysobjects o, syscomments s where o.id = s.id and text like '%tex ...
- 小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个数中选取部分求和
小易邀请你玩一个数字游戏,小易给你一系列的整数.你们俩使用这些整数玩游戏.每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字. 例如: 如果{2,1,2 ...
- 利用 libiconv 实现汉字编码 utf-8 格式 和 gbk格式的相互转换
参考文章:http://jimmee.iteye.com/blog/2174693 关于windows上编译libiconv的库,请参见:http://www.cnblogs.com/tangxin- ...
- php--递归调用
- php--memcahce安装
安装php_memcache.dll扩展 1.首先将php_memcache.dll文件放入E:\server\php\ext目录下 (php_memcache.dll下载地址:http://wind ...
- JavasScript判断输入框不为空
<form name="form1" method="POST" action="add.php"> <table wid ...
- Magento打印(配送单、退款单、发票)时PDF中的乱码问题
我使用Magento1.4.2,在其自带的TTF文件不能很好地解析中文字符,TTF文件的位置在网站根目录下的/lib/LinLibertineFont/中.打印的中文字符都是这样的 解决方法: 1.在 ...
- grep与find
grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出.grep全称是Global Regular Expression Print -c:只输出匹配行的计数.-I:不区分大小写(只适 ...
- LightOj1203 - Guarding Bananas(凸包求多边形中的最小角)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1203 题意:给你一个点集,求凸包中最小的角:模板题,但是刚开始的时候模板带错了,错的我 ...