十 29
2008年十月29日,星期三,下午 2:02 | 分类:
default,
TextMate |
给我留言 |
另一项常用的操作是利用 Edit 菜单的剪切,复制和粘贴功能。这些都是其他软件常见的功能,但是TextMate在这些标准方法的基础之上增加了历史剪贴板。让我们做一个简单的例子来加深理解: 新建一个 TextMate 文档 (Ctrl+N) 输入下面的文字 Line Three. Line One. Line Two. 你可以通过历史剪贴板来重新安排它们的顺序。移动到文档的第一行(Apple+上),选择这一行(Shift+Apple+L),剪切它(Apple+X)。对最后一行进行一样的操作(Apple+下,Shift+Apple+L,Apple+X)。然后再如此操作最后一行(上,Shift+Apple+L,Apple+X)。 现在你可以依次粘贴它们。用Apple+V粘贴你历史剪贴板里面的最后一个记录。如果你想粘贴历史剪贴板里面的上一条记录的话需要按Shift+Apple+V,再次按这个组合键你可以粘贴出最后历史剪贴板里面的第一条记录。现在你可以按希望的顺序来排列这些行了。 如果排序顺序和你想的不一样,别害怕。按Ctrl+Option+Apple+V或者选择Edit -> Paste from Histor, TextMate会打开一个历史剪贴板列表。你可以用方向键来选择条目并按回车选择该条目。或者按ESC退出列表。 注意,粘贴出来的文本的缩进位置是由TextMate根据当前文档而决定的。虽然大多数情况下这个特性可以节省你不少时间,但是可能你偏偏不想这样。希望 Paste Without Re-indent。打开Edit菜单并按下Ctrl键你能看到这个命令。当然你也可以直接使用Ctrl+Apple+V来进行这个操作。如果这个特性让你感到讨厌,你可以在配置中禁用它。
(阅读更多精彩内容...)
十 27
2008年十月27日,星期一,上午 4:04 | 分类:
default,
TextMate |
给我留言 |
你可能常常需要把文字移动到不同的地方,Text -> Move Selection为你提供如下功能: Ctrl+Apple+上 向上移动一行(如果没有选择任何文本则移动当前行) Ctrl+Apple+下 向下移动一行(如果没有选择任何文本则移动当前行) Ctrl+Apple+左 移动当前所选文字向左一个字符 Ctrl+Apple+右 移动当前所选文字向右一个字符 TextMate的 Text 菜单也可以让读者很容易的进行文本缩进: Apple+[ 或者 Option + Tab 减少缩进(如果没有选择任何文本则减少当前行的缩进) Apple+] 或者 Option + Shift + Tab 增加缩进(如果没有选择任何文本则增加当前行的缩进) Option+Apple+[ 根据目前编辑文档的语言类型自动格式化缩进
(阅读更多精彩内容...)
十 27
2008年十月27日,星期一,上午 4:04 | 分类:
default,
TextMate |
给我留言 |
TextMate有两个功能在你输入文档的时候会给你提供很大的帮助。当然它们也很常见,单词补完和符号自动配对。 我只需要教你一个键,就可以让单词补完帮你节省大量时间。每当你要更改文档内容的时候,输入几个开头字母,然后按ESC键。TextMate可以自动用其开头的变量,方法,标签或者其他文档中已经存在的单词来自动补完。此外,语法检查器为每种语言都提供了一套默认的自动补完。这对程序员来说是一个非常重要的功能,它可以避免很多打字错误。 如果有多个相关单词供你选择,你只需要多次按ESC就可以在它们之间移动选择。TextMate会根据你本次的选择自动为你排序出现相关词语的顺序,以便为你今后的操作节省更多时间。如果不小心多按了一下ESC,那么可以按Shift+ESC选择前一个。 例如你在编写一些服务端的程序。首先你要敲入一个很长的变量名字 idle_connections 。以后你可是按 idl 然后按ESC来迅速补完这个变量名。根据你文档中以这3个字母开头单词的数量,有时候你可能得多按1,2次ESC键。不过别忘了,TextMate会记录你选择每个单词的次数来帮你排序。这会确保你不会因为手得瑟一下,输入错误的变量名。不单单是编程相关的这些变量,任何你文档中出现的又长又难拼写的单词你都可以这样补完。 你可以在Edit -> Completion下找到这个自动补完的命令,这或许是你最重要的键盘快捷键。相信我,除了担心它可能磨损你的ESC键之外,你真的没理由不常常使用它! 如果你已经开始使用TextMate有段时间了,你可能早就不自觉的用上了符号自动配对功能。大多数情况下,你输入一个左括号(,TextMate会自动给你补上一个右括号)。并且把你的光标定位在括号之间。当你输入完其中的内容后,你手动输入一个右括号),光标会自动跳出到括号之外。这个功能在大部分符号自动配对功能中都可以使用,包括引号。每种语言都有一些自己特殊的符号配对,例如在CSS中,你输入一个冒号: 会自动给你在其后增加一个分号; 符号自动配对功能的另一个优点它结合文字选择区域。当你选取了一部分文字之后,如果你输入一个可以配对的符号,那么符号的开始符会自动插入到文字之前,而符号的结尾符会插入到文字后面。如下图,相信你会喜欢上这个功能。
(阅读更多精彩内容...)
十 25
2008年十月25日,星期六,下午 3:03 | 分类:
default,
TextMate |
给我留言 |
在传统的选择器基础上,TextMate允许你使用直角选择器或者列选择器。在你拖动鼠标进行选择的时候,可以按住Option键,这样就启用了直角选择器。也可以使用 Edit -> Change to Column Selection或者Option切换是否使用列选择器。 下面的例子告诉你如何快速的产生一个名字列表: 创建一个新的TextMate文档 File -> New 快捷键Apple+N 输入一些 first names,每一个单独占一行。 Jim,Marsha, James, Dana, Andrew。 Apple+上 移动光标到文档的开头 Shift+Option+下 选取到列结尾的全部文档。这个快捷键看起来好像没有选取整个列文档,但是由于你的倒数第二行有一个换行符。事实上列选择器已经扩展到最后一行的开头了。下一步会让这一切更清晰。 按Option打开列选择器,仔细看你所有选取的列前面都有一列细线,大概1像素,这回知道了吧上一步已经选取了整个列。 输入 last name 例如 Gray,随后跟一个逗号和空格。你会发现刚才选取的所有行同时都增加了。 移动光标到新的一行,离开列选择器模式。 令人惊讶的,当使用软包围行的时候列选择器会起冲突。和其它的编辑器不同,TextMate支持打开列选择器View -> Soft Wrap (Option+Apple+W)。然而,列选择器不会把包含的内容当作新行。勾选上View -> Gutter -> Soft Wrap Indicators 之后你可以通过编辑器窗口左边的原点看到哪一行被包含了。 (这一段翻译的不好,我自己也迷糊回头好好研究一下这个用法会修改)。
(阅读更多精彩内容...)
十 25
2008年十月25日,星期六,上午 11:11 | 分类:
default,
TextMate |
给我留言 |
编辑文本的第一部是选择它,选择一些文本之后你可以通过命令移动它,在搜索其中的代码或者干脆过滤删除掉它。这也是为什么TextMate尽可能简单的让你选择任意数量的文本的原因。 首先俺要告诉你一个好消息,前几章里面讲的移动光标的快捷键在选择文本这里一样可以用哦。注意上文介绍的来自于Emacs的那些快捷键不能跟Shift共用。按住Shift键然后再利用移动光标的快捷键。根据光标位置的不同你就可以选取,扩大所选或者撤销所选的文本。下面举个例子 按 Apple+右 把光标移动到行的末尾。 按 Shift+Apple+左 选取从行末尾至行开头的全部文本。 如果对你来说这一操作需要2步还太麻烦的话。你可以用自定义快捷键或者宏命令来简化。如果可能我会继续翻译那部分。不过那是很遥远很遥远的事啦。还好TextMate内置了这样一条命令,Shift+Apple+L可以选取当前行的文本。另外我个人介绍一个快捷键,Ctrl+W可以选择光标所在的单词。 TextMate有一个唯一的内置选择器Current Scop,快捷键是Ctrl+Option+B。它根据当前文档的语法检查来改变选择范围。你可以使用这个快捷键来选择编程语言特有的元素。例如你可以像下图一样(说实话我很少用这个快捷键)。 你可以在Edit -> Select下面找到全部内置的选择器。花点时间在这里,下次当你选择文本的时候你就知道你该用哪个快捷键了。
(阅读更多精彩内容...)
十 25
2008年十月25日,星期六,上午 10:10 | 分类:
default,
TextMate |
给我留言 |
当你移动光标的时候,折叠代码片段不是必须的技术。但是如果你要在文档中跳过大段不需要的代码,或许他还是有用滴。 当你用TextMate编辑一个它能理解的结构文档的时候,编辑窗口的左侧应该有一个折叠标记栏。使用View -> Gutter -> Foldings确认它已经显示出来。 你可以单击折叠符号来选择展开或者折叠代码。也可以使用F1键来进行这一操作,F1会折叠目前光标所在一行的最接近的可折叠代码。如果你进行了这一操作,TextMate会把该代码片段折叠为一行,后面用省略号结尾。而且编辑窗口左侧的折叠符号也会相应的变化。 如果你需要瞄一眼折叠了哪些代码,只需要把鼠标移动到省略号的位置就可以看到了。如下图。点一下省略号,或者把光标移动到折叠代码的这一行并且按F1,就可以展开代码。 你可以使用View -> Toggle Foldings at Level或者快捷键来完成大部分的折叠和展开功能。根据文档类型,通常建议你用Option+Apple+2或者Option+Apple+3来折叠代码,尤其当你编辑的是Rails Controller的时候,这个快捷键尤其好用。根据文档嵌套层次的不同,你也可以使用其他数字键来配合使用。
(阅读更多精彩内容...)
十 24
2008年十月24日,星期五,上午 8:08 | 分类:
default,
TextMate |
给我留言 |
TextMate提供了快捷键让你明确定位。例如你想跳转到指定的行。利用快捷键Apple+L,然后输入行号再按回车就行。 这个方法是挺好,但是实际应用中很少有人会这么用,因为你不可能一直都知道你要去操作第几行吧。好在几乎所有的文档都有自己的组织形式。拿Ruby代码来说,它们都是在一个function或者method定义里的。TextMate会注意到这些,并且用快捷键辅助你迅速定位。 用鼠标点一下编辑窗口的右下角,那里列出了目前文档的header, class, method, 和 functio。随便选择一个,光标会定义到那一行的开头位置。看图: 但是在实际项目中,我们不会去常常拿鼠标选择这个地方。通常咱哥们都是用快捷键。Shift+Apple+T打开Navigation菜单中的Go to Symbol对话框。你可以用方向键来选择,也可以跟前面介绍的一样,使用缩写字母来选择某一个方法。例如输入s w r会选择save_without_revision( )。 如果这些都不能满足你的需要,你可以自己定义书签。定义书签很简单,你可以用Apple+F2键为当前行定一个书签,或者用鼠标点行号前面那个位置。看下面的图。利用快捷键Option+Apple+B可以显示或者隐藏那个书签栏。如果当前页面你已经定义了几个书签那么可以使用F2或者Shift+F2在书签之间顺序或倒序切换。
(阅读更多精彩内容...)
十 24
2008年十月24日,星期五,上午 6:06 | 分类:
default,
TextMate |
给我留言 |
当你停止打字的时候,可能是需要操作光标了。发现上一行有一个错字,你有两个选择。要么用鼠标移动过去,要么用键盘移动光标到该错字的位置。你通常用哪个呢?想想,你的右手离开键盘到鼠标的时间再移动回来。每天你要为此多付出多少时间呢?所以用键盘来进行这一操作无疑是个好主意,TextMate也为这一过程提供了很多快捷键。别担心,他们都是很容易记忆的。 这有一些白痴都知道的操作计算机的通用快捷键: 方向键上 – 光标移动到上一行 方向键下 – 光标移动到下一行 方向键左 – 光标往左移动一个字符 方向键右 – 光标往右移动一个字符 如果这些快捷键加上一个Apple键的话,那么它就会移动到一行甚至文档的边界了: Apple+方向键上 – 光标移动到文档的开头 Apple+方向键下 – 光标移动到文档的结尾 Apple+方向键左 – 光标移动到本行的开头 Apple+方向键右 – 光标移动到本行的结尾 你也可以使用Option键 Option+方向键上 – 光标移动到列的开头 Option+方向键下 – 光标移动到列的结尾 Option+方向键左 – 光标移动到当前单词的开头 Option+方向键右 – 光标移动到当前单词的结尾 这里列的概念你可能搞不清,看一下下图,按Option+方向键下光标会从 “first” 移动到 “data”。 如果你是个程序员,可以试试用Ctrl代替Option。他会在 CamelCaseWords 和 snake_case_words 这类的单词之间切换。第一种呢,会依次切换光标到C,C,W。第二种呢会依次切换到s,c,w。 可能你是一个emacs的支持者,没关系TextMate也支持那些你常用的快捷键: Ctrl+P – 光标移动到上一行 Ctrl+N – [...]
(阅读更多精彩内容...)
十 23
2008年十月23日,星期四,下午 4:04 | 分类:
default,
TextMate |
给我留言 |
当把文件夹引入TextMate项目中的时候,你可以过滤一部分不需要的文件和文件夹。如果你的项目是通过分组来组织项目文件的话,这个功能你就用不了啦,当然你也可以手动来完成。选中你项目边栏中的顶级文件夹,然后点边栏右下角那个 information按钮,看图: 这里有两个地方可以输入正则表达式来过滤,用正则来过滤掉那些你不希望出现在边栏列表里面的文件吧。贼拉方便。你也可以修改TextMate的属性,用快捷键Apple+,打开属性窗口选择文件夹设置。你可以在这里同样用正则来修改其中的内容。它不会影响目前的项目。 何时用这个功能?比如我有一个Rails项目叫做simple。它位于版本控制之下,我可以过滤掉这个项目中的script,log,tmp和doc文件夹。至少我一直都是这么干的。
(阅读更多精彩内容...)
十 23
2008年十月23日,星期四,下午 12:12 | 分类:
default,
TextMate |
给我留言 |
TextMate 支持两种项目。前面那章创建的是第一种项目,不管文件在硬盘上存在哪里只把它拖入到TextMate的边栏就可以。另外一种是保存文件系统。当你创建的项目文件在同一个文件夹里面,就创建了第二种项目。 项目中的文件夹引用的是硬盘上的真实对象。这有两个好处。第一,当应用程序得到焦点的时候 TextMate 会自动扫描该文件夹,如果其中的内容有更改则自动更新文件。其次,边栏下面那个文件夹按钮会在硬盘上创建真实的文件夹。新创建的文件夹在你当前所选的文件夹之内。 所以,你可以直接在TextMate里面操作和管理文件,而不用再跑到Finder里面去。所以我觉得还是第种组织项目的办法更棒。你慢慢会发现,整个项目处于同一个顶级文件夹是最方便的。因为你可以很方便的用svn来提交或者更新项目。很难想象,你把项目放到不同的文件夹去你该如何更新?麻烦死你!以后我会继续翻译如何用TextMate操作SVN命令,不过估计至少得2个月之后。哈哈。 那什么时候采用文件和组的项目呢?当你想操作不同文件夹下面的文件或者想在边栏中从新排列文件但是不想影响硬盘上的实际对象时。读者可能被我绕晕了,没关系举个例子。假如你是一个CSSer,每天的任务可能就是给公司的10个项目修改CSS,那么你就可以建立一个名为CSS-Work的项目,把不同项目的css文件都拖放到边栏中,并且根据轻重缓急组成不同的分组。明白了? 不论你采用的是哪种方式来组织项目文件,都可以使用边栏下面的Rename 或者 Remove Selected Files按钮。注意,根据你文件的组织方式不同。Remove Selected Files按钮可能仅仅是把文件从边栏里面删除或者是真的把它们扔到Trash去。 当然你也可以用边栏下面那个创建文件的按钮,如果你使用的是文件夹引用的方式来管理项目文件。那你在TextMate里面创建的文件就会在你边栏所选的那个文件夹里面创建,同时TextMate会提示你在本地保存文件。
(阅读更多精彩内容...)