星期五, 九月 18, 2009

在Mac下加密PDF

利用预览(Preview)程序的“存储为...”功能,在保存对话框中选中“加密”选择框;点击“存储”按钮后,将要求你输入密码。通过此过程,你将user password和owner password设置为相同的密码。

Preview_Encrypt

Set the Passwords to PDF是一个免费的程序包,其中包括一个名为“pdfauxinfo”的命令行工具,和一个名为“Add Auxiliary Info to PDF”的Automator动作。它可以为PDF文件设置user password和owner password。

Set_the_Password_to_PDF_v2

jPdf Tweak是一个用Java编写的跨平台的开源软件。她可以说是一把PDF的瑞士军刀,提供了组合、拆分、旋转、排序、水印和加密PDF等多种功能

首先,在“Input”页里选择要加密的PDF文档;然后,在“Encrypt/Sign”页里分别设置user password和owner password两组密码,在这里还可以选择加密模式和分配权限;最后,在“Output”页里生成加密后的新文件。

jPDFTweak_Encrypt

通常:如果你知道owner password,那么你几乎可以对文档做任何事;如果你只知道user password,那么你就只能做那些被授权的事。

注意:user password和owner password两组密码的作用,可能因为阅读器的不同而不同。

情形行为
User PasswordOwner PasswordPermission to printPreview 4.2Skim 1.2
YesYesYes打开文档,需要输入User Password或Owner Password。打印文档,不需要再次输入密码。
YesYesNo打开文档,需要输入User Password或Owner Password。打印文档,必须输入Owner Password。
YesNoYes输入user password即可以打开和打印文档。
YesNoNo打开文档,需要输入user password。但不能打印文档。
NoYesYes不需要密码密码,即可以打开和打印文档。
NoYesNo打开文档,不需要输入密码。打印文档,需要输入owner password。

当你打开设置了密码的PDF文档时,阅读器将提示你输入密码,并根据权限限制你的操作。开源的PDF阅读程序Skim还可以将密码保存至Keychain中,以免去多次重复输入密码的烦琐。

注解:钥匙串访问(Keychain)是Mac内置的程序,用于集中保存登录网站、软件的密码和保存加密内容。

Skim_RemeberPassword

Tags: , , ,

星期日, 九月 13, 2009

胡须管理

这应该是名符其实的标题党了吧!可这并不是我干的,这是从《周末画报》上看来的。这年头,不夸大其辞,不装成“专家”,真是没法出来见人了。

普通男人一生在剃须上要花超过1500个小时。有些估算显示竟要这个时间的两倍。控制胡须的生长是一项必须的男性工作,而非自我陶醉的享乐。

我很喜欢“湿刮”享受。虽然享受不起理发大师25欧元的的湿刮服务,但每天早晨只要花上几分钟,自己也能干净舒服来次湿刮,请参考以下步骤:共7步,7分钟。

胡须管理

以下附送7个剃须小贴士

  1. 剃须最好的时机是在你刚洗完澡的时候,这时柔软的剃须状态最利于剃须。
  2. 尽量避免干剃剃须。
  3. 剃须最好分两遍剃除胡须。第一遍顺着胡须生长的方向剃须,第二遍则是逆着胡须生长的方向剃须。
  4. 应该由脸颊上方往下文刮。
  5. 剃须刀不够锋利时,应及时更换。
  6. 千万不要用镊子拔胡子。
  7. 剃须后用凉水洗脸,使面部肌肤毛孔闭合。

再推荐TASK的极致温和剃须泡活氧舒缓须后露,这两款产品清新温和,可以在SEPHORA买到。

星期五, 九月 11, 2009

使用cURL下载文件

curl一个传输文件(上传/下载)的命令行工具,它支持FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, FILE和LDAP等多种协议。在Mac OS X已经预装了curl,我主要用它来下载文件。

基本用法

curl使用格式如下: curl [选项][下载地址]

如果你只是指定网络地址,而没有使用其它选项,那么将直接在屏幕上显示文件的内容:

curl yyq123.journalspace.com

curl_1

下载文件

如果我们想要下载文件,而不是查看,那么可以使用如下命令:

curl -O http://mif.polimercolor.ru/mifsoft/MDict.zip

以上命令会下载文件并以原名保存到当前目录中。如果你想自己指定下载后文件的名字,可以使用-o选项。

curl -o MDict_ver.zip http://mif.polimercolor.ru/mifsoft/MDict.zip

curl_2

断点续传

如果需要继续已经中断的下载,那么可以使用-C选项。利用-C -选项并指出已经部分下载的文件名,curl将自动下载文件的剩余部分。

curl -C - -o Smultron-2.2.6.dmg http://jaist.dl.sourceforge.net/Smultron-2.2.6.dmg

curl_3

使用代理服务器

curl -x 10.1.27.10:1022 ftp://ftp.funet.fi/README

以上命令使用代理地址为10.1.27.10端口为1022的代理服务器下载一个文件。如果代理服务器需要验证,则应该提供合法的帐号和密码。

curl -U user:passwd -x 10.1.27.10:1022 ftp://ftp.funet.fi/README

更多功能

以上提及的只是curl功能中的万分之一, 但是对于普通的文件下载任务已经足够。如果希望了解curl的更多功能,可以用命令:curl -h查看帮助,或者从网站上获得完整的文档,也可查看实际应用的例子

为什么要使用?

  • 聚焦功能,而非软件。如果想喝一瓶啤酒,先要做什么呢?不是去找一个酒瓶启子,而是要打开瓶盖。我们需要的是完成一个任务,而不是去使用一种工具。我见过有人用牙齿、筷子、打火机或用另一个瓶子打开瓶盖,所以完成任务有很多种方法,根据情景和要求的不同也就会有不同的选择。比如下载文件,你可以使用图形化的软件,也可以像我一样就用内置的命令行。因为我需要的功能很简单--能够断点续传文件。只要记住几个简单的命令就,能完成我需要的功能,而且也不需要安装额外的软件,又何乐而不为呢?
  • 一次学习,终生受益。我认为自由软件的最大的竞争优势之一就是--学习成本低。比如我现在学会了curl,不仅仅能在Mac里使用它,有很多Linux中也内置了这个软件,而且它还有几乎所有操作系统的版本(包括Unix,Linux,Solaris,Windows,甚至Dos)。所以,只要学习一次,就能随处可用。而且你通过自由软件学习的知识,可以得到很好的延续和保值。不知您注意了没有--在GmailBloglines的快捷键里,都用j移动到下一条记录,用k移动到上一条记录,难道会这么巧合吗?我相信这是有原因的。因为在文本编辑器Vim中,jk就是用来向下和向上移动。而Vim做为历史悠久的自由软件,出现在几乎所有Linux中,而且也预装在Mac里。这也说明,智慧是跨越时空的,是广受尊重的。而在自由软件中蕴涵的智慧,不但在自由软件界得到广泛传播,而且也扩展到更广的空间,所以你的学习成本也得到更好地保护。现在也不难理解--为什么Firefox中Quick Find的会使用/来激活了吧!

Tags: , , , , , ,

星期日, 九月 06, 2009

在Mac下批注PDF

Mac内置的预览(Preview)程序提供了“椭圆形”、“矩形”、注释和“链接”四种注解,你可以方便地在文件中留下注释(而且能够改变注释的颜色)。你还可以利用“标记”功能,高亮显示文本,为文本增加删除线和下划线。

Annontation_Preview10.5

开源软件Skim提供以下九种批注类型,并分别对应Control+Command+1-9的快捷键。

  1. 文字(Text Note)
  2. 图钉(Anchored Note)
  3. 椭圆(Circle)
  4. 方框(Box)
  5. 高亮(Highlight)
  6. 下线(Underline)
  7. 中线(Strike Out)
  8. 直线(Line)
  9. 徒手(Freehand)

Skim_TakeNote

注意:批注只有使用Skim才能看到,而其它软件并不会显示。这真是个很棒的主意,既保留了文章的原貌,又达到了批注的目的。Skim也将在批注面板中列出所有批注,使你更方便地阅读批注。我们也可以从“Note”菜单中,选择显示(Show Noites)或隐藏(Hide Notes)批注,Skim默认是显示批注的。

Skim对于保存批注也提供了更多选择:在文件导出对话框中,可以选择只保存原始文档;只保存批注、保存文档和批注,或者干脆将批注脱离于原文档而保存为文本或PDF文件。

Annontation_Skim_Export

Tags: , , , , ,

星期二, 九月 01, 2009

用Rsync备份文件

备份一定是件极无聊的事,因为大家都不太愿意去做。常听朋友说丟了手机,坏了硬盘,更痛心的是––大量文件也不复存在。也许,平时定期备份文件,就可以避免这些灾难。

Mac自带的Time Machine可以自动备份包括系统文件、应用程序、音乐、照片、影片和文档在内的所有内容。但是,如果你和我一样希望自己选择备份哪些内容以及在什么时候备份,那么Mac内置的另一款备份工具––Rsync,可能更适合我们。

命令

Rsync是一个简单易用而且功能强大的命令行备份工具。她几乎出现在所有Linux和Unix操作系统中,当然也被包含在Mac OS X里。命令行已经被妖魔化成复杂繁琐的老古董,其实命令行工具(比如Rsync),简单的超乎想象。

打开“实用工具”中的“终端”(Terminal)程序,输入以下命令,就可以轻松完成用户目录的备份:

rsync -aE --delete --progress ~ "/Volumes/backup"

rsync是命令名;

-aE参数设置复制文件及目录,并保持访问权限、修改时间等文件的元数据(metadata);

--delete参数让目标同源保持完全一致,在源目录被删除的文件,在目标目录也会被删除。如果不包含“--delete”选项,那么即使在源目录已经删除的文件,也会仍然保存在目标目录中。

--progress参数将显示复制详细的进度。

~代表当前用户的home目录,也就是你需要备份的源目录;

/Volumes/backup/是备份的目标目录。

如果你对备份的效果不太有把握,不妨先加上以下参数试运行一下命令:

-n参数让命令只是虚拟运行,而不去实际改变任何东西;

Rsync_DryRun

脚本

我们可以指定不同的源目录,来选择需要备份的内容;而/Volumes/backup/则将一个外置硬盘做为备份的目标介质,显然您需要根据自己的驱动名称做出改变。(你可以在Finder或桌面上看到驱动器的名称,或者在终端程序中使用ls /Volumes命令来查看驱动器列表。)将这些命令保存为以.command为后缀名的脚本文件。

Rsync_CommandFile

然后,利用以下命令,使用户有权运行脚本文件:

chmod u+x ~/Documents/Tools/backup.command

chmod命令用于修改文件和目录的权限,u+x参数让所有者有权执行文件。

现在,只要在Finder中,双击backup.command文件,就可以自动完成文件的备份了。

自动

如果需要更加自动化和周期性的备份。打开iCal,新建事件,指定“重复”频率(比如每周或每月),在“提醒”部分,选择“打开文件”,点击下拉菜单中的“其它...”,在弹出的对话框中选择用于备份的脚本文件。今后,每当指定时间到来时,系统就会自动执行备份命令。

iCal_OpenCommandFile

星期一, 八月 31, 2009

VIM学习笔记 编辑多个文件(Edit Multiple Files)

如果需要同时打开并编辑多个文件,可以使用以下几种方法:

  • 在启动vim时,可以指定多个文件做为参数(Argument)以同时打开多个文件;
  • 在Vim中,新建窗口(Window)用于打开文件;
  • 在Vim中,在任一窗口(Window)内,都可以新建多个缓冲区(Buffer)用于编辑不同的文件。

以下表格,简单列举了参数、窗口和缓冲区命令的对照关系:

参数和缓冲区命令对照
:next切换到下一文件:bnext
:previous切换到上一文件:bprevious
:Next:bNext
:first切换到第一个文件:bfirst
:last切换到最后一个文件:blast
:args显示正在编辑的文件名              :buffers
:argument [N] 切换至第N号文件:buffer [N]

参数、缓冲区和窗口命令对照
:snext分割窗口并切换到下一文件:sbnext
:sprevious分割窗口并切换到上一文件:sbprevious
:sNext:sbNext
:sfirst分割窗口并切换到第一个文件:sbfirst
:slast分割窗口并切换到最后一个文件:sblast
:sall分割窗口并显示所有文件:sball
:sargument [N]分割窗口并切换至第N号文件:sbuffer [N]

在不同文件之间拷贝文本

使用标记,在不同文件之间拷贝文本:

  1. 编辑第一文件
  2. 执行命令:split second_file打开另一个窗口并开始编辑第二个文件
  3. 使用命令ctrl+Wp回到含有原始文件的前一个窗口
  4. 将光标移动到要拷贝文本的第一行
  5. 用命令ma标记这一行
  6. 移动到要拷贝文本的最后一行
  7. 执行命令y'a来复制当前光标位置到所做标记之间的文本
  8. 使用命令ctrl+Wp回到将要放置文本的文件
  9. 将光标移到将要插入文本的地方
  10. 使用命令P将复制的文本粘贴到文件中

使用可视化模式,在不同文件之间拷贝文本:

  1. 编辑第一文件
  2. 执行命令:split second_file打开另一个窗口并开始编辑第二个文件
  3. 使用命令ctrl+Wp回到含有原始文件的前一个窗口
  4. 将光标移动到要拷贝文本的第一行
  5. 执行命令V进入可视化模式
  6. 移动到将要复制文本的最后一行,被选中的文本将会被高亮显示
  7. 执行命令y复制选中的文本
  8. 使用命令ctrl+Wp回到将要放置文本的文件
  9. 使用命令P将复制的文本粘贴到文件中

使用寄存器,在不同文件之间拷贝文本:

  1. 编辑第一文件
  2. 执行命令:split second_file打开另一个窗口并开始编辑第二个文件
  3. 使用命令ctrl+Wp回到含有原始文件的前一个窗口
  4. 将光标移动到要拷贝文本的第一行
  5. 执行命令"a3yy将需要复制的行放入寄存器
  6. 使用命令ctrl+Wp回到将要放置文本的文件
  7. 使用命令"ap将复制的文本粘贴到文件中

读入文件

使用:read filename(可简写为:r)命令,可读进一个文件并将内容插在当前行的后面。我们也可以在命令中,指明读取内容放置在文件中的特定位置。例如:0r filename命令,将读取内容放置在文件开头;而:$r filename命令,则会将读取内容放置在文件末尾。

写入文件

命令:write(可简写为:w)用来写入文件(也就是保存当前文件)。

使用以下命令将保存文本到文件collect.txt中:

:write collect.txt

如果这个文件已经存在,那么就会显示错误信息。如果要强行保存,那么需要使用!选项:

:write! collect.txt

我们也可以向已有文件中追加内容。使用以下命令将正编辑的文件内容追加到collect.txt中:

:write >> collect.txt

使用以下命令,将正编辑的文件的部分内容(第100行到文件末尾)追加到collect.txt中:

:100,$write >> collect.txt

如果这个文件不存在,那么就会显示错误信息。可以使用!选项,强行创建并保存新文件:

:write! >> collect.txt

我们还可以导出文件中的部分内容到其它文件中,以达到分拆文件的目的。以下命令将第10行到文件末尾的内容保存到collect.txt中:

:10,$write collect.txt

以下命令则会将当前行到第100行的内容保存到collect.txt中:

:.,100write collect.txt

在可视化模式下,选择内容,然后使用以下命令也可以写入其它文件:

:'<,'> write collect.txt

使用写入命令不仅可以保存文件,而且还可以将文件重定向到其他程序。在Linux系统中,我们可以使用以下命令将文件发送到打印机:

:write !lpr

注意:命令:write! lpr:write !lpr是不同的,前者是强行保存文件,而后者则是将文件发送到打印机。

命令:wall可以保存所有已经修改过的文件(包括隐藏缓冲区中的文件)。

退出文件

:quit可以退出当前文件。而:qall命令,则可以退出所有打开的文件。

如果文件已修改但没有保存,则会在窗口底部显示警告信息并禁止退出。可以使用以下命令,配置Vinm在此类情况下显示确认对话框:

:set confirm

set_confirm

如果想要放弃所做的修改并强行退出,可以使用:qall!命令。

使用命令:wqall组合,可以保存所有文件并退出。

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>

星期一, 八月 24, 2009

VIM学习笔记 参数(Arguments)

启动参数

在启动vim时,可以指定多个文件做为参数,例如以下操作系统命令将打开多个文件,并显示第一个文件:

vim file1.txt file2.txt file3.txt

参数(Arguments)和缓冲区(Buffer)是不同的概念。早在Vi之中,就存在参数概念;而缓冲区则是在Vim之中新引进的。参数列表中的所有文件名,都会同时存在于缓冲区列表之中;但并不是所有缓冲区列表中的文件名,也都会出现在参数列表之中。

例如在启动vim之后,我们使用以下命令打开并编辑文件4:

:e file4.txt

此时显示以下3个参数:

args_3

而缓冲区则为4个:

args_4

参数列表

命令:args可以列示打开的多个文件,并用中括号“[]”标识出正在编辑的文件名。

args

切换多个文件

可以使用:argument命令,直接切换到指定的文件。例如以下命令,将切换至列表中的第三个文件:

:argument 3

需要切换到下一个文件时,可以输入:next命令,如果你没有保存当前文件的修改,vim将给出提示信息,不允许切换到下一文件。输入:write:next命令,则可以保存并切换到第二个文件(此命令也可简写为:wnext)。

使用:next!命令,可以强制切换到第二个文件,但所做改动也将会丢失。使用:set autowrite命令打开自动保存功能,可以避免数据丢失的意外情况;而命令:set noautowrite则可以关闭自动保存功能。

如果想要回到上一个文件,可以使用:previous或是:Next命令。如果要保存当前文件并切换到前一文件,可以使用:wprevious或是:wNext命令。

使用快捷键ctrl+^可以快速切换到上一个文件,以实现在#(current filename)和 %(alternate filename)文件之间快速切换的目的。

使用:first:rewind命令,可以快速切换到第一个文件;而:last命令,则可以快速切换到最后一个文件。

命令小结
:next切换到下一文件
:wnext保存后切换到下一文件
:previous切换到上一文件
:Next
:wprevious保存后切换到上一文件
:wNext
:first切换到第一个文件
:last切换到最后一个文件
:set autowrite打开自动保存功能
:set noautowrite关闭自动保存功能
:args显示正在编辑的文件名
:argument [N]切换至第N号文件

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>

星期六, 八月 22, 2009

金融是艺术

金融就是将钱从一人传到另一人,直到钱不见了的艺术。

Finance is the art of passing currency from hand to hand until finally disappears.

--

沙诺夫

星期四, 八月 20, 2009

在Mac下压缩PDF

Preview

有些PDF文件会因为包含大量图片或随着不断编辑而变得越来越庞大,我们可以用Mac内置的预览(Preview)程序来帮这些臃肿的文件做个瘦身。

  1. 用Preview打开PDF文件;
  2. 选择“文件”菜单下的“存储为...”;
  3. 在“存储为...”对话框中的“Quartz滤镜”选项中,选择“Reduce File Size”;
  4. 保存文档。

Shrink_Using_Preview

Print

我们在初始生成PDF时,就可以缩减它的尺寸。

注意:在10.4 (Tiger)的打印对话框中默认存在“Compress PDF”选项,而在10.5 (Leopard)中却没有直接显示出来。因此,我们需要安装Compress PDF Workflow,以重新激活此功能。

  1. 在任意程序中,选择"Print"菜单;
  2. 在打印对话框中,点击"PDF"按钮,选择"Compress PDF";
  3. 保存文档。

Print_Compress

在10.4 (Tiger)下,还可以利用滤镜选项来压缩PDF文档:

  1. 在任意程序中,选择"Print"菜单;
  2. 在打印对话框中,点击"Copies & Pages"下拉列表,选择"ColorSync";
  3. 点击"Quartz Filter"下拉列表,选择"Reduce File Size";
  4. 保存文档。

Print_to_PDF_ReduceFileSize

警告:缩减文件尺寸,可能降低显示和打印质量,并可能丢失书签。

Tags: , , , ,

星期五, 八月 14, 2009

人类都在太空做了什么?

具体点说,我们花了近40年时间在近地轨道上“研究”失重下的不良反应和那深不见底的宇宙黑洞。我们用有史以来最美丽、最精密、不切实际得让人绝望的航天飞机完成了这些“研究”,再把这个唯美的庞然大物改造成“人货两用运输机”,往返于地面及“巨型玩具”--国际空间站,后者实际上乃冷战后国际主义者们心血来潮的产物,供不同国家的人体验在失重状态下合唱《世界多美妙》之用。

--查尔斯·克拉塔莫 Charles Krauthammer

星期三, 八月 12, 2009

VIM学习笔记 窗口(Window)

窗口(Window)用来查看缓冲区(Buffer)的内容。你可以用多个窗口查看同一个缓冲区,也可以用多个窗口查看不同的缓冲区。利用多窗口,我们就能够很方便地对比多个文件,在不同文件之间复制粘贴或者查看同一文件的不同部分。

Vim主窗口可以容纳多个分割的窗口。也可以创建多个标签页(tab-page),每个标签页也能容纳多个窗口。

在默认情况下,与Vi类似,Vim启动后只打开一个窗口。参数 "-o" 和 "-O" 可以让Vim为参数列表里的每一个文件打开一个窗口。参数 "-o" 水平分割窗口;参数 "-O" 垂直分割窗口。如果 "-o" 和 "-O" 都用了,那么最后一个参数决定分割的方向。例如,下面的例子打开三个水平分割的窗口。

vim -o file1 file2 file3

分割窗口

:split命令,会将当前窗口水平分为两个,并且在这两个窗口中同时显示当前文件。如果你在其中一个窗口进行编辑,那么另一个窗口也会同步显示出你所做的更改。

默认情况下,每一个窗口都是独立滚动的。所以在编辑很长文档的时候,我们可以在不同窗口显示同一文档的不同部分。例如:一个窗口显示目录,另一个窗口显示正文。我们也可以使用:set scrollbind命令,绑定不同的窗口同步滚动。

如果想要在两个窗口中编辑不同的两个文件。使用:split file命令,就可以在另一个窗口中打开文件file了。

相对应的:vsplit命令,用于垂直分割窗口。

命令:new可以直接水平打开一个新窗口,并对新文件进行编辑。

相对应的:vnew命令,用于垂直分割窗口并编辑新文件。

:sview是:split和:view两个命令的组合,它可以分隔出一个新窗口,并以只读方式打开指定的文件。

与窗口操作相关的命令,通常也有相对应的ctrl+W快捷键:

新建窗口命令
:new新建水平窗口并开始编辑新文件ctrl+Wn
:vnew新建垂直窗口并开始编辑新文件
:split新建水平窗口并显示当前文件ctrl+Ws
:vsplit新建垂直窗口并显示当前文件ctrl+Wv
:sview新建窗口并只读打开文件

Windows_Split

切换窗口

在gvim和vim中,使用命令:set mouse=a启用鼠标支持,就可以通过点击鼠标来进入不同的窗口。

你也可以使用以下ctrl+W快捷键在多个窗口中进行切换:

切换窗口命令
ctrl+Ww切换窗口
ctrl+Wj切换至下一窗口
ctrl+Wk切换至上一窗口
ctrl+Wh切换至左侧窗口
ctrl+Wl切换至右侧窗口
ctrl+Wt切换至顶部的窗口
ctrl+Wb切换至底部的窗口
ctrl+Wp切换至刚才所在的窗口

移动窗口

命令ctrl+Wx,可以将当前窗口与下一窗口进行位置对换。如果当前窗口在底部,则没有下一个窗口,这时命令将当前窗口与上一个窗口进行位置对换。

Wx

命令ctrl+Wr命令可以使得窗口向右或向下进行循环移动。这个命令可以带一个数字作为参数,指明向下循环移动所执行的次数。与其相类似的ctrl+WR命令,可以使得窗口向左或向上循环移动。

以上命令在调换窗口位置时,会维持现有的窗口尺寸和布局;而以下命令,则会同时改变窗口的位置、尺寸和布局:

移动窗口命令
维持
布局
ctrl+Wr向右或向下循环移动窗口
ctrl+WR向左或向上循环移动窗口
ctrl+Wx将当前窗口与下一窗口位置对换
改变
布局
ctrl+WK将当前窗口放到最顶端,并使用最大屏幕宽度
ctrl+WJ将当前窗口放到最底部,并使用最大屏幕宽度
ctrl+WH将当前窗口放到最左侧,并使用最大屏幕高度
ctrl+WL将当前窗口放到最右侧,并使用最大屏幕高度
ctrl+WT将当前窗口放到新的标签页

控制窗口尺寸

在输入:split命令时,可以加入参数来指定打开窗口的大小。例如命令:3 split file,将在一个大小为三行的新窗口中打开文件file。我们也可以将这个命令中的空格去掉,写成:3split file

使用ctrl+W+命令增大窗口高度,默认增量为1行;ctrl+W-命令减小窗口高度,默认值为1行。命令countCtrl+W_可以使得当前窗口变为count指定的高度;如果没有指定count,则将当前窗口变得尽可能最大。

使用:resize命令,可以精确控制窗口高度。例如::resize +3将增大窗口高度3行;:resize -3将减少窗口高度3行;:resize 3则将精确指定窗口高度为3行。

命令ctrl+W=可以将几个窗口的大小变为相等。

使用ctrl+W>命令增大窗口宽带,默认增量为1列;ctrl+W<命令减小窗口宽度,默认值为1列。命令countCtrl+W|可以使得当前窗口变为count指定的宽度;如果没有指定count,则将当前窗口变得尽可能最大。

使用:vertical resize命令,可以精确控制窗口宽度。例如::vertical resize +3将增大窗口宽度3列;:vertical resize -3将减少窗口宽度3列;:vertical resize 3则将精确指定窗口宽度为3列。

当然,你也可以用鼠标上下拖动状态行来改变窗口的高度。

控制窗口尺寸命令
:resize +n增大窗口高度ctrl+W+
:resize -n减小窗口高度ctrl+W-
:resize n最大化窗口高度Ctrl+W_
:vertical resize +n增大窗口宽度ctrl+W>
:vertical resize -n减小窗口宽度ctrl+W<
:vertical resize n最大化窗口宽度Ctrl+W|
ctrl+W=等分窗口

关闭窗口

可以使用以下命令来关闭窗口:

关闭窗口命令
:quit退出当前窗口ctrl+Wq
:close关闭当前窗口ctrl+Wc
:only关闭其它所有窗口Ctrl+Wo

帮助信息

使用:help CTRL-W命令,可以查看关于窗口操作的帮助信息。

Ver: 1.0<上一篇 | 目录 下一篇>

星期一, 八月 10, 2009

没什么大不了

一部高性能赛车能让你在5秒钟内从0加速到100公里/小时。你会感到在后背有巨大的推力。这么想,如果你的赛车这么持续加速8分钟,你就到太空了。

--查尔斯·西蒙尼 (第5位自费太空游客)

星期五, 八月 07, 2009

在Mac下拆分PDF

如果你需要将一个PDF文档拆分成几个文件,那么最简单的方法就是使用Mac内置的Preview程序。

首先,选择“编辑”菜单下的“删除选定的页面”,或者使用快捷键Command+Delete,删除页面;然后,将修改后的文件另存,就可以从原始文档中拆分出自己需要的部分。

Preview_Delete_Page

以上方法适用于抽取文档中的绝大多数页面。如果你只需要文档中的极个别页面,那么可以选择“显示”菜单下的“工具条”菜单项;在Preview的侧边工具条中,选择你想要导出页面的缩略图;然后用Command+C快捷键复制它们;再选择“文件”菜单下的“从夹纸板创建新文稿”菜单项,就可以获得一个仅包含你选中页面的新文件。

Split_Preview_Paste-2

利用免费软件PDFLab,可以选定文件中的某些页,然后生成一个新的文件。也就是说,可以将一个文件拆分成几个文件,每个文件中只包含奇数页、偶数页或指定的页面。

  1. 将PDF文件拖拽到PDFLab的主界面中;
  2. 取消选择指定页面;
  3. 点击“Create PDF”按钮,重建文件;

delete_page

利用Mac内置的Automator功能,你只需要依照下图鼠标拖拽,就可以制作自己的工作流--提取PDF文件中的奇数页、偶数页或全部页面。

Split_Automator

Tags: , , , ,

星期日, 八月 02, 2009

删除Mac的多语言资源

如果你不是一个语言学者的话,那么你的电脑上应该只需要两种语言:你的母语和英语。

免费软件iCleanLanguage,可以删除不需要的语言资源。只需要在“Clearning”页中,选择特定的应用程序或所有程序;然后在“Language List”页中,选择哪些语言将被移除;你还可以在“Exclude List”页中,选择某些程序不需要删除语言资源。最后回到Clearning页面,点击“Run”按钮,iCleanLanguage就将为你删除多语言文件,清理出可观的磁盘空间。

ICleanLanguage

iCleanLanguage运行之后,还会显示日志文件,告诉你有哪些文件被删除。如果你在Clearning页面中选择了“Dry run - no deletions”,那么将只是模拟运行,而不会真正删除文件。通过查看日志文件,你可以了解哪些文件将被删除?有多少空间将被释放?当你确认一切正常后,再让iCleanLanguage去做清理工作。这对于谨慎的用户来说,可以是一种更周全的考虑。

Monolingual是一个开源软件, 她可以删除Mac中不需要的多语言资源。你首先需要在列表中选择不需要的语言,然后点击“Remove”按钮,接着将弹出警告信息––“删除过程将无法恢复,除非你重新安装系统”,随后还要求你输入管理员的密码,最终你就会看到Monolingual在应用程序和系统资源中删除你选中的多余语言。这个过程是谨慎和安全的。

'Monolingual' von yyq123

可不要小瞧了这些多语言文件,它们可能已经占用了不少的磁盘空间。比如开源的媒体播放器Miro,就提供了多达63种语言,占用了22MB空间。即使对于Mac OS X标准安装进行整理,也可以释放超过100MB的磁盘。而我运行Monolingual后,竟然重获了1.3GB的空间,真是个不小的惊喜呀!

'Monolingual_Surprise' von yyq123

如果你不希望另外使用一个软件,那么Mac内置的Finder也可以轻松配置程序的多语言环境。在Finder里选中应用程序,然后从“文件”菜单中选择“显示简介”,在弹出窗口中的“语言”部分,可以取消选择不需要的语言或者干脆将那些语言文件“移去”。

比如,我蛮喜欢的开源浏览器Sunrise提供很多种语言支持,有中文,但是繁体的。我还是更愿意使用英文版。所以在简介窗口中取消选择除English外的所有语言,这样程序就只出现英文界面了。如果还希望省出点硬盘空间,那么选中不需要的语言,然后点击“移去...”按钮,就可以删除那些多余的文件了。

'GetInfo_RemoveLanguage' von yyq123

Youpi Optimizer是一个免费软件,她可以删除不需要的语言资源并释放其占用的磁盘空间。

好消息是,利用Youpi Optimizer下载)删除多语言资源是很安全的,并不会影响系统和程序的使用;坏消息是,Youpi Optimizer最近一次更新也是远在2006年3月。只能希望这个软件能够更活跃点了。

YoupiOptimizer

Tags: , , , , ,

星期日, 七月 26, 2009

在Mac下组合PDF

Automator

利用Mac内置的“Automator”功能,可以制作自己的工作流--将多个PDF文件组合成为一个新的PDF文件。这个看似复杂和困难的任务,只消几下鼠标拖拽就能轻松完成--这也是Apple化繁为简的神奇魅力所在。

CombinePDF_Automator_1

需用时,只要在Finder中选中几个文件,然后用鼠标右键调出弹出菜单,并选择Automator子菜单中你已经创建的“Combine PDFs”工作流。

CombinePDF_Automator_2

Preview

利用Mac内置的预览程序(Preview),也可以很方便地组合多个文件。首先,打开一个文件;然后,然后,将其它文件从Finder拖拽到Preview的工具条中(Sideba),并根据需要调整其次序;最后,选择“文件”菜单下的“存储为...”菜单项,将其保存为单独的一个文件。

Combine_Preview

Freeware

利用免费软件PDFLab,可以将多个图片、空白页和PDF文件,重新组合成一个新的PDF文件。还可以选择新生成的文件中,只包含奇数页、偶数页,或者指定范围的页面。

CombinePDF_PDFLab

Dashboard

如果你喜欢使用Dashboard(我不太喜欢),那么PDF+PDF可以将多个PDF文档合并生成一个PDF文档。

Web Service

免费网络服务loopApps,无需注册就可以帮助你,将多个来自本地或网络的图片或PDF文件,组合成一个新的PDF文档,以供你下载到本机或发布于网络。你可以调整页面的次序,如果你免费注册为用户,还可以为生成的文件,设置打开和编辑密码,选择是否允许选择和打印文档。

Combine_LOOPApps1

Tags: , , , , , , ,

星期五, 七月 24, 2009

VIM学习笔记 缓冲区 (Buffer)

缓冲区(Buffer)是一块内存区域,用于存储着正在编辑的文件。在保存缓冲区并退出时,内容也随之被写回原始文件。

增加缓冲区

在启动vi时,可以指定多个文件做为参数,例如vi file1 file2 file3,参数中的所有文件都会被载入缓冲区,但vi只会在窗口中显示第一个文件。你可以使用以下命令,为每一个缓冲区打开一个窗口。

:ball

使用:badd filename命令将新增一个缓冲区。指定的文件会被加载到缓冲区列表中,但是对这个文件的编辑过程只有切换到那个缓冲区时才会开始。在命令中,还可以指明为这个缓冲区打开窗口时,光标所处的位置:

:badd +linenum filename

列示缓冲区

:buffers:files:ls命令将会列出当前编辑中的(除“u”类型之外)缓冲区信息。在列表中,第一个数字是缓冲区的标号;第二个标记是缓冲区当前的状态;紧接着是与缓冲区所关联的文件名。

Buffers

缓冲区状态包含以下几种:

-Readonly buffer,禁用了modifiable选项,只读缓冲区
=Readonly buffer,只读缓冲区
aActive buffer,活动缓冲区,当前显示在屏幕上
hHidden buffer,隐藏缓冲区,已载入但没有显示在屏幕上
+Modified buffer,已经更改的缓冲区
xError buffer,读入时报错的缓冲区
%Current buffer,当前缓冲区
#Alternate buffeer,交换缓冲区
uUnlisted buffer,只有在列示命令中使用!修饰符才能显示的缓冲区

使用“!”修饰符的:buffers!:files!:ls!命令将会列出包括“u”类型在内的所有缓冲区信息。如下图所示,窗口中使用:help buffers命令查询帮助信息,而:buffers!命令则列示了其打开windows.txt文件的“u”类型缓冲区。

Buffers_u

选择缓冲区

可以使用number参数,选择指定标号的缓冲区:

:buffer number

也可以使用文件名来选择缓冲区:

:buffer filename

我们可以用:sbuffer number命令,来分割当前窗口开始编辑一个缓冲区。如果指明了数字,那么当前窗口就会显示数字所标记的缓冲区中的内容;如果没有指明数字,那么就会显示当前缓冲区的内容。当然,这个命令也可以用文件名来做为参数:

sbuffer filename

切换缓冲区

:bnext到下一个缓冲区;:bprevious:bNext到前一个缓冲区;:blast到最后一个缓冲区;:bfirst到第一个缓冲区。

根据默认设置,在切换到另一缓冲区之前,Vim将提示你保存当前缓冲区。你也可以使用:set hidden命令,允许在未保存的情况下切换缓冲区。

删除缓冲区

可以使用:bdelete filename:bdelete 3:3 bdelete命令来删除一个缓冲区。也可以使用:1,3 bdelete命令来删除指定范围的缓冲区。所删除缓冲区引用的文件名,也将会随之从缓冲区列表中删除。

如果缓冲区被改动过,那么该命令将失败。如果使用了!选项的:bdelete! filename命令,强制删除缓冲区,那么在缓冲区中的所有改动都会被放弃。

卸载缓冲区

命令:bunload会从内存中卸载一个缓冲区,所有为这个缓冲区打开的窗口也会关闭。但是这个文件名仍然会存在于缓冲区列表中。如果缓冲区被改动过,那么该命令将失败。你也可以使用!选项的:bunload!命令,强制卸载缓冲区,但所有的改动也将会丢失。

帮助信息

可以使用:help buffers命令,查看关于缓冲区的帮助信息。

命令小结
:badd增加缓冲区
:ls列示缓冲区状态
:files
:buffers
:buffer编辑指定缓冲区
:ball编辑所有缓冲区
:bnext到下一缓冲区
:bprevious到前一缓冲区
:blast到最后一个缓冲区
:bfirst到第一个缓冲区
:bmodified到修改过的缓冲区
:bdelete删除缓冲区
:bunload卸载缓冲区

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>

星期日, 七月 19, 2009

在Mac下创建PDF

在Mac下可以很方便快速地创建PDF文档,简单地说──只要能打印的内容,都能生成为PDF文档。

从打印创建

在打印对话框中,点击“Print”按钮,在下拉菜单中选择“Save as PDF”,就可以生成PDF文件。

Print_to_PDF

除了打印生成PDF之外,在这个对话框中你还可以压缩、加密或电邮PDF;甚至还可以将生成PDF直到保存到其它应用程序中(比如iPhoto);如果你不需要这些额外功能,也可以(选择“Edit Menu...”)将它们从菜单中移除。这种对功能和细节的追求,着实让人叹服。

Print_to_PDF_EditMenu

打印输出PDF时,在随后出现的保存对话中,可以为最终生成的PDF文档设置标题、作者和主题等属性;还可以针对打开文档、复制内容和打印文档等操作设定不同的密码,以保护信息安全。

Create_Print_to_PDF_SecurityOptions

从文档创建

在Mac下,利用NeoOfficeOpenOffice.org编辑文档,可以生成包括颜色、链接、表格、索引等完整信息PDF文件。

NeoOffice_ExportPDF

在General选项页中,可以选择导出整个文档,还是只导出文档的制定页面;选择是否导出书签。

NeoOffice_PDF_General_Opt

在Initial View选项页中,可以设置初始打开文档时显示的内容、放大比率,和页面布局。

NeoOffice_PDF_InitialView_Opt

在User Interface选项页中,可以设置初始打开文档时窗口的显示、工具栏的显示,和书签的显示。

NeoOffice_PDF_UseInterface_Opt

在Security选项页中,可以为PDF文档设置密码,设置打印效果,设置是否允许增删页面、选取内容等安全属性。

NeoOffice_PDF_Security_Opt

从以上选项可以确信––开源软件提供了丰富的PDF设置。这使我们不但可以发便地创建PDF文档,而且也可以创建强壮的PDF;而这些在专有的M$ Windows平台和专有的M$ Office软件下,都是需要购买额外软件才能够实现的。如果做为一个普通消费者,论述自由开放的哲学是乏味无聊的话,那么当你感受到实际好处时,是不是也会有所触动,有所改变呢?

从图片创建

先在Finder中选中一个或多个图片;然后用Preview打开这些文件;最后在打印对话框中将它们保存为PDF文档。

Preview_Image_to_PDF

如果你需要将某个目录中的所有图片生成一个PDF文档,那么你可以在按住Command+Option键的同时,将目录图标拖拽到Preview图标上,然后在工具条中选中所有图片,最后在“文件”菜单中选择“打印选定的图像...”,将其保存为PDF文件。

从网络创建

如果你使用Zoho WriterGoogle Docs等基于网络的文字处理工具,那么它们本身就提供生成PDF的功能。

如果你已经拥有现成文档,那么也可以利用PDF OnlinepdfMachine liveExpressPDFYou convert ItZamzar等网络服务,把MS Office、HTML、TXT和图片文件在线转换成PDF。

Create_GoogleDocs

从网页创建

如果你希望将网页保存为PDF文档,那么最快速的方法非开源浏览器Sunrise莫属。她有一个“Save Entire Page as PDF”功能,可以将整个网页保存为PDF文档,这个过程不会出现任何对话框,而是直接将文件存储在默认的(桌面)下载文件夹中。

Sunrise_ExportPDF

通过安装PDF Download扩展,可以在Firefox中,将当前网页转化为PDF文档保存到电脑,或者做为邮件附件发送到指定邮箱。该扩展需要利用pdf download网站的转换服务,所以必须联网使用,而Sunrise则是利用本地程序实现这一功能。

Create_Firefox_PdfDownload_SaveWebPage

网络服务HTML-PDF-ConverterPrimoOnline也可以将指定网页转化为PDF文档。

从帮助创建

Mac是以UNIX为核心的,所以她也内置完善的在线帮助系统––man。例如你可以通过man curl命令,显示下载工具curl的详细使用说明。而利用man -t curl | open -f -a Preview.app命令,可以将这些使用说明转换成PDF格式并在Preview程序中打开阅读。

免费软件man2PDF,将列出所有的manual page,你只要选择其中之一,然后点击“Make PDF...”按钮,就可以将指定的帮助信息转换为PDF格式

Create_man2PDF

总结

  • 用什么也别用M$ Windows。如果用户广泛需求的功能,其它软件内建支持的功能,而那个丑陋昂贵的操作系统都不能提供,为什么你还要继续使用它呢?
  • 用什么也别用M$ Office。如果免费的网络服务,自由的开源软件,都可以帮你免费实现,为什么你还要花钱购买一个不健全的软件呢?

Tags: , , , , , , , ,