- 浏览: 346807 次
- 性别:
- 来自: 沈阳
文章分类
最新评论
-
haiw:
谢谢分享
Oracle 的递归查询(树型查询) -
nomandia:
除非是通过open打开的窗口,否则没法close的
JS 关闭当前页面 -
c30989239:
注意 SimpleDateFormat 是非线程安全的
Java 获取网络时间并在jsp中显示 -
归来朝歌:
不错,以后可能用得上
Java 操作Excel -
luhantu:
不错!学习了
Java 操作Excel
1 基本设置
set nocp
该命令指定让 VIM 工作在不兼容模式下。 在 VIM 之前, 出现过一个非常流行的编辑器叫 vi。 VIM 许多操作与 vi 很相似, 但也有许多操作与 vi 是不一样的。 如果使用”:set cp”命令打开了兼容模式开关的话, VIM 将尽可能地模仿 vi 的操作模式。
也许有许多人喜欢”最正统的 vi”的操作模式, 对于初学者来说, vi 里许多操作是比较不方便的。
举一个例子, VIM 里允许在 Insert 模式下使用方向键移动光标, 而 vi 里在 Insert 模式下是不能移动光标的, 必须使用 ESC 退回到 Normal 模式下才行。
再举一个例子, vi 里使用 u 命令可以撤消一次先前的操作, 再次按下 u 时, 将撤消”撤消”这个动作本身, 也就是我们常说的”重复”(redo)。 而 VIM 里可以使用 u 命令撤消多步操作, “重复”使用的快捷键是 Ctrl + R。
使 用兼容模式后, VIM 将放弃这些新的功能, 尽量模仿 vi 的各种操作方式。 只有在不兼容模式下, 才能更好地发挥 VIM 自身的特点。 Bram 爷爷强烈推荐大家使用 VIM 的不兼容模式, 滇狐也是这样推荐的。 请务必在你的 .vimrc 中的第一行写上: “set nocp”。
set ru
该命令打开 VIM 的状态栏标尺。 默认情况下, VIM 的状态栏标尺在屏幕底部, 它能即时显示当前光标所在位置在文件中的行号、列号, 以及对应的整个文件的百分比。 打开标尺可以给文件的编辑工作带来一定方便。
set hls
搜索时高亮显示被找到的文本。 该指令的功能在 vimtutor 中已经有过介绍, 这里就不多说了。 其实似乎许多人并不喜欢这个功能。
set is
搜索时在未完全输入完毕要检索的文本时就开始检索。 vimtutor 对该命令也有过介绍, 滇狐并不喜欢这个功能, 因此滇狐自己的配置文件里是没有这条命令的。 但是周围有朋友很喜欢这个, 因此滇狐还是将它列在这里。
syntax on
打开关键字上色。 进行程序设计的朋友应该都知道关键字上色是什么东西, 因此这里就不多说了。 不进行程序设计的朋友不妨也打开这个功能, 虽然不一定能够用得着, 但这个功能其实也是很好玩的。
set backspace=indent,eol,start
设 想这样一个情况: 当前光标前面有若干字母, 我们按下 i 键进入了 Insert 模式, 然后输入了 3 个字母, 再按 5 下删除(Backspace)。 默认情况下, VIM 仅能删除我们新输入的 3 个字母, 然后喇叭”嘟嘟”响两声。 如果我们”set backspace=start”, 则可以在删除了新输入的 3 个字母之后, 继续向前删除原有的两个字符。
再设想一个情况: 有若干行文字, 我们把光标移到中间某一行的行首, 按 i 键进入 Insert 模式, 然后按一下 Backspace。 默认情况下, 喇叭会”嘟”一声, 然后没有任何动静。 如果我们”set backspace=eol”, 则可以删除前一行行末的回车, 也就是说将两行拼接起来。
当我们设置了自动缩进后, 如果前一行缩进了一定距离, 按下回车后, 下一行也会保持相同的缩进。 默认情况下, 我们不能在 Insert 模式下直接按 Backspace 删除行首的缩进。 如果我们”set backspace=indent”, 则可以开启这一项功能。
上述三项功能, 你可以根据自己的需要, 选择其中一种或几种, 用逗号分隔各个选项。 建议把这三个选项都选上。
set whichwrap=b,s,,[,]
默 认情况下, 在 VIM 中当光标移到一行最左边的时候, 我们继续按左键, 光标不能回到上一行的最右边。 同样地, 光标到了一行最右边的时候, 我们不能通过继续按右跳到下一行的最左边。 但是, 通过设置 whichwrap 我们可以对一部分按键开启这项功能。 如果想对某一个或几个按键开启到头后自动折向下一行的功能, 可以把需要开启的键的代号写到 whichwrap 的参数列表中, 各个键之间使用逗号分隔。 以下是 whichwrap 支持的按键名称列表:
b
在 Normal 或 Visual 模式下按删除(Backspace)键。
s
在 Normal 或 Visual 模式下按空格键。
h
在 Normal 或 Visual 模式下按 h 键。
l
在 Normal 或 Visual 模式下按 l 键。
在 Normal 或 Visual 模式下按右方向键。
~
在 Normal 模式下按 ~ 键(翻转当前字母大小写)。
[
在 Insert 或 Replace 模式下按左方向键。
]
在 Insert 或 Replace 模式下按右方向键。
set encoding=utf-8
设置当前字符编码为 UTF-8。 UTF-8 是支持字符集最多的编码之一, 在 UTF-8 下进行工作, 会带来许多方便之处。 由于 VIM 在运行过程中切换 encoding 会造成许多问题, 如提示信息乱码、 register 丢失等, 因此强烈建议大家在启动 VIM 的时候把 encoding 设置为 UTF-8, 在编辑非 UTF-8 的文件时, 通过 fileencoding 来进行转码。
set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1
设置编码的自动识别。 关于这条设置的详细含义, 请参看这篇文章。
set ambiwidth=double
防止特殊符号无法正常 显示。 在 Unicode 中, 许多来自不同语言的字符, 如果字型足够近似的话, 会把它们放在同一个编码中。 但在不同编码中, 字符的宽度是不一样的。 例如中文汉语拼音中的 ā 就很宽, 而欧洲语言中同样的字符就很窄。 当 VIM 工作在 Unicode 状态时, 遇到这些宽度不明的字符时, 默认使用窄字符, 这会导致中文的破折号”–”非常短, 五角星”★”等符号只能显示一半。 因此, 我们需要设置 ambiwidth=double 来解决这个问题。
2 文本编辑设置
set sw=4
自动缩进的时候, 缩进尺寸为 4 个空格。
set ts=4
Tab 宽度为 4 个字符。
set et
编辑时将所有 Tab 替换为空格。
该选项只在编辑时将 Tab 替换为空格, 如果打开一个已经存在的文件, 并不会将已有的 Tab 替换为空格。 如果希望进行这样的替换的话, 可以使用这条命令”:retab”。
set smarttab
当使用 et 将 Tab 替换为空格之后, 按下一个 Tab 键就能插入 4 个空格, 但要想删除这 4 个空格, 就得按 4 下 Backspace, 很不方便。 设置 smarttab 之后, 就可以只按一下 Backspace 就删除 4 个空格了。
3 断行设置
set lbr
不在单词中间断行。 设置了这个选项后, 如果一行文字非常长, 无法在一行内显示完的话, 它会在单词与单词间的空白处断开, 尽量不会把一个单词分成两截放在两个不同的行里。
set fo+=mB
打开断行模块对亚洲语言支持。 m 表示允许在两个汉字之间断行, 即使汉字之间没有出现空格。 B 表示将两行合并为一行的时候, 汉字与汉字之间不要补空格。 该命令支持的更多的选项请参看用户手册。
4 C/C++ 编码设置
set sm
显示括号配对情况。 打开这个选项后, 当输入后括号 (包括小括号、中括号、大括号) 的时候, 光标会跳回前括号片刻, 然后跳回来, 以此显示括号的配对情况。
set cin
打开 C/C++ 风格的自动缩进。 打开了自动缩进后, 在编码的时候我们可以使用”V”命令选中一段文本后, 按”=”将这段文本重新调整缩进格式, 在一定程度上起到代码美化的作用。
另 外, 打开了自动缩进后, 在使用 TERM 下的 vim 的时, 粘贴代码时常常会出现版式混乱的现象。 那是因为 TERM 并不知道你现在正在粘贴代码, 它直接”粘贴”动作向 vim 解释为键入, 因此 vim 便按照设置的自动缩进格式为你的代码调整了缩进。 不幸的是, 粘贴进去的代码中本身已经包含了缩进, 因此便出现了版式混乱的情况。 在 gvim 中就不会出现这个问题, 因为它能够知道你现在正在粘贴。
知道了这个症状的来由, 解决方案也就显而易见了: 在粘贴的时候把所有自动缩进都关闭, 粘贴完毕之后再打开。 一个个手工关闭自动缩进未免过于繁琐, vim 为我们提供了一个很好用的命令, 只要输入”:set paste”, 就可以关闭所有自动缩进。 粘贴完毕后再输入”:set nopaste”就可以重新打开原有的自动缩进设置了。
set cino=:0g0t0(sus
设定 C/C++ 风格自动缩进的选项, 这里简要介绍一下这段代码里用到的选项的含义, cino 支持的选项还很多, 更多选项请看用户手册。
// :0 // // switch 语句之下的 case 语句缩进 0 个空格,也就是说不缩进,与 switch 块平 // 齐,使用这样风格: switch (x) { case 1: a = b; break; default: } // g0 // // class、struct 等之下的访问权限控制语句,如 public、protected、private 等, // 相对 class、struct 等所在的块缩进 0 个空格,与 class 等块平齐,使用这样的 // 风格: class foo { public: int a; private: int b; }; // t0 // // 如果函数返回值与函数名不在同一行,则返回值缩进 0 个空格,也就是说不缩进,如 // 下所示: // set cino=t4 int func1() { } // set cino=t0 int func() { } // (sus // // 当一对括号跨越多行时,其后的行缩进前面 sw 指定的距离,效果如下: int a = (1 + 2 + 3 + 4 + 5 + 6 + 7 +
* 9;
set ai
打开普通文件类型的自动缩进。 该自动缩进不如 cindent 智能, 但它可以为你编辑非 C/C++ 文件提供一定帮助。
5 其它设置
set selectmode=
不使用 selectmode。
set keymodel=
不使用”Shift + 方向键”选择文本, “Shift + 方向键”代表向指定方向跳一个单词。 如果你喜欢这项功能的话, 可以使用”set keymodel=startsel,stopsel”打开它。
set selection=inclusive
指定在选择文本时, 光标所在位置也属于被选中的范围。 如果指定 selection=exclusive 的话, 可能会出现某些文本无法被选中的情况。
set wildmenu
在命令模式下使用 Tab 自动补全的时候, 将补全内容使用一个漂亮的单行菜单形式显示出来。
colo torte
选择 torte 配色方案。 VIM 里内置了许多关键字上色的配色方案, 另外你还可以到网上下载更多配色方案, 或是自己编写。 点击”编辑”→”调色板”, 就能列出所有支持的配色方案。 你可以把”调色板”子菜单剪下来, 然后慢慢选择, 挑出一个你最喜欢的配色方案来。
6 图形界面设置
set nowrap
指定不折行。 如果一行太长, 超过屏幕宽度, 则向右边延伸到屏幕外面。 如果使用图形界面的话, 指定不折行视觉效果会好得多。
set mousemodel=popup
当右键单击窗口的时候, 弹出快捷菜单。
set guioptions+=b
添加水平滚动条。 如果你指定了不折行, 那为窗口添加一个水平滚动条就非常有必要了。
set guifont=Bitstream\ Vera\ Sans\ Mono\ 9
设 置图形界面下的字体。 你可以点”编辑”→”选择字体”, 然后在对话框中选出你喜欢的字体与字号, 选择完毕后, 先按几下 ESC 确认处在 Normal 模式下, 然后输入这条命令:”:set guifont?” 回车后 gvim 屏幕最下方会显示出你当前所用的字体的名称与字号。 将获得的结果写到配置文件里面就可以了, 需要注意一点, 如果字体名称里面含有空格的话, 在抄的时候需要在所有空格前面加一个斜杠。
7 条件选择
同一个配色方案, 在 gvim 下和字符界面的 vim 下效果大相径庭, 滇狐个人的习惯是,在 gvim 下使用 torte 配色方案, 在 vim 下使用 ron 配色方案。 因此我们有必要针对 gvim 和 vim 进行不同的设置。
另外, 前面我们在 gvim 下不使用折行, 开启水平滚动条, 但在 vim 下,是没有滚动条可用的, 因此还是有必要为 vim 保留自动折行。
条件选择设置的格式如下:
if (has(”gui_running”)) ” 图形界面下的设置 set nowrap set guioptions+=b colo torte else ” 字符界面下的设置 set wrap colo ron endif
gvim的配置收集
有的时候要找找不到,太痛苦了,所以收集一下放在这里 http://edyfox.codecarver.org/html/_vimrc_for_beginners.html http://python.cn/pipermail/python-chinese/2005-August/014449.html http://419labs.googlepages.com/vimsmth.html python的mode http://www.vim.org/scripts/script.php?script_id=30 拷贝到ftplugins文件夹下(有可能覆盖原文件,不过原文件好像没太大用) 自动保存文件问题 gvim编辑文件时,会自动生成带~的备份文件,如果不想每个文件都生成备份文件的话,可以这么作:gvim安装目录下有一个_vimrc文件,里面有这么一句”source $VIMRUNTIME/vimrc_example.vim”,因此找到vimrc_example.vim并打开,将其中 if has(”vms”) set nobackup ” do not keep a backup file, use versions instead else set backup ” 下面是我的~/.vim/ftplugin/python.vim,你可以参考一下 > > setlocal textwidth=75 > setlocal autoindent > setlocal smartindent > setlocal tabstop=4 > setlocal expandtab > setlocal shiftwidth=4 > setlocal smarttab > “compiler pylint > compiler pycheker > > 把它放在ftplugin里就只能对python文件起作用。如果你想对所有类型的文件都使 > 用4个空格作缩进,把相关部分copy到~/.vimrc就可以了。不过不建议这样做:如 > 果你要写Makefile文件的话,是必须使用tab的。 在~/.vimrc里要把setlocal改为set,不然不起作用的。 _vimrc里面的设置: “绑定f12作为python的运行快捷键 map :!J:\Python24\python.exe % “编码设定,可以在locale和文件编码不同时自动选择正确编码 ” Encoding settings if has(”multi_byte”) ” Set fileencoding priority if getfsize(expand(”%”)) > 0 set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1 else set fileencodings=cp936,big5,euc-jp,euc-kr,latin1 endif ” CJK environment detection and corresponding setting if v:lang =~ “^zh_CN” ” Use cp936 to support GBK, euc-cn == gb2312 set encoding=cp936 set termencoding=cp936 set fileencoding=cp936 elseif v:lang =~ “^zh_TW” ” cp950, big5 or euc-tw ” Are they equal to each other? set encoding=big5 set termencoding=big5 set fileencoding=big5 elseif v:lang =~ “^ko” ” Copied from someone’s dotfile, untested set encoding=euc-kr set termencoding=euc-kr set fileencoding=euc-kr elseif v:lang =~ “^ja_JP” ” Copied from someone’s dotfile, unteste set encoding=euc-jp set termencoding=euc-jp set fileencoding=euc-jp endif ” Detect UTF-8 locale, and replace CJK setting if needed if v:lang =~ “utf8tiny_mce_markerquot; || v:lang =~ “UTF-8tiny_mce_markerquot; set encoding=utf-8 set termencoding=utf-8 set fileencoding=utf-8 endif else echoerr “Sorry, this version of (g)vim was not compiled with multi_byte” endif “中文帮助(首先安装中文帮助) if version >= 603 set helplang=cn endif “打开行号 set nu “自动高亮 :syn on “设置代码折叠 set fdm=indent “设置代码折叠宽度为4个字符 set fdc=4 “安装Tlist后设置ctags路径 let Tlist_Ctags_Cmd=”d:\\ctags\\ctags.exe” “设置配色 colo desert “设置折行 if (has(”gui_running”)) ” 图形界面下的设置 set nowrap set guioptions+=b else ” 字符界面下的设置 set wrap endif “标签切换 map th :tabnext map tl :tabprev map tn :tabnew map td :tabclose “tab宽度 set tabstop=4 “tab自动缩进宽度 set shiftwidth=4 “设置自动缩进 :set ai “自动补全 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 php set omnifunc=phpcomplete#CompletePHP “autocmd FileType c set omnifunc=ccomplete#Complete “上面的字符编码可能有问题,下面这样设置简单易行。encoding设置成locale的编码, “fileencodings可以不变 set encoding=cp936 set fileencodings=ucs-bom,utf-8,chinese “调整^x ^p时弹出的框框的颜色 highlight Pmenu guifg=Yellow guibg=DarkBlue “在每个tab上显示编号 set guitablabel=%{tabpagenr()}.%t\ %m ——————————————————————- 下面是进入界面后的命令收集设置自动折行 :set wrap 取消自动折行 :s
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/81915/showart_1799850.html
set nocp
该命令指定让 VIM 工作在不兼容模式下。 在 VIM 之前, 出现过一个非常流行的编辑器叫 vi。 VIM 许多操作与 vi 很相似, 但也有许多操作与 vi 是不一样的。 如果使用”:set cp”命令打开了兼容模式开关的话, VIM 将尽可能地模仿 vi 的操作模式。
也许有许多人喜欢”最正统的 vi”的操作模式, 对于初学者来说, vi 里许多操作是比较不方便的。
举一个例子, VIM 里允许在 Insert 模式下使用方向键移动光标, 而 vi 里在 Insert 模式下是不能移动光标的, 必须使用 ESC 退回到 Normal 模式下才行。
再举一个例子, vi 里使用 u 命令可以撤消一次先前的操作, 再次按下 u 时, 将撤消”撤消”这个动作本身, 也就是我们常说的”重复”(redo)。 而 VIM 里可以使用 u 命令撤消多步操作, “重复”使用的快捷键是 Ctrl + R。
使 用兼容模式后, VIM 将放弃这些新的功能, 尽量模仿 vi 的各种操作方式。 只有在不兼容模式下, 才能更好地发挥 VIM 自身的特点。 Bram 爷爷强烈推荐大家使用 VIM 的不兼容模式, 滇狐也是这样推荐的。 请务必在你的 .vimrc 中的第一行写上: “set nocp”。
set ru
该命令打开 VIM 的状态栏标尺。 默认情况下, VIM 的状态栏标尺在屏幕底部, 它能即时显示当前光标所在位置在文件中的行号、列号, 以及对应的整个文件的百分比。 打开标尺可以给文件的编辑工作带来一定方便。
set hls
搜索时高亮显示被找到的文本。 该指令的功能在 vimtutor 中已经有过介绍, 这里就不多说了。 其实似乎许多人并不喜欢这个功能。
set is
搜索时在未完全输入完毕要检索的文本时就开始检索。 vimtutor 对该命令也有过介绍, 滇狐并不喜欢这个功能, 因此滇狐自己的配置文件里是没有这条命令的。 但是周围有朋友很喜欢这个, 因此滇狐还是将它列在这里。
syntax on
打开关键字上色。 进行程序设计的朋友应该都知道关键字上色是什么东西, 因此这里就不多说了。 不进行程序设计的朋友不妨也打开这个功能, 虽然不一定能够用得着, 但这个功能其实也是很好玩的。
set backspace=indent,eol,start
设 想这样一个情况: 当前光标前面有若干字母, 我们按下 i 键进入了 Insert 模式, 然后输入了 3 个字母, 再按 5 下删除(Backspace)。 默认情况下, VIM 仅能删除我们新输入的 3 个字母, 然后喇叭”嘟嘟”响两声。 如果我们”set backspace=start”, 则可以在删除了新输入的 3 个字母之后, 继续向前删除原有的两个字符。
再设想一个情况: 有若干行文字, 我们把光标移到中间某一行的行首, 按 i 键进入 Insert 模式, 然后按一下 Backspace。 默认情况下, 喇叭会”嘟”一声, 然后没有任何动静。 如果我们”set backspace=eol”, 则可以删除前一行行末的回车, 也就是说将两行拼接起来。
当我们设置了自动缩进后, 如果前一行缩进了一定距离, 按下回车后, 下一行也会保持相同的缩进。 默认情况下, 我们不能在 Insert 模式下直接按 Backspace 删除行首的缩进。 如果我们”set backspace=indent”, 则可以开启这一项功能。
上述三项功能, 你可以根据自己的需要, 选择其中一种或几种, 用逗号分隔各个选项。 建议把这三个选项都选上。
set whichwrap=b,s,,[,]
默 认情况下, 在 VIM 中当光标移到一行最左边的时候, 我们继续按左键, 光标不能回到上一行的最右边。 同样地, 光标到了一行最右边的时候, 我们不能通过继续按右跳到下一行的最左边。 但是, 通过设置 whichwrap 我们可以对一部分按键开启这项功能。 如果想对某一个或几个按键开启到头后自动折向下一行的功能, 可以把需要开启的键的代号写到 whichwrap 的参数列表中, 各个键之间使用逗号分隔。 以下是 whichwrap 支持的按键名称列表:
b
在 Normal 或 Visual 模式下按删除(Backspace)键。
s
在 Normal 或 Visual 模式下按空格键。
h
在 Normal 或 Visual 模式下按 h 键。
l
在 Normal 或 Visual 模式下按 l 键。
在 Normal 或 Visual 模式下按右方向键。
~
在 Normal 模式下按 ~ 键(翻转当前字母大小写)。
[
在 Insert 或 Replace 模式下按左方向键。
]
在 Insert 或 Replace 模式下按右方向键。
set encoding=utf-8
设置当前字符编码为 UTF-8。 UTF-8 是支持字符集最多的编码之一, 在 UTF-8 下进行工作, 会带来许多方便之处。 由于 VIM 在运行过程中切换 encoding 会造成许多问题, 如提示信息乱码、 register 丢失等, 因此强烈建议大家在启动 VIM 的时候把 encoding 设置为 UTF-8, 在编辑非 UTF-8 的文件时, 通过 fileencoding 来进行转码。
set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1
设置编码的自动识别。 关于这条设置的详细含义, 请参看这篇文章。
set ambiwidth=double
防止特殊符号无法正常 显示。 在 Unicode 中, 许多来自不同语言的字符, 如果字型足够近似的话, 会把它们放在同一个编码中。 但在不同编码中, 字符的宽度是不一样的。 例如中文汉语拼音中的 ā 就很宽, 而欧洲语言中同样的字符就很窄。 当 VIM 工作在 Unicode 状态时, 遇到这些宽度不明的字符时, 默认使用窄字符, 这会导致中文的破折号”–”非常短, 五角星”★”等符号只能显示一半。 因此, 我们需要设置 ambiwidth=double 来解决这个问题。
2 文本编辑设置
set sw=4
自动缩进的时候, 缩进尺寸为 4 个空格。
set ts=4
Tab 宽度为 4 个字符。
set et
编辑时将所有 Tab 替换为空格。
该选项只在编辑时将 Tab 替换为空格, 如果打开一个已经存在的文件, 并不会将已有的 Tab 替换为空格。 如果希望进行这样的替换的话, 可以使用这条命令”:retab”。
set smarttab
当使用 et 将 Tab 替换为空格之后, 按下一个 Tab 键就能插入 4 个空格, 但要想删除这 4 个空格, 就得按 4 下 Backspace, 很不方便。 设置 smarttab 之后, 就可以只按一下 Backspace 就删除 4 个空格了。
3 断行设置
set lbr
不在单词中间断行。 设置了这个选项后, 如果一行文字非常长, 无法在一行内显示完的话, 它会在单词与单词间的空白处断开, 尽量不会把一个单词分成两截放在两个不同的行里。
set fo+=mB
打开断行模块对亚洲语言支持。 m 表示允许在两个汉字之间断行, 即使汉字之间没有出现空格。 B 表示将两行合并为一行的时候, 汉字与汉字之间不要补空格。 该命令支持的更多的选项请参看用户手册。
4 C/C++ 编码设置
set sm
显示括号配对情况。 打开这个选项后, 当输入后括号 (包括小括号、中括号、大括号) 的时候, 光标会跳回前括号片刻, 然后跳回来, 以此显示括号的配对情况。
set cin
打开 C/C++ 风格的自动缩进。 打开了自动缩进后, 在编码的时候我们可以使用”V”命令选中一段文本后, 按”=”将这段文本重新调整缩进格式, 在一定程度上起到代码美化的作用。
另 外, 打开了自动缩进后, 在使用 TERM 下的 vim 的时, 粘贴代码时常常会出现版式混乱的现象。 那是因为 TERM 并不知道你现在正在粘贴代码, 它直接”粘贴”动作向 vim 解释为键入, 因此 vim 便按照设置的自动缩进格式为你的代码调整了缩进。 不幸的是, 粘贴进去的代码中本身已经包含了缩进, 因此便出现了版式混乱的情况。 在 gvim 中就不会出现这个问题, 因为它能够知道你现在正在粘贴。
知道了这个症状的来由, 解决方案也就显而易见了: 在粘贴的时候把所有自动缩进都关闭, 粘贴完毕之后再打开。 一个个手工关闭自动缩进未免过于繁琐, vim 为我们提供了一个很好用的命令, 只要输入”:set paste”, 就可以关闭所有自动缩进。 粘贴完毕后再输入”:set nopaste”就可以重新打开原有的自动缩进设置了。
set cino=:0g0t0(sus
设定 C/C++ 风格自动缩进的选项, 这里简要介绍一下这段代码里用到的选项的含义, cino 支持的选项还很多, 更多选项请看用户手册。
// :0 // // switch 语句之下的 case 语句缩进 0 个空格,也就是说不缩进,与 switch 块平 // 齐,使用这样风格: switch (x) { case 1: a = b; break; default: } // g0 // // class、struct 等之下的访问权限控制语句,如 public、protected、private 等, // 相对 class、struct 等所在的块缩进 0 个空格,与 class 等块平齐,使用这样的 // 风格: class foo { public: int a; private: int b; }; // t0 // // 如果函数返回值与函数名不在同一行,则返回值缩进 0 个空格,也就是说不缩进,如 // 下所示: // set cino=t4 int func1() { } // set cino=t0 int func() { } // (sus // // 当一对括号跨越多行时,其后的行缩进前面 sw 指定的距离,效果如下: int a = (1 + 2 + 3 + 4 + 5 + 6 + 7 +
* 9;
set ai
打开普通文件类型的自动缩进。 该自动缩进不如 cindent 智能, 但它可以为你编辑非 C/C++ 文件提供一定帮助。
5 其它设置
set selectmode=
不使用 selectmode。
set keymodel=
不使用”Shift + 方向键”选择文本, “Shift + 方向键”代表向指定方向跳一个单词。 如果你喜欢这项功能的话, 可以使用”set keymodel=startsel,stopsel”打开它。
set selection=inclusive
指定在选择文本时, 光标所在位置也属于被选中的范围。 如果指定 selection=exclusive 的话, 可能会出现某些文本无法被选中的情况。
set wildmenu
在命令模式下使用 Tab 自动补全的时候, 将补全内容使用一个漂亮的单行菜单形式显示出来。
colo torte
选择 torte 配色方案。 VIM 里内置了许多关键字上色的配色方案, 另外你还可以到网上下载更多配色方案, 或是自己编写。 点击”编辑”→”调色板”, 就能列出所有支持的配色方案。 你可以把”调色板”子菜单剪下来, 然后慢慢选择, 挑出一个你最喜欢的配色方案来。
6 图形界面设置
set nowrap
指定不折行。 如果一行太长, 超过屏幕宽度, 则向右边延伸到屏幕外面。 如果使用图形界面的话, 指定不折行视觉效果会好得多。
set mousemodel=popup
当右键单击窗口的时候, 弹出快捷菜单。
set guioptions+=b
添加水平滚动条。 如果你指定了不折行, 那为窗口添加一个水平滚动条就非常有必要了。
set guifont=Bitstream\ Vera\ Sans\ Mono\ 9
设 置图形界面下的字体。 你可以点”编辑”→”选择字体”, 然后在对话框中选出你喜欢的字体与字号, 选择完毕后, 先按几下 ESC 确认处在 Normal 模式下, 然后输入这条命令:”:set guifont?” 回车后 gvim 屏幕最下方会显示出你当前所用的字体的名称与字号。 将获得的结果写到配置文件里面就可以了, 需要注意一点, 如果字体名称里面含有空格的话, 在抄的时候需要在所有空格前面加一个斜杠。
7 条件选择
同一个配色方案, 在 gvim 下和字符界面的 vim 下效果大相径庭, 滇狐个人的习惯是,在 gvim 下使用 torte 配色方案, 在 vim 下使用 ron 配色方案。 因此我们有必要针对 gvim 和 vim 进行不同的设置。
另外, 前面我们在 gvim 下不使用折行, 开启水平滚动条, 但在 vim 下,是没有滚动条可用的, 因此还是有必要为 vim 保留自动折行。
条件选择设置的格式如下:
if (has(”gui_running”)) ” 图形界面下的设置 set nowrap set guioptions+=b colo torte else ” 字符界面下的设置 set wrap colo ron endif
gvim的配置收集
有的时候要找找不到,太痛苦了,所以收集一下放在这里 http://edyfox.codecarver.org/html/_vimrc_for_beginners.html http://python.cn/pipermail/python-chinese/2005-August/014449.html http://419labs.googlepages.com/vimsmth.html python的mode http://www.vim.org/scripts/script.php?script_id=30 拷贝到ftplugins文件夹下(有可能覆盖原文件,不过原文件好像没太大用) 自动保存文件问题 gvim编辑文件时,会自动生成带~的备份文件,如果不想每个文件都生成备份文件的话,可以这么作:gvim安装目录下有一个_vimrc文件,里面有这么一句”source $VIMRUNTIME/vimrc_example.vim”,因此找到vimrc_example.vim并打开,将其中 if has(”vms”) set nobackup ” do not keep a backup file, use versions instead else set backup ” 下面是我的~/.vim/ftplugin/python.vim,你可以参考一下 > > setlocal textwidth=75 > setlocal autoindent > setlocal smartindent > setlocal tabstop=4 > setlocal expandtab > setlocal shiftwidth=4 > setlocal smarttab > “compiler pylint > compiler pycheker > > 把它放在ftplugin里就只能对python文件起作用。如果你想对所有类型的文件都使 > 用4个空格作缩进,把相关部分copy到~/.vimrc就可以了。不过不建议这样做:如 > 果你要写Makefile文件的话,是必须使用tab的。 在~/.vimrc里要把setlocal改为set,不然不起作用的。 _vimrc里面的设置: “绑定f12作为python的运行快捷键 map :!J:\Python24\python.exe % “编码设定,可以在locale和文件编码不同时自动选择正确编码 ” Encoding settings if has(”multi_byte”) ” Set fileencoding priority if getfsize(expand(”%”)) > 0 set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1 else set fileencodings=cp936,big5,euc-jp,euc-kr,latin1 endif ” CJK environment detection and corresponding setting if v:lang =~ “^zh_CN” ” Use cp936 to support GBK, euc-cn == gb2312 set encoding=cp936 set termencoding=cp936 set fileencoding=cp936 elseif v:lang =~ “^zh_TW” ” cp950, big5 or euc-tw ” Are they equal to each other? set encoding=big5 set termencoding=big5 set fileencoding=big5 elseif v:lang =~ “^ko” ” Copied from someone’s dotfile, untested set encoding=euc-kr set termencoding=euc-kr set fileencoding=euc-kr elseif v:lang =~ “^ja_JP” ” Copied from someone’s dotfile, unteste set encoding=euc-jp set termencoding=euc-jp set fileencoding=euc-jp endif ” Detect UTF-8 locale, and replace CJK setting if needed if v:lang =~ “utf8tiny_mce_markerquot; || v:lang =~ “UTF-8tiny_mce_markerquot; set encoding=utf-8 set termencoding=utf-8 set fileencoding=utf-8 endif else echoerr “Sorry, this version of (g)vim was not compiled with multi_byte” endif “中文帮助(首先安装中文帮助) if version >= 603 set helplang=cn endif “打开行号 set nu “自动高亮 :syn on “设置代码折叠 set fdm=indent “设置代码折叠宽度为4个字符 set fdc=4 “安装Tlist后设置ctags路径 let Tlist_Ctags_Cmd=”d:\\ctags\\ctags.exe” “设置配色 colo desert “设置折行 if (has(”gui_running”)) ” 图形界面下的设置 set nowrap set guioptions+=b else ” 字符界面下的设置 set wrap endif “标签切换 map th :tabnext map tl :tabprev map tn :tabnew map td :tabclose “tab宽度 set tabstop=4 “tab自动缩进宽度 set shiftwidth=4 “设置自动缩进 :set ai “自动补全 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 php set omnifunc=phpcomplete#CompletePHP “autocmd FileType c set omnifunc=ccomplete#Complete “上面的字符编码可能有问题,下面这样设置简单易行。encoding设置成locale的编码, “fileencodings可以不变 set encoding=cp936 set fileencodings=ucs-bom,utf-8,chinese “调整^x ^p时弹出的框框的颜色 highlight Pmenu guifg=Yellow guibg=DarkBlue “在每个tab上显示编号 set guitablabel=%{tabpagenr()}.%t\ %m ——————————————————————- 下面是进入界面后的命令收集设置自动折行 :set wrap 取消自动折行 :s
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/81915/showart_1799850.html
发表评论
-
Eclipse 中设置自动生成注释
2015-02-27 14:05 2213开发过程中,每次写类文件前面都要添加注释文件,这种 ... -
maven环境配置以及myeclipse集成
2014-04-10 13:44 1491一、maven环境的配置 1准备 安装jdk,本机使用的是1. ... -
ckeditor4.2.2自定义配置
2014-01-10 14:34 1501修改config.js文件,删除里面所有内容,加入如下内容 ... -
ckeditor4.2的配置使用与问题解决
2013-11-05 15:29 3470一、CKeditor的使用 首先从CKEditor的官方网站( ... -
将java源码打成jar包
2014-03-10 17:13 820方法一:通过jar命令 jar命令的用法: 下面是jar命令的 ... -
Ant学习与使用
2013-09-27 16:42 1650一、为什么使用ANT 当一个代码项目大了以后,每次重新编译,打 ... -
Tomcat项目部署方式
2013-09-23 21:52 1103摘自http://blog.csdn.net/diamondy ... -
myeclispe 中deploy问题
2013-09-23 20:02 1544color=blue]1.[size=x-small]在mye ... -
DNS和IPv6配置
2013-09-02 14:32 1288Windows 2003 DNS配置攻略 http://lg ... -
moodle手机版在android平台上的安装配置
2013-08-28 16:19 1639moodle手机版在android平台上的安装配置 一.ph ... -
windows7 右键菜单中安装gvim
2013-08-07 14:23 1636以下方法也适用于右键“用vim编辑”失败的情形,可以用下面的方 ...
相关推荐
本文将深入探讨如何在GVim编辑器中设置字体、背景颜色,以及与这些设置相关的知识。 首先,让我们了解GVim的基本概念。GVim是Vim的图形用户界面(GUI)版本,它保留了Vim的强大力量和效率,同时提供了窗口系统下的...
如果你是个uvm验证人员,或者design,你肯定用过%来自动匹配从Begin到end的跳转,写perl的时候想知道哪个括号和哪个括号是匹配对应的,或者复制的时候用y%来复制一段,或者输入begin敲回车会自动联想出end等等。...
4. "明德扬科教GVIM配置":这个文件或目录可能是明德扬科教提供的GVim配置文件,包括自定义的颜色主题、快捷键映射、自动完成设置等,以适应FPGA Verilog开发的需求。 总结起来,这个压缩包提供了一个基于GVim的...
本文将深入探讨如何设置 GVim 在启动时加载自定义的默认设置,以提高工作效率和个性化你的编辑体验。 首先,我们关注的是 `_vimrc` 文件,它是 Vim 的配置文件,也被称为初始化脚本。这个文件包含了各种命令和设定...
高亮设置通常会通过.vimrc文件中的语法定义来实现,比如`syntax enable`和`syntax on`开启语法高亮,再通过`syntax highlight`命令定义不同的颜色和样式。 UVM(Universal Verification Methodology)是基于...
下载gvim 7.3 (7.4x会报错,但也可以正常使用) 安装。然后解压本文件,覆盖到gvim安装目录 基础操作: NERDTree : F5 关闭窗口 : F6 保存 :ctrl+s copy : ctrl+c 粘贴 :ctrl+v 窗口透明度 + : Shift+t 窗口...
本压缩包文件专注于为gvim(图形化版本的vim)提供对Verilog、VHDL以及System Verilog这三种硬件描述语言的高亮显示支持。下面将详细解释如何利用这些文件实现这一功能。 首先,让我们了解这三种语言。Verilog是...
查看.log文件时,语法不能按照自己的意愿高亮很不爽,所以自己写了个,大家记得在.vimrc中加上 autocmd BufRead,BufNewFile *.log so xxxxx/log.vim
gvim补全插件snipmate使用 一.此版本已经修正了在php文件中书写html代码时的缩进问题,希望能和大家一起努力! 你把这个文件夹和vim配置文件直接拷贝覆盖到你的gvim安装目录下,你简单的看一下你的gvim安装目录就...
“最佳vim技巧”很可能是随GVim72一同提供的一个文本文件,里面可能包含了一些高级用户推荐的Vim使用技巧,比如如何快速移动光标、多窗口编辑、宏录制与回放、查找替换、自动缩进设置、使用插件等。这些技巧可以帮助...
`README.txt` 文件通常包含对压缩包内容的解释和使用说明,可能指导用户如何安装和配置这些文件,或者提供关于Zen Coding和GVim设置的附加信息。阅读此文件对于正确使用这些资源至关重要。 最后,`vimfiles` 目录...
该vim文件用于vim/gvim下,systemverilog/VMM/UVM文件自动高亮关键字.基于的文件版本及内容为: 1.systemverilog 1800-2012中附录内所有关键字; 2.VMM 1.2中class\method\type\macro; 3.UVM 1.2中class\method\type\...
一个小插件,蛮好用的。插件放到~/.vim/plugin/目录下,如果没有此目录,创建,配置信息填入~/.vimrc,如果没有此文件,创建即可。配置好后按F3显示目录树 配置信息: "useful remap nmap <F3> :NERDTree ...
第一行开启语法高亮,第二行启用文件类型插件和缩进规则,第三行则是在打开或读取`.sv`文件时自动设置其文件类型为SystemVerilog。 **2. SystemVerilog支持** SystemVerilog是一种广泛用于硬件描述和验证的语言,...
- 用户可以根据自己的需求调整GVIM的配置,例如设置默认字体、颜色方案等。 - 学习和掌握Vim的命令语法是充分利用GVIM的关键,这需要一定时间的练习和习惯培养。 4. **Vim与GVIM的关系:** - Vim有命令行版和...
### Windows上gvim的编码设置详解 #### 一、引言 gvim 是 Vim 的图形界面版本,在 Windows 系统中被广泛使用。由于 Windows 默认采用 CP936 编码,而 gvim 默认采用 GB2312 编码打开文件,这往往会导致中文字符...
本人用来顺手的gvim设置文件 windows下 完美运行 大家要的 下载吧吧
你可以通过修改 `.vimrc` 文件,定制快捷键、设置配色方案、加载插件等,使 Gvim 完全适应你的工作需求。 ### 5. **下载与安装** Gvim 是跨平台的,支持 Windows、Linux 和 macOS 等操作系统。在 Windows 上,你...
在Linux环境下,GVIM是一款非常受欢迎的文本编辑器,尤其对于硬件描述语言(如Verilog和System Verilog)的编程人员来说,它提供了强大的编辑功能和高度可定制性。本篇将详细介绍如何在Linux上配置GVIM以优化Verilog...
我正在使用的 _vimrc 配置文件、配色方案和字体。 1.有任何问题,请和 rubble@126.com ... 2.安装 bitstream_vera_mono 文件夹里的字体; 3.将vim目录里的文件和文件夹覆盖你的安装目录里的同名文件夹和文件。