对于较长的页面,非常有必要显示“回到页首”按钮,以帮助用户快速返回到页面的开头。
使用以下HTML代码,在页面底部显示“回到页首”图标:
使用以下CSS代码,让按钮浮动显示在固定位置--即使在页面滚动时也始终停留在可见范围内:
页面显示效果,如下图所示:

您也可以下载完整的示例文件。
文艺最可贵的地方,在于它的独特、稀有却正中下怀的触动。
从小我就常常想,为什么孤单、孤独不好?是负面的词?后来我发现,这是被教育出来的。
记得有个统计数据是,淡忘一个爱过的人,提起他的名字都不再波动,平均起来是需要十八个月的时间。
爱情的本质只是你渴望在某个人身上的投射面,渴望变了,人还是那个人,爱情却消失了。而所有在爱情中写给对方的文字,都是跟自己的对话。
在一段时间内,两个人彼此在同一频率、平行行走、互相欣赏,你们的计划、价值和感受是那么的相同,这一段时间的情感叫做爱情。爱情是有寿命的,就像失恋、上帝给我们的躯体一样。而爱情过后,尽可能把那段时间内的感受、感激留下来,它们才是没有寿命的。
我不会期待找一个各个方面都跟我相契的灵魂伴侣,这样的人应该是不存在的。我只能希望在人生的某些时段,遇到不同的、某些方面和我相契的灵魂伴侣,相携一段时光。
今天,游荡在中国的任何一个城市,总能看到拆除,总能看到快速发展的同时如何快速地遗忘。我们的记忆在哪里藏身呢?记忆可以是一首歌,可以是一个日记本,可以是一条街,可以是一座工厂,可以是一座城市,更可以是山河大地。我们必须保存我们一个又一个的记忆之盒,在这些盒子里保存的是我们成为人的依据。
--贾樟柯 《温暖的记忆》
Font Xplorer 是一个免安装的绿色软件,用于管理Windows字体。它可以运行在 Windows 9x/Me/NT4/2000/XP 操作系统下,但不支持Windows Vista/7/8 。
在程序主界面中,可以利用树状结构,浏览已经安装和尚未安装的字体,并安装或删除选中的字体。
安装字体时,可以选择将字体文件保留在当前文件夹(leave where they are);将字体文件复制到系统字体目录(copy to Windows fonts folder);或者将字体文件复制到指定目录(copy to different folder)。
有时为了简短,字体文件的名字会变得不知所云(比如arialbi.ttf);利用Rename fonts to Full Name功能,可以将文件名改为字体的名称(Arial Bold Italic.ttf)。
在字符表(Character Map)中,可以浏览所有字符或放大个别字符;可以根据字符集过滤字符;甚至能够将字符复制为格式文本或适量图像,并粘贴到其它程序中。
注意:Font Xplorer 支持 TrueType 和 OpenType fonts with TrueType outlines;但不支持Adobe Type 1 fonts 和 OpenType fonts with PostScript outlines。
在目录间移动
使用以下命令,可以显示当前所在的目录:
:pwd
使用以下命令,在Linux下可以进入HOME目录,而在Windows下则显示当前所在目录:
:cd
使用以下命令,可以进入指定的目录:
:cd D:\tepm
使用以下命令,可以返回前一个目录:
:cd -
使用以下命令,可以返回上一级目录:
:cd ..
我们还可以使用以下命令,创建新的目录:
:!mkdir my_project
利用wildmenu选择目录
在vimrc配置文件中,增加以下两条命令,可以在屏幕底部启用wildmenu菜单显示:
set wildmenu
set wildmode=list:longest,full
启用wildmenu菜单之后,在命令行中,第一次点击Tab时, 将列示所有可能与已输入字符相匹配的命令列表;第二次点击Tab时,则将在显示的wildmenu中遍历匹配项;然后点击回车键做出选择。
使用:help wildmode和:help wildmenu命令,可以查看更多帮助信息。
在命令行中输入:e命令,紧接着输入一个空格,然后点击Tab键,将在屏幕底部的wildmenu中,显示当前目录下的子目录和文件列表:

再次点击Tab键,可以选择下一个项目,点击Shift + Tab键则可以选择上一个项目 ;使用左右移动键,也可以在文件列表中进行选择;而使用上下移动键,则可以移动至上一层或下一层目录。点击回车键,将打开选中的文件或文件夹。

如果在命令行中输入:e命令,紧接着输入一个空格以及文件名的开头部分,然后点击Tab键,那么将在屏幕底部的wildmenu中显示与之相匹配的项目;如果只发现一个匹配项,那么将会直接补全文件名:

:Explore
使用:Explore命令(注意开头E大写)打开文件浏览器,可以在其中切换目录并选择打开文件。
使用键盘移动光标至文件或文件夹名称上,然后点击Enter回车键,可以在当前窗口中打开该文件或文件夹;如果希望在新建窗口中打开文件或文件夹,那么可以点击o键。
直接使用鼠标点击文件或文件夹名称,也可以在当前窗口中打开该文件或文件夹。
点击大写R键,然后修改窗口底部信息中的第二个文件名,可以重命名当前光标下的文件。
点击大写D键,然后在窗口底部信息中进行确认,则可以删除当前光标下的文件。
点击/键,可以在文件列表中进行查找。
goto file
如果当前文件中包含了其他文件名,那么我们可以移动到文件名位置,然后直接使用gf命令在新的缓冲区中打开链接的文件。例如下图所示,在HTML文件中引用了CSS文件,那么只需要在CSS文件名处执行gf命令,Vim就会在当前文件夹中查找并打开引用的CSS文件。
如果文件名中没有指明扩展名称,那么可以使用以下命令来指定gf需要查找的文件类型:
:set suffixesadd+=.rb
如果我们希望gf在多个文件夹中尝试查找并打开文件,那么可以使用以下命令来定义文件夹列表:
:set path+=D:/Anthony_GitHub/learn-vim/**
使用以下命令可以查看当前path选项的设置:
:set path?
其中,“.”代表当前文件夹下的所有文件;“**”代表所有子文件夹;“,”用于分隔多个文件夹。
我们也可以使用ctrl-Wf命令,在新的分割窗口中打开光标下文件。
文件信息
使用以下命令,可以显示当前文件的名字、状态以及行列相关的信息:
:file
"test.txt" [Modified] 134 lines --55%--
使用以下命令,则可以显示当前文件的总行数:
:=
使用g-Ctrl-g命令,将在状态栏下方显示整个文档的字数和行数,以及当前所处的位置。
如果想要统计当前行的字数,首先移动到行尾,然后使用v命令进入可视化模式,使用0命令移动到行头并选中整行文字,最后使用g-Ctrl-g命令显示选中文本的字数。
在插入模式下,使用<C-R>%命令,或者在常规模式下,使用"%p命令,可以将当前文件名粘贴到文本中。
使用以下命令,可以在文本中查找当前文件名:
/<C-R>%
查看文件
使用:view file命令,将以只读方式打开文件。
使用:set ro命令,会将当前文件置为只读状态。你在文件中进行的任何修改,都无法保存。当然我们也可以使用:write!命令,来强制保存文件。
使用:set noma命令,可以将当前文件置为不可修改状态,Vim会阻止任何修改操作。
新建文件
使用:vi file命令,在新建缓冲区中编辑名为file的新文件。如果当前文件没有保存,那么将会显示警告信息,此时可以输入:write命令,来保存当前文件。
使用:vi! file命令,将不保存当前文件而强制开始编辑新文件。
另存文件
使用以下命令,可以将当前文件另存为以name命名的新文件,并在当前缓冲区中开始编辑新文件:
:file name
工作目录
使用以下命令,可以查看Vim所在的当前工作目录:
:pwd
切换目录
如果想要切换到其它目录,可以使用以下命令:
:cd dir
注意:如果没有指定目录,那么使用:cd命令,在Linux下,将回到home用户主目录;而在Windows下,则会显示当前工作目录。
如果想要回到前一个工作目录,可以使用以下命令:
:cd -
:Explore | 打开文件浏览器 |
gf | 打开以当前光标下文字命名的文件 |
:file | 显示当前文件的名字、状态以及行列信息 |
:= | 显示当前文件的总行数 |
g-Ctrl-g | 显示行列信息和字数统计 |
:set ro | 将当前文件置为只读状态 |
:set noma | 将当前文件置为不可修改状态 |
:vi | 新建文件 |
:view | 以只读方式打开文件 |
:pwd | 显示当前工作目录 |
:cd | 切换目录 |
类似常见问题(FAQ)的网页,通常都会首先显示所有问题列表,然后在用户点击某个问题时自动展开显示详细答案。收放自如的版式,既可以让读者在同一页面中查看大量信息,又不至于因为内容过多而使页面布局凌乱。
方案 1Toggle Visibility
可以使用以下代码,显示或隐藏指定区域。此方案的优势是,代码和结构都非常简单。而不足是,当区域显示后需要再次点击链接以重新隐藏内容。请查看在线实例。
方案 2Simple Javascript Accordions
Dezinerfolio使用Javascript开发的Simple Javascript Accordions,提供了横向、纵向和标签页等多种形式的收放效果。此方案的优势是,利用插件减少开发成本。而不足是,需要在页面加载时启动此插件,可能与其它插件产生冲突。请查看在线实例。
方案 3CSS3 Accordion Effect
CSS Ninja使用CSS3开发的Accordion Effect,提供了纯CSS并且支持多种浏览器(包括IE6+)的收放效果。此方案的优势是,CSS便于调试,并且不会与其它插件产生冲突。而不足是,收放效果在IE和非IE浏览器中稍有不同:在非IE中浏览器中,需要点击链接以展开内容;而在IE中,鼠标移动到标题行就会自动扩展显示。请查看在线实例。
注意:以上方案均需要为每段问答指定ID,代码维护成本较高。
查看帮助
使用以下命令或直接按下F1键,可以查看帮助文件:
:help
使用查询命令,可以在帮助文件中查找特定主题的帮助信息。例如使用/mode命令,即可找到关于模式的帮助信息。
在帮助信息中的命令、选项或章节等链接上双击鼠标或点击ctrl-]键,就可以跳转到相关的帮助信息。点击ctrl-o或ctrl-t则可以在查阅过的帮助信息之间进行跳转。
帮助目录
使用以下命令,可以显示用户手册的目录:
:help usr_toc
精确查找
如果你想要查看特定命令的帮助信息,那么可以直接在帮助命令中指定命令做为参数:
:help :undo
通过set wildmenu设置命令,可以在窗口底部显示菜单选项。当我们并不知道确切的命令名称时,可以只输入开头的几个字母,然后按下Tab键,就将在wildmenu中显示可能匹配的命令。继续按Tab键,可以在这些命令列表间移动,按下回车键就会显示选中命令的帮助信息。
使用:help ctrl<Tab>命令,可以列出所有和CTRL键相关的帮助主题。使用:help i_CTRL-R命令,则只显示在插入模式下CTRL-R的帮助信息;而:help c_CTRL-R命令,则显示在常规模式下CTRL-R的帮助信息。
模糊查询
如果不知道具体的命令名称,那么可以使用以下命令在所有帮助文件中查询相关信息。例如,使用此命令,将逐一显示所有与插入模式相关的帮助信息。
:helpgrep insert mode
可以使用:cnext命令,查看下一条帮助信息;使用:cprev命令,查看上一条帮助信息。
如果有很多相关的帮助信息,可以使用:clist命令,列示所有包含指定主题的帮助信息。
使用:cwin命令,则可以在QuickFix窗口中列示所有相关帮助信息的条目。利用鼠标滚轴、方向键或j,k移动命令可以在条目间移动,按下回车键则可以打开当前条目的帮助信息。使用:cclose命令,可以关闭QuickFix窗口。
更多帮助资源
:help quickref命令,可以查看快速索引:
:help tips命令,可以查看使用技巧:
我们还可以访问网页版的Vim帮助文件:English Version|中文版。
:help | 查看帮助 |
:helpgrep | 使用正则表达式模糊查询帮助信息 |
在编辑文件的过程中,Vim将会在当前目录中自动生成一个以.swp结尾的临时交换文件,用于备份缓冲区中的内容,以便在意外退出时可以恢复之前编辑的内容。
启用/禁用交换文件
可以使用以下命令,设置生成交换文件:
:set swapfile
可以使用以下命令,设置Vim不产生交换文件:
:set noswapfile
注意,以上设置仅针对当前文件生效。
处理交换文件
当完成编辑并保存退出后,临时交换文件将会被删除;但如果Vim意外退出,那么这个临时文件就会留在硬盘中。当Vim再次启动时,会检查当前目录中是否存在交换文件。如果存在,则意味着Vim正在编辑此文件,或者在上次编辑过程中意外退出,这时Vim就会给出警告信息,并要求我们在以下四个选项中做出选择:
查看交换文件
Vim意外退出时,并不会覆盖旧的交换文件,而是会重新生成新的交换文件。例如,第一次产生的交换文件名为“.file.txt.swp”;再次意外退出后,将会产生名为“.file.txt.swo”的交换文件;而第三次产生的交换文件则为“.file.txt.swn”;依此类推。
使用以下命令,可以查看当前交换文件的名称:
:swapname
也可以在命令行中使用以下命令,列示当前目录和临时目录下的交换文件:
vim -r
命令的执行结果,如下图所示:
交换文件选项
根据默认设置,交换文件会每隔4000毫秒(4秒)或者200个字符保存一次。我们可以使用以下命令,修改保存交换文件的频率:
:set updatetime=23000
:set updatecount=400
注意,如果我们将updatecount的值为0,那么就将不保存交换文件。
Vim默认在当前文件所处的目录下产生交换文件,我们可以通过directory选项来更改交换文件产生的目录。例如,使用以下命令将交换文件存放在/tmp目录下:
:set directory=/tmp
注意,如果我们将交换文件存储在一个指定目录,那么当编辑不同目录下相同名称的文件时,就会产生命名冲突。我们可以将directory选项设置为一个以逗号分隔的目录列表,并将当前目录(.)设为目录列表的第一个选项,这样交换文件首先会被存放在当前目录下。
:set directory=.,/tmp
保存交换文件
使用以下命令,可以保存修改到交换文件中,而原始文件则保持不变(直到使用:write或ZZ命令退出时原始文件才会被重写)。也就是说,我们可以在丢失原始文件的情况下,使用交换文件来恢复文档。
:preserve
从交换文件恢复
可以使用以下命令,来修复指定的文件:
:recover temp.txt
如果存在多个交换文件,那么可以根据屏幕提示选择从指定的交换文件恢复:
如果没有指定文件名,那么将默认恢复当前缓冲区中的文件。如果试图修复的文件正处于编辑状态,那么将返回错误。如果想要放弃所做的编辑并修复文档,那么可以使用以下命令进行强制修复:
:recover! temp.txt
在命令行下使用以下命令,可以从指定的交换文件进行恢复:
vim -r file.txt.swo
你可以使用以下命令,查看关于交换文件的帮助信息:
:help swap-file
:swapname | 查看当前交换文件的名称 |
:preserve | 保存修改到交换文件 |
:recover | 从交换文件恢复 |
:set swapfile | 启用交换文件 |
:set noswapfile | 禁用交换文件 |
:set updatetime | 设置保存交换文件的时间频率 |
:set updatecount | 设置保存交换文件的字数频率 |
:set directory | 设置用于保存交换文件的文件夹 |
光标显示选项
可以通过以下命令设置guicursor选项,来定义图形界面下的光标显示:
:set guicursor=mode:style[-highlight],mode:style[-highlight],...
其中,mode是以下选项的组合:
| n | 常规模式 |
| v | 可视模式 |
| ve | 可视模式但不包括selection |
| o | 操作符等待模式 |
| i | 插入模式 |
| r | 替换模式 |
| c | 命令行常规模式 |
| ci | 命令行插入模式 |
| cr | 命令行替换模式 |
| sm | 插入模式下的显示匹配 |
| a | 所有模式 |
其中,style如下:
| horN | 水平栏,字符高度的N个百分比 |
| verN | 垂直栏,字符宽度的N个百分比 |
| block | 光标块,覆盖整个字符 |
| blinkwaitN | 光标开始闪烁前的延迟 |
| blinkonN | 光标显示的时间 |
| blinkoffN | 光标不显示的时间 |
例如,以下命令会在常规、命令和插入模式下,将光标设置为相当于当前字符50%宽度的方块,并使用ncvCursor组高亮显示:
:set guicursor=n-c-v:ver50-ncvCursor
而以下命令则启用不闪烁的方块光标,在插入模式下,使用iCursor组高亮显示,而在可视化模式下,则使用vCursor高亮显示组。
:set guicursor=i:block-iCursor-blinkon0,v:block-vCursor
关于光标显示的更多信息,请使用以下命令查看帮助文档:
:help guicursor
光标颜色
利用以下命令,可以改变光标的前景色和背景色:
:highlight Cursor guifg=white guibg=black
:highlight iCursor guifg=white guibg=steelblue
光标行/列
利用以下命令,使用CursorLine组高亮显示光标所在的屏幕行:
:set cursorline
而利用以下命令,则使用CursorColumn组高亮显示光标所在的屏幕列:
:set cursorcolumn
使用以下命令同时启用光标行和光标列,将显示“十字架”光标,可以准确定位当前位置:
:set cursorline cursorcolumn
利用以下命令,可以改变光标所在行的颜色:
:highlight CursorLine guibg=lightblue ctermbg=lightgray
可以使用以下命令,取消高亮显示光标所在的行和列:
:set nocursorline nocursorcolumn
:set guicursor | 设置光标选项 |
:set cursorline | 高亮光标所在的屏幕行 |
:set cursorcolumn | 高亮光标所在的屏幕列 |
在vim启动过程中,首先将查找配置文件并执行其中的命令。而这些初始化文件一般有vimrc、gvimrc和exrc三种。
利用:version命令,可以得到配置文件的详细信息。
注意:如果执行gvim,那么$VIMRUNTIME/menu.vim也会被执行。
配置文件位置
vimrc是主配置文件,它有全局和用户两种版本。
全局vimrc文件,存放在Vim的安装目录中。可以使用以下命令,确定Vim的安装目录:
:echo $VIM
默认情况下,系统vimrc存放在以下位置:
Linux: /usr/share/vim/vimrc
Windows: c:\program files\vimrc
用户vimrc文件,存放在用户主目录中。可以使用以下命令,确定用户主目录:
:echo $HOME
默认情况下,用户vimrc存放在以下位置:
Linux: /home/username/.vimrc
Windows: c:\documents and settings\username\_vimrc
注意:用户配置文件优先于系统配置文件。
gvimrc是GVIM的配置文件,它也有全局和用户两种版本,并且存放在与vimrc相同的目录中。
默认情况下,系统gvimrc存放在以下位置:
Linux: /usr/share/vim/gvimrc
Windows: c:\program files\vim\_gvimrc
默认情况下,用户gvimrc存放在以下位置:
Linux: /home/username/.gvimrc
Windows: c:\documents and settings\username\_gvimrc
exrc文件,仅用于向后兼容olvi/ex,它的全局和用户两种版本也放置于vimrc相同的目录里。除非你使用vi-compatible模式,否则不需要关注exrc配置文件。
注意:在Unix和Linux下,vim的配置文件被命名为以点开头的隐藏文件;而在Windows下,配置文件则以下划线开头命名。
编辑配置文件
可以使用以下命令,新建缓冲区来编辑配置文件:
:edit $MYVIMRC
也可以使用以下命令,新建标签页来编辑配置文件:
:tabedit $MYVIMRC
例如,我们可以在配置文件中使用以下命令,来设置vim的选项:
:syntax on "打开语法加亮功能
:set shiftwidth=4 "设置缩进宽度为4个空格
其中,单引号(")为注释内容。
应用配置文件
修改配置文件后,需要重新启动Vim,或使用:source命令来应用新的设置:
:source $MYVIMRC
我们可以在配置文件中增加以下命令,在保存后自动应用配置:
autocmd bufwritepost .vimrc source $MYVIMRC
配置文件实例
以下是本人的vim配置文件内容,供各位参考:
柱形图(Bar Chart),适用于显示一段时间内数据的变化或各系列之间比较。(Show data values in comparison to one another.)
柱形图不仅可表现单一的数据,也可将多种数据进行并列比较。同时,我们还可以对柱形进行艺术加工,柱形本身也能采用其他的象形符号来表现。另外,当参与比较的数据差异较大时,可将柱形转变为用圆形或正方形等紧凑的图形,通过其面积的不同来进行比较。更进一步的话,还能使用立方体\球体,用体积的形式来表示。折线图只能表现数据随时间变化的过程,而柱形图兼具这个功能。此外,饼围所表示的是数据在 100%中所占的比例,使用柱形图,也能在一条柱形中表现这样的比例关系。正因为柱形图是这样一种全能的统计图,所以它是统计图中最为基础的表现形式。
通过为柱形图设置3D效果,可以使显示风格更为现代:
将柱形图横置,可以突显数据对比和排序效果,但是时间概念就会削弱甚至丧失:
下图统计了2011年度F1比赛中各位车手受到处罚的情况。汉密尔顿毫无意外地排名榜首。图表的纵轴表示受罚的次数,并且利用不同的色彩显示了受罚的类型(比如灰色表示通过维修站)。图表的横轴列示车手头像,从受罚最多到受罚最少依次排列,车手的驾驶风格也变得一目了然。通过增加形状、色彩和图像,原本死气沉沉的柱形也可以变得生动活泼,并且体现出更多数据和含义。
结合使用数字和颜色,在以下横向柱形图中,同时统计了2016年F1银石站车手进站和换胎的情况。纵轴列示了各位车手的姓名;而横轴则显示在全部52圈比赛中停站换胎的节奏:其中,数字表示进站圈数,而不同颜色的横轴则代表使用不同类型的轮胎。
卢夫斯·西格在其著作《欧洲地图集》(Atlas of Europe)中,使用艺术化的柱形图展示了西欧的原油消耗:
Essbase discussion board是一个专注于Hyperion Essbase的技术论坛,其中有很多业界大牛答疑解惑,实为不可多得的学习资源。但是,在天朝你却无法直接访问这个纯技术的论坛。所以,需要经过代理网站才能顺利浏览网站内容:
论坛话题涵盖了Hyperion多种EPM产品(比如Essbase、Planning、Web Analysis),内容非常丰富。我们可以通过RSS订阅论坛更新,以随时关注最新话题。
首先,在RSS阅读器(如Googel Reader)中,订阅论坛的RSS Feed:
然后,右键点击话题条目并复制链接:
最后,将链接粘贴到代理网站的地址栏中,并打开网页: