Skip to content

Commit 80a90f4

Browse files
committed
完成搜尋章節
1 parent ad3502a commit 80a90f4

File tree

5 files changed

+77
-6
lines changed

5 files changed

+77
-6
lines changed

source/file-management-and-command-palette/index.markdown

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ Goto Anything 就像遊戲[傳送門](http://www.youtube.com/watch?v=QjF_AAiTPxk
1212
* `@`:搜尋檔案內的 symbols,指的是類別名或者是方法名,快捷鍵是 <kbd>Command</kbd> + <kbd>R</kbd>;
1313
* `:`:插字符號移往該檔案指定的行數,快捷鍵是 <kbd>control</kbd> + <kbd>G</kbd>;
1414

15-
<!-- TODO: 製作一個 GIF 動畫圖 -->
16-
1715
## <span id="sidebar">側邊欄</span>
1816

1917
側邊欄可以總覽整個專案的所有檔案,就像 Windows 的檔案總管、OS X 的 Finder 那樣。被加進側邊欄的檔案,也就是可以被 [Goto Anything](/file-management-and-command-palette#goto-anything) 搜尋到的檔案。

source/find/index.markdown

Lines changed: 71 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,75 @@
22
layout: default
33
title: "搜尋"
44
---
5-
## 全域搜尋
5+
## <span id="search-single-file">搜尋單一檔案的內容</span>
66

7-
## 局部搜尋
7+
![sublimetext-search-in-single-file](/images/sublimetext-search-in-single-file.png)
8+
9+
使用快捷鍵 <kbd>Command</kbd> + <kbd>F</kbd> 開啟單一檔案的搜尋面板,輸入你要搜索的文字,重複按下 <kbd>Enter</kbd> 循環尋找下一個,或是 <kbd>Shift</kbd> + <kbd>Enter</kbd> 循環尋找上一個,也可以 <kbd>Alt</kbd> + <kbd>Enter</kbd> 全選所有符合尋找條件的文字。
10+
11+
搜尋面板提供以下幾個主要選項(括弧內的快捷鍵是 for Windows/Linux):
12+
13+
* <kbd>Command</kbd> + <kbd>Alt</kbd> + <kbd>R</kbd>(<kbd>Alt</kbd> + <kbd>R</kbd>):啟用/關閉正規表示式搜尋模式(Regular Expressions),進一步瞭解請參考[正規表示式](/find#regex)章節;
14+
* <kbd>Command</kbd> + <kbd>Alt</kbd> + <kbd>C</kbd>(<kbd>Alt</kbd> + <kbd>C</kbd>):區分大小寫(Case Sensitivity);
15+
* <kbd>Command</kbd> + <kbd>Alt</kbd> + <kbd>W</kbd>(<kbd>Alt</kbd> + <kbd>W</kbd>):完全符合(Whole Word);
16+
17+
此外,單一檔案的搜尋面板還提供三個搜尋功能:
18+
19+
* 反向選取(reverse direction):從底下往上選取搜尋結果,其實就跟一般 <kbd>Shift</kbd> + <kbd>Enter</kbd> 是一樣的效果;
20+
* 循環選取(wrap):啟用這個功能後,搜尋選取到最後一個結果,當繼續按 <kbd>Enter</kbd> 會重新返回到第一個;
21+
* 只搜尋已選取的文字(in selection):搜尋範圍只在已選取的文字內容中,可配合[多重選取功能](/edit#multiple-selections)使用。
22+
23+
> 在前面的章節曾經介紹過,Sublime Text 2 的 [Goto Anything](/file-management-and-command-palette#goto-anything) 還可以利用「#」符號進行檔案內的模糊搜尋。
24+
25+
### <span id="search-and-replace">搜尋和取代</span>
26+
27+
使用快捷鍵 <kbd>Command</kbd> + <kbd>Alt</kbd> + <kbd>F</kbd> 開啟單一檔案的搜尋取代面板,按下 <kbd>Enter</kbd> 逐一尋找下一個符合比對的結果,然後用 <kbd>Command</kbd> + <kbd>Alt</kbd> + <kbd>E</kbd> 取代,或是用 <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>Enter</kbd> 將全部結果都替換掉。
28+
29+
> 很多時候使用 Sublime Text 的[多重選取功能](/edit#multiple-selections),可能會比搜尋取代來得更好用唷!:)
30+
31+
### <span id="incremental-search">累加搜尋(Incremental Search)</span>
32+
33+
使用快捷鍵 <kbd>Command</kbd> + <kbd>I</kbd> 打開,這跟[一般的搜尋面板](/find#search-single-file)沒有太大的差別,就……都是搜尋嘛!唯一不一樣的地方就是當你按下 <kbd>Enter</kbd> 後搜尋面板就會關閉,你可以依照使用喜好來選擇使用這兩種搜尋面板。
34+
35+
## <span id="search-multiple-files">搜尋專案內全部檔案的內容</span>
36+
37+
![sublime-text-find-all-files](/images/sublime-text-find-all-files.png)
38+
39+
使用快捷鍵 <kbd>Command</kbd> + <kbd>Shift</kbd> + <kbd>F</kbd> 開啟多檔案的搜尋面板(括弧內的快捷鍵是 for Windows/Linux):
40+
41+
* <kbd>Command</kbd> + <kbd>Alt</kbd> + <kbd>R</kbd>(<kbd>Alt</kbd> + <kbd>R</kbd>):啟用/關閉正規表示式搜尋模式(Regular Expressions),進一步瞭解請參考[正規表示式](/find#regex)章節;
42+
* <kbd>Command</kbd> + <kbd>Alt</kbd> + <kbd>C</kbd>(<kbd>Alt</kbd> + <kbd>C</kbd>):區分大小寫(Case Sensitivity);
43+
* <kbd>Command</kbd> + <kbd>Alt</kbd> + <kbd>W</kbd>(<kbd>Alt</kbd> + <kbd>W</kbd>):完全符合(Whole Word);
44+
45+
此外還有兩個功能選項:
46+
47+
* 搜尋結果顯示上下文(Show Context):搜尋結果上下多顯示兩行內容方便判斷;
48+
* 搜尋結果儲存在緩衝區(Use Buffet):這會另開一個新的分頁顯示搜尋結果;
49+
50+
搜尋完以後要開啟符合搜尋條件的該檔案,可以用滑鼠雙擊搜尋結果,或是用快捷鍵 <kbd>F4</kbd>/<kbd>Shift</kbd> + <kbd>F4</kbd> 逐一瀏覽。
51+
52+
### <span id="search-scope">搜尋範圍</span>
53+
54+
多檔搜尋可以設定只搜尋指定的資料夾路徑、檔案類型,或是排除他們,在 Where 欄位輸入:
55+
56+
* 使用 Unix-style 的路徑表示法,例如:_../path/to/directories_,也可以輸入絕對路徑;
57+
* 排除特定的檔案或目錄,例如:`-*.txt``-/path/to/ignore/*`
58+
* 只搜尋已開啟的目錄或檔案:`<open files>``<open files>`
59+
60+
不同的條件可以用逗號(,)隔開。
61+
62+
按下 Where 欄位右邊的「...」按鈕可以顯示所有選項。
63+
64+
## <span id="regex">正規表示式(Regular Expressions)</span>
65+
66+
什麼是正規表示式?看[維基百科](http://zh.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%A4%BA%E5%BC%8F)的解釋:
67+
68+
> 正規表示式使用單個字串來描述、匹配一系列符合某個句法規則的字串。在很多文字編輯器裡,正則運算式通常被用來檢索、替換那些符合某個模式的文字。
69+
70+
Sublime Text 可以用正規表示式比對複雜的文字,將符合規則的文字找出來,這在搜尋結構較複雜的內容時會非常有用,所以你需要學習一些基本的正規表示式語法,但是這本手冊不會教你怎麼使用它(因為這玩意都可以[出一本書](http://shop.oreilly.com/product/9780596528126.do)了!XD),你可以[上網搜尋](https://www.google.com/search?q=正規表示式)更多學習資源。
71+
72+
正規表示式看起來就像這樣有點噁心的東西,但是他非常有用:
73+
74+
(?:Sw|P)i(?:tch|s{2})\s(?:it\s)?of{2}!
75+
76+
Sublime Text 2 使用的是 [Perl 正規表示式](http://www.boost.org/doc/libs/1_47_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html)的語法。
25 KB
Loading
Loading

source/layouts/_menu.html.markdown

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,12 @@
3333
* 標記
3434
* 更多用法
3535
* [搜尋](/find)
36-
* 全域搜尋
37-
* 局部搜尋
36+
* [搜尋單一檔案的內容](/find#search-single-file)
37+
* [搜尋替換](/find#search-and-replace)
38+
* [累加搜尋(Incremental Search)](/find#incremental-search)
39+
* [搜尋專案內全部檔案的內容](/find#search-multiple-files)
40+
* [搜尋範圍](/find#search-scope)
41+
* [正規表示式(Regular Expressions)](/find#regex)
3842
* [客製化](/customization)
3943
* [程式碼片段(Snippets)](/customization#snippets)
4044
* [巨集(Macros)](/customization#macros)

0 commit comments

Comments
 (0)