簡介
它號稱“21世紀可黑客的文本編輯器”。GitHub支持並開源,並支持跨平台。和brackets編輯器一樣基於瀏覽器開發,意味着你可以使用less(包含css)來定制編輯器界面,coffeescript(與js類似)編寫插件定制功能。有很多和sublimne類似的地方,比如:命令面板,還有許多快捷鍵。Atom本身不與特定的程序語言開發廣聯,默認內置多種語言包,支持html、css、java、c、php等,不過它常常被用於前端開發。
- Atom官網:https://atom.io/
- Atom官方教程:http://flight-manual.atom.io/
- Atom包:https://atom.io/packages
- Web開發人員最有用的10個包:http://www.hongkiat.com/blog/useful-atom-packages/
基本使用
光標移動
當按下左右鍵時會移動一個字符,通過組合按鍵可以移動一個單詞、單詞尾部...
ctrl + left/right
左右移動一個單詞ctrl + home/end
移動到文件頭部 或 尾部home / end
行首 或 行尾ctrl + g
然后輸入3:5
,跳轉到第3行第5列。ctrl + r
跳轉到符號,彈出面板會展示出當前文件所有的符號,比如:js方法 或 markdown的標題
書簽
你可以在指定行添加/刪除標簽ctrl+alt+f2
,以便你在需要時迅速查找,行首會在顯示書簽圖標。
ctrl+alt+f2
添加/刪除標簽f2
跳轉到下一個書簽shift+f2
跳轉到上一個標簽ctrl + f2
展示標簽列表,選中標簽進行跳轉ctrl+shift+f2
會清除當前文件的所有標簽。
選中
ctrl+shift+left/right
向左/右選中一個單詞shift+home/end
選中 當前光標到行首 或 行尾ctrl+a
全選(All)ctrl+l
選中當前行(Line)
編輯文本
- 基本的功能
ctrl+j
下一行合並到當前行(Join)ctrl+up/down
山下移動當前行ctrl+shift+d
復制當前行(Duplicate)ctrl+k
ctrl+u
大寫當前單詞(Upper Case)ctrl+k
ctrl+l
小寫當前單詞(Lower Case)- 刪除和分隔操作
ctrl + sfhit + k
刪除當前行(Kill)ctrl + backspace
刪除到當前單詞首部ctrl + delete
刪除到當前單詞尾部- 縮進
ctrl + [/]
左右縮進- 多光標
ctrl + click
點擊位置將添加一個光標ctrl + alt + up/down
向上或向下添加多光標,默認情況下次快捷鍵被核心顯卡驅動程序占用ctrl + d
選中當前單詞,繼續,並將懸着下一個相同單詞alt + f3
選中所有與當前相同的單詞- 括號
ctrl + m
在括號之間跳轉,包括html標記
查找替換
ctrl + f
彈出當前文件中查找的面板,ctrl + shift + f
在整個項目中茶盅。f3
跳轉到下一個匹配,ctrl + f3
跳轉到上一個匹配。
代碼折疊(Folding)
有時你想查看當前文件結構的概述,或者你想把精力聚焦在某個區域的代碼上。可以折疊代碼塊,如:函數、循環、HTML標記等。
ctrl + alt + [ / ]
折疊或展開當前代碼塊ctrl + alt + shift + [ / ]
折疊或展開所有代碼塊ctrl + k
ctrl + 數字
指定折疊代碼的深度
窗格(Panel)
將編輯區域划分為多個區域,同一視圖出現多個區域。比如:同一視圖下編輯html文件和對應的css。
右鍵單擊文件標簽欄split left, split right eg
將窗口划分,使用快捷鍵在這些窗口中跳轉ctrl + k
ctrl + up/right/down/left
在這些窗口跳轉。
在左側的文件列表單擊某個文件時,將會在編輯區域預覽該文件,這個窗格稱為待定窗格。
語法和自動完成
默認情況下編輯器根據文件后綴,使用什么語法來解析文件,你也可以在編輯器中ctrl + shift + l
進行選擇。
Atom提供了一些自動完成功能,會提示當前文件中,與你輸入前綴匹配的內容。
設置
打開菜單File -> Setting
,你可以核心的設置、編輯器相關的設置、快捷鍵綁定、包管理、主題管理、包安裝。
核心(Core)
- Allow Pending Pane Items(允許待定窗格)
允許這個條款,預覽將不會添加固定的窗格,比如當在文件列表中單擊文件時。 - Audio Beep(警報聲)
觸發系統警告聲,當某個確定的動作未執行或者執行沒有結果。 - Auto Hide Menu Bar(自動隱藏菜單欄)
自動地隱藏菜單欄,通過alt
鍵觸發它。這個功能只支持windows和linux系統。 - Automatically Update(自動更新)
自動地更新Atom,當有新的釋放版的時候。 - Close Empty Windows(關閉空窗口)
當一個窗口沒有打開任何標簽(文件)或窗格,此時按下ctrl + w
執行close tab
命令,將會關閉當前窗口。 - Remove Empty Panes(關閉空窗格)
當最后一個標簽關閉的時候,窗格也會被關閉。 - Exclude VCS Ignored Paths(排除VCS(版本控制系統)相關的文件)
忽略當前項目版本控制系統生成的文件和文件夾,比如模糊查詢、查找替換排除這部分文件。 - File Encoding(文件編碼)
設置默認的字符,當讀和寫文件的時候。 - Follow Symliks(允許符號鏈接)
搜索文件和已模糊查找方式打開一個文件的時候 - Ignored Names(忽略的名字)
以下的列表是全局的模式,匹配這些模式的文件、文件夾將會被某些包忽略,比如模糊文件匹配和屬性文件視圖。個別的包可能包含附加的設置文件來設置被忽略的模式。 - Open Empty Editor On Start(啟動時打開空的編輯器)
自動地打開一個空的編輯器。 - Project Home(項目主目錄)
- Reopen Project Menu Count(從新打開醒目的數量)
這個值將會影響菜單File -> reopen project
中歷史打開項目的數量 - Send Telemetry to Atom Team(發送測試數據到Atom團隊)
- Warn On Large File Limit(警告打開大文件的上限)
打開超過指定數值大小的文件時警告,單位M
編輯器(Editor)
這些設置會影響文本編輯。這些設置可以被每種語言的基礎部分覆蓋。檢查語言設置單擊包列表中特定語言的包卡片進行設置。
- Atomic Soft Tabs(軟Tabs為原子)
在軟tab(tab制表符會轉化為一定數量空格),移動光標時會被當成一個符號越過。 - Auto Indent(自動縮進)
插入行時,自動縮進新行。 - Auto Indent On Paste(粘貼代碼自動縮進)
- Confirm Checkout HEAD Revision
- Font Family(字體類型)
- Font Size(字體大小)
- Invisibls(看不見的符號)
- Invisibles Cr(看不見的回車)
- Invisibles Eol(看不見的\n符號)
這個字符使用來,虛擬現實\n這個符號的 - Invisibles Space(看不見的空白符)
使用這個符號在編輯器中,虛擬顯示代表一個空白符 - Invisibles Tab(看不見的制表符)
使用這個符號,在編輯器中虛擬顯示代表一個tab鍵
- Line Height(行高)
- Non Word Characters(非單詞的字符)
定義了單詞的邊界,比如修改一下會影響一個單詞的定義 - Prefereed Line Length(最佳的行長度)
超過這個數字的行,將會被軟中斷(顯示到下一行),這個設置生效前提的開啟Soft Wrap At Preerred Line Length
; - Scroll Past End(滾動超過文件末尾)
允許編輯區域,滾動超過最后一行 - Scroll Sensitivity(滾動敏感)
這個數字決定,滾動的快慢 - Show Indent Guide(顯示縮進線)
使用縮進線,展示出代碼的層次結構 - Show Invisible(顯示看不見的,參看前面Invisible相關的設置)
- Show Line Numbers(顯示行號)
將會在gutter區域顯示行號 - Soft Tabs(軟制表符)
- Soft Wrap(軟中斷)
自動換行顯示,默認是超過水平可視區域。如果設置了Soft Wrap At Preferred Line Length
指定軟中斷的寬度,那會會按照這個寬度自動換行。 - Soft Wrap Hanging Indet(軟中斷懸掛縮進)
軟中斷的下一行,默認是與上一行對齊的,這數字設置了附加縮進的字符數量。 - Tab Length(制表符長度)
tab鍵所代表的空白符數量 - Tab Type(Tab鍵類型)
決定按下tab鍵將插入空格還是制表符,soft
將插入一定數量的空格,hard
插入制表符,auto
由當前文件的內容中使用tab的情況決定。 - Undo Grouping Interval(撤銷的間隔)
生成一次可撤銷記錄的時間間隔,單位毫秒 - Zoom Font When Ctrl Scrolling(縮放字體,按下ctrl+滾動鼠標時)
進階使用
代碼段(Snippets)
代碼段功能強大,意味着你不必再使用復制粘貼的方式來處理使用頻率高的代碼片段。輸入代碼段的簡寫,按下tab
鍵,即可生成預定義好的代碼段。
查看當前文件類型的所有代碼段,命令面板中輸入:Snippets: Available
許多社區包和核心包都包含了許多代碼段,比如emmet包的html:5
將生成html5文件模版代碼。現在讓我們來自定義代碼段。
菜單File -> Snippets
將會打開一個用戶目錄下.atom/snippets.cson文件,添加如下代碼:
'.source.js':
'console.log':
'prefix': 'log'
'body': 'console.log(${1:"hello"});$2'
- 代碼段在什么類型文件中有效
- 代碼段的名字
- 激活代碼段的前綴
- 代碼段的內容,$跟一個數字代表按下
tab
光標跳轉的順序
注意:cson文件時類似於json文件對javascript一樣,它與coffeescript對應。使用縮進來控制層級關系。包圍的符號是Esc
鍵下方的那個,每一層級不允許出現重復的key,否則最后 一個key生效,詳見cson配置.
包(Package)
Atom大部分功能都是通過包來實現。官方把包分為兩類核心包和社區包,其中核心包是atom軟件安裝后就有無須再安裝。支持控制台命令apm進行包管理。
安裝
- 菜單
File -> Setting -> Install
搜索並安裝; - 系統控制台
apm install 包名
進行插件安裝; - 本地離線安裝,參考:http://www.cnblogs.com/jiqing9006/p/5538790.html
包設置
菜單File -> Setting -> package
內對安裝的對應的包進行設置。
包推薦
代碼類
- Emmet: 快速編寫html代碼
- atom-tronjs: js代碼提示
- atom-hyperclick: js代碼跳轉
- atom-beautify: 代碼格式化
- atom-minify: css/js代碼壓縮
- linter: 代碼檢查,需要額外安裝對應語言的檢查插件,列表如下
- linter-csslinter: css語法檢查
- linter-htmlhint: html語法檢查
- linter-jshint: js語法檢查
- linter-jsonlinter: json語法檢查