Sublime関連の記事を書くことが多かったので,Sublimeの設定などをまとめておく.
Microsoft Windows 10 Home (64bit)
Sublime Text Build 3126 (portable version)
{
	"color_scheme": "Packages/User/MyColor.tmTheme",
	"default_encoding": "UTF-8",
	"draw_white_space": "all",
	"fallback_encoding": "UTF-8",
	"font_face": "Ricty",
	"font_options":
	[
		// フォント描画に使用するAPIの指定(Windowsのみ)
		"directwrite"
	],
	"font_size": 12,
	"highlight_line": false,
	"ignored_packages":
	[
		"Vintage"
	],
	"line_padding_top": 2,
	"show_encoding": true,
	"show_line_endings": true,
	"spell_check": true,
	"tab_size": 4,
	"translate_tabs_to_spaces": false,
	// インデントに使われているスペースの削除方法
	"use_tab_stops": true,
	"trim_trailing_white_space_on_save": false,
	// テキストの折り返し
	"word_wrap": false
}
	
[
	{"keys": ["ctrl+f12"], "command": "clone_file" }
]
	個人的にUbuntu標準搭載エディタ「gedit」のcobaltというカラースキームが好きだ.
そこで,これに似せて自作でカラースキームを作成した.
TmTheme EditorというWebアプリケーションを用いる.
GalleryにあるRubyBlueがそれっぽかったので,それを編集し,以下のようなカラースキームを作成した.
これを ${sublime_path}\Data\Packages\User\ に置けばOK.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!-- Generated by: TmTheme-Editor                 -->
<!-- ============================================ -->
<!-- app:  http://tmtheme-editor.herokuapp.com    -->
<!-- code: https://github.com/aziz/tmTheme-Editor -->
<plist version="1.0">
<dict>
	<key>name</key>
	<string>MyColor</string>
	<key>settings</key>
	<array>
		<dict>
			<key>settings</key>
			<dict>
				<key>background</key>
				<string>#001B33</string>
				<key>caret</key>
				<string>#FFFFFF</string>
				<key>foreground</key>
				<string>#FFFFFF</string>
				<key>invisibles</key>
				<string>#404040</string>
				<key>lineHighlight</key>
				<string>#253E5A</string>
				<key>selectionBackground</key>
				<string>#0088ff</string>
				<key>selectionForeground</key>
				<string>#ffffff</string>
				<key>guide</key>
				<string>#0080FF</string>
				<key>stackGuide</key>
				<string>#0080FF</string>
				<key>activeGuide</key>
				<string>#FFFFFF</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>Text base</string>
			<key>scope</key>
			<string>text</string>
			<key>settings</key>
			<dict>
				<key>background</key>
				<string>#001B33</string>
				<key>foreground</key>
				<string>#FFFFFF</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>Source base</string>
			<key>scope</key>
			<string>source</string>
			<key>settings</key>
			<dict>
				<key>background</key>
				<string>#001B33</string>
				<key>foreground</key>
				<string>#FFFFFF</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>Comment</string>
			<key>scope</key>
			<string>comment</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#0088FF</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>String</string>
			<key>scope</key>
			<string>string</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#3AD900</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>Number</string>
			<key>scope</key>
			<string>constant.numeric</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#409fff</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>Ruby: Keyword Control</string>
			<key>scope</key>
			<string>keyword.control.ruby, keyword.control.def.ruby</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#ff9d00</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>Ruby : Constant</string>
			<key>scope</key>
			<string>constant.language.ruby, </string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#ff0044</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>Ruby: Constant Other</string>
			<key>scope</key>
			<string>variable.other.constant.ruby</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#ffee80</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>HTML</string>
			<key>scope</key>
			<string>text.html.basic, text.xml, meta.tag.inline.any.xml, meta.tag.inline.any.html, meta.tag.any.html</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#FFFFFF</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>HTML: Tag</string>
			<key>scope</key>
			<string>meta.tag, entity.name.tag, punctuation.definition.tag.html, punctuation.definition.tag.(begin|end).html</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#7BD827</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>HTML: Tag Attribute Name</string>
			<key>scope</key>
			<string>entity.other.attribute-name</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#F0804F</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>XML/HTML: Tag Attribute Value</string>
			<key>scope</key>
			<string>string.quoted.double.html, string.quoted.single.html, string.quoted.double.xml, string.quoted.single.xml</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#8DB0D3</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>HTML: Tag Attribute Value</string>
			<key>scope</key>
			<string>constant.character.entity.html</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#800080</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>JS: Default</string>
			<key>scope</key>
			<string>source.js, source.js.embedded.html, support.function.js, support.function.(*).js</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#8DB0D3</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>JS: Keyword</string>
			<key>scope</key>
			<string>storage.type.js, storage.type.function.js, constant.language.boolean, constant.language.json, keyword.operator.js</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#FFFF80</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>JS: Symbols</string>
			<key>scope</key>
			<string>keyword.operator.js, meta.delimiter.method.period.js, meta.delimiter.object.comma.js, meta.brace.(square|curly|round).js, punctuation.terminator.statement.js, meta.delimiter.object.comma.js, punctuation.separator.dictionary.key-value.json, meta.structure.dictionary.json</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#7BD827</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>JS: String</string>
			<key>scope</key>
			<string>string.quoted.(double|single).(js|json)</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#F08047</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>JS/JSON: Numeric and Regexp</string>
			<key>scope</key>
			<string>string.regexp.js, constant.numeric.(js|json)</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#FF00FF</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>CSS: </string>
			<key>scope</key>
			<string>entity.name.tag.css</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#7BD827</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>CSS: Operator</string>
			<key>scope</key>
			<string>meta.property-list.css, punctuation.terminator.rule.css, punctuation.separator.key-value.css, punctuation.definition.entity.css</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#FF00FF</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>CSS: Property Name</string>
			<key>scope</key>
			<string>meta.property-name.css</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#FFFFFF</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>CSS: Property Value</string>
			<key>scope</key>
			<string>meta.property-value.css</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#8DB0D3</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>CSS: Class</string>
			<key>scope</key>
			<string>entity.other.attribute-name.class.css</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#F4DD0B</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>PHP: Default</string>
			<key>scope</key>
			<string>source.php</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#F0804F</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>PHP: Keyword</string>
			<key>scope</key>
			<string>meta.include.php, keyword.control.exception.catch.php, keyword.other.namespace.php, keyword.other.use.php, keyword.operator.type.php, storage.modifier.abstract.php, storage.modifier.implements.php, storage.modifier.extends.php, storage.modifier.php, keyword.control.exception.php, keyword.control.php, keyword.other.new.php, storage.type.php, constant.other.class.php, support.function.construct.php, storage.type.(class|function).php</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#E6A82D</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>PHP: Entity</string>
			<key>scope</key>
			<string>entity.name.type.class.php, entity.name.type.namespace.php, support.other.namespace.php, support.other.namespace.use.php, support.constant.core.php, entity.name.type.interface.php, support.class.implements.php, entity.other.inherited-class.php, entity.name.function.php, variable.other.property.php, support.class.exception.php, support.class.builtin.php, meta.function-call.object.php, constant.other.php, support.class.php, meta.function-call.static.php, entity.name.namespace.php, support.namespace.php, support.function.(*).php</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#FFFFFF</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>PHP: String</string>
			<key>scope</key>
			<string>string.quoted.(single|double).php, string.quoted.single.sql.php, string.regexp.single-quoted.php</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#F4DD0B</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>PHP: Variable</string>
			<key>scope</key>
			<string>variable.other.global.php, variable.other.php</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#8DB0D3</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>PHP: Operator</string>
			<key>scope</key>
			<string>punctuation.separator.inheritance.php, keyword.operator.(*).php, punctuation.terminator.expression.php</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#F0804F</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>PHP: Number</string>
			<key>scope</key>
			<string>constant.numeric.php</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#7BD827</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>PHP: Constant</string>
			<key>scope</key>
			<string>constant.language.php</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#E6A82D</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>SublimeLinter Error</string>
			<key>scope</key>
			<string>sublimelinter.mark.error</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#D02000</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>SublimeLinter Gutter Mark</string>
			<key>scope</key>
			<string>sublimelinter.gutter-mark</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#FFFFFF</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>SublimeLinter Warning</string>
			<key>scope</key>
			<string>sublimelinter.mark.warning</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#DDB700</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>return</string>
			<key>scope</key>
			<string>"return"</string>
			<key>settings</key>
			<dict>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>Return</string>
			<key>scope</key>
			<string>return</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#ff9d00</string>
			</dict>
		</dict>
		<dict>
			<key>name</key>
			<string>Keyword Control</string>
			<key>scope</key>
			<string>keyword.control</string>
			<key>settings</key>
			<dict>
				<key>foreground</key>
				<string>#ff9d00</string>
			</dict>
		</dict>
	</array>
	<key>uuid</key>
	<string>${uuid}</string>
	<key>colorSpaceName</key>
	<string>sRGB</string>
	<key>semanticClass</key>
	<string>${semanticClass}</string>
	<key>author</key>
	<string>${author}</string>
	<key>comment</key>
	<string>${comment}</string>
</dict>
</plist>
	
	${sublime_path}\Data\Packages\User\Package Control.sublime-settings にインストール済みのパッケージ一覧がある.
これ入れてない人はいないでしょう.これないとまともにパッケージインストールができないし.
https://packagecontrol.io/installation
より,記載されているコードをコンソール(Sublimeのメニュー [View] → [Show Console])に貼り付けて実行するだけ.
一応貼り付けるコードを載せておくが,更新されていることもあるので,上記URLからコピーすることを推奨.
import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
	https://packagecontrol.io/packages/BracketHighlighter
[], (), {}, "", '', <tag></tag> といったカッコ類を強調する.
https://packagecontrol.io/packages/ConvertToUTF8
Shift-JISなどの非UTF-8のファイルを読めるようにしてくれる.
なおこのパッケージは,一度UTF-8へ変換し,Sublime上で編集→保存時に再び元の文字コードへ戻す,という作業をしているため,保存時(一瞬固まる)に他の作業を挟んだりするとファイルが壊れることがたまにある.
https://packagecontrol.io/packages/IMESupport
これがないと全角文字入力時のカーソルが画面外へ飛び出してしまう.
https://packagecontrol.io/packages/LaTeXTools
その名の通り.
https://packagecontrol.io/packages/SideBarEnhancements
サイドバーで右クリックした時に出来ることを大幅に増やしてくれるパッケージ.
https://packagecontrol.io/packages/SublimeCodeIntel
これはアホみたいに便利.
定義ジャンプ,コード補完,関数呼び出しツールチップなどの機能を提供.
https://packagecontrol.io/packages/SyncedSideBar
現在開いているファイルとサイドバーのファイルの位置を連動させる.
https://packagecontrol.io/packages/TrailingSpaces
行末の空白文字をハイライト,削除してくれる.
デフォルトでは全角スペースに対応していないので, Sublimeのメニュー [Preferences] → [Package Settings] → [Trailing Spaces] → [Settings - User] を以下のように編集.
{
	"trailing_spaces_regexp": " |[ \t]+",
}
	名前
Email (※公開されることはありません)
コメント