27 ms·
Some things beginners might not know about Sublime Text
- jz10 14y agoWindows users, change all 'Alt' to 'Ctrl' in this article and you guys should be alright. [Edit]Didn't realize the author was around. Author, 'Alt' is the wrong key for Windows. You should probably change them to 'Ctrl' instead
- hebejebelus 14y agoFurther to point F: if you hold down control, you move by word segment - this is camel-case (and underscore) aware. So, if I am at the front of the word "cakeParty", I can move to between 'e' and 'P' by holding control and pressing the right arrow key. (This is in ST2 for Mac OS X - I'm sure there's an equivalent feature in ST2 for other systems.)
- ashamedlion 14y agoI added your tip to the list, thanks!
- Calvein 14y agoOn Linux (and WIndows I presume) it's with the alt key.
- mattacular 14y agoThe command and alt modifiers work when I use the arrow key but this ctrl doesn't seem to do anything... OS X lion. For example, I put the caret in front of a camelCased variable and press ctrl+right arrow, nothing happens. Am I doing it wrong?
- lobster_johnson 14y agoYou need to hold alt _and_ ctrl at the same time.
- deleted 14y ago[deleted]
- draftable 14y agoTo quickly get multiple cursors on many lines at once, you can also select what you need and hit Cmd + Shift + L
- draftable 14y agoYou can also move the curent line up and down the page using Ctrl + Cmd + Up/Down
- pooriaazimi 14y agoI curse myself whenever I think about it. For the longest time, I didn't know about this shortcut. I missed it terribly, but I was too thick to understand that I can search through the manuals or internet to find if such a shortcut exists... I used it a hundred times daily (Java, Eclipse), but the need for it is much greater in CoffeeScript+Node.js
- Chris_Newton 14y agoOr on Windows, it’s Ctrl+Shift+up/down. Also: Ctrl+Shift+D duplicates the current line by default (or the current selection, if any). Ctrl+Shift+K deletes the whole line. Ctrl+K twice deletes to end-of-line. Ctrl+K Ctrl+backspace deletes to beginning-of-line. Combine duplicate, move up/down, and the Ctrl+D multi-cursor stuff, and you have a copy-and-paste coder’s dream editor. ;-)
- Tloewald 14y agoSomething else you might not know -- multiple selection via command clicking (also implemented in Excel, for example) was in the original (1985ish) Apple Humn Interface Guidelines.
- dt7 14y agoNow that I think about it, it's such a common feature everywhere except text editing (I'm mainly thinking of selecting/highlighting things like icons and menu items) it's interesting that it has taken so long to be an editor's big selling point.
- po 14y agoAlso a must-have: Sublime Package Control http://wbond.net/sublime_packages/package_control http://wbond.net/sublime_packages/package_control Useful for installing things like themes, syntax awareness, code linters, etc...
- mixmastamyk 14y agoInstallation is through the Sublime Text 2 console. This is accessed via the ctrl+` shortcut. Once open, paste the following command into the console: import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbon d.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation' Are you kidding me? The product or package maintainer should handle this better.
- modarts 14y agoUm, this is product for developers. I think that they should be able to handle a pretty simple copy/paste. Not sure the reason behind the drama queenery.
- mixmastamyk 14y agoIf it's worth doing, it's worth doing right. Respect others and they will respect your work.
- natrius 14y agoThis is a worthless, false platitude.
- mixmastamyk 14y agoSo we know your stance on courtesy and respect to others.
- rockzapper 14y agoThe shortcut to quickly open Files is Ctrl + P (or Cmd + P on Mac) as opposed to Ctrl + T mentioned in the article.
- deviarte 14y agoI am pretty sure that "Quick file opening" is CTRL+P on Windows. Since CTRL+T opens a new tab for me..
- mathieuh 14y agoYep. Basically, Textmate's Goto Anything feature is activated by cmd+t, so ST's author mapped both cmd+t and cmd+p to Goto Anything on OS X to accommodate people switching over. On OS X, Goto Symbol is actually cmd+r.
- steverandy 14y agoI set cmd+t for goto anything and cmd+p for command palette.
- jQueryIsAwesome 14y agoYes, and to look for symbols/functions you have to write "@" after CTRL+P.
- toran1302 14y agoAnother one i've found useful is CMD+D / CMD+K+D. CMD+D finds the next instance of the current selection and creates another cursor there (and selects it as well). CMD+K+D skips the current selection and finds the next one. A fine grained find+replace/modify :)
- pastr 14y agoFor more ST keyboard shortcuts: https://gist.github.com/1736542 https://gist.github.com/1736542
- davidlumley 14y agoWhen you mention cursor, I assume you mean caret? Similar to Textmate?
- haasted 14y agoCmd + d selects the current word. Subsequent Cmd + d presses will select the following instance of the word for editing. Makes it easy to do things such as renaming a local variable or changing both the opening and closing element of a HTML tag.
- foz 14y agoWhat's really wild is if you do CMD+d several times and then move around with the arrow keys. Multiple cursors follow you around. I'm not sure if this is useful, but it's certainly cool.
- Chris_Newton 14y agoTo me, supporting multiple cursors is one of ST2’s killer features. For one thing, it goes a surprisingly long way to making up for not having language-sensitive refactoring tools if you’re renaming things, changing parameter lists, etc. Also, you can make a selection in advance rather than relying on the default of selecting the current word. That selection can even span line breaks and/or include indentation. If you then select some/all instances of the same text as starting points using Ctrl+D, you can change not only the copies of the text but also (for example) extend the selections to include whatever is immediately before or afterwards (even if that is different in each case) or move to the start or end of each line. It’s a quick way to do a lot of common search-and-replace type operations without getting bogged down in regexes or macros. A related useful technique is using (on Windows) Ctrl+Alt+up/down, which moves up/down a line creating multiple cursors as you go. If you then do Shift+left/right, you can get a “column selection” effect, for example. (You can also drag with the middle mouse button to select a column.) I hope ST2 will build on these basic features as time goes on. It could allow incremental forward/backward search without cancelling the multiple cursors, let you cycle around which cursor is shown or will be left when you hit escape to cancel multiple mode, maybe even temporarily split the display to show multiple cursors at once if they are far apart. There’s a huge amount of potential here.
- calinet6 14y agoWay useful. You can, for example, select all instances of a variable name, then rename it selectively from the middle of the selection if you want. Also good to note: Command-F find also has a "Find All" option which can be faster than pressing Command-D multiple times, and also allows more complex non-word and regexp searches. From there you can use multiple cursors or replace the whole selection just by typing. Brilliant editor, this one.
- taylorbuley 14y agoIs it possible to do multi-line editing like Sublime Text but in Vim? I use both, and this was the feature that got me out of Terminal, but besides this I can't think of anything else offhand for what ST2 can do that Vim can't do.
- madelfio 14y agoYes, Ctrl-v to enter visual-block mode, then move up or down to cover all lines where you want to make changes, then I{string}Esc to append a string at the cursor location on all lines. See: http://vimdoc.sourceforge.net/htmldoc/visual.html#blockwise-operators http://vimdoc.sourceforge.net/htmldoc/visual.html#blockwise-...
- mvgoogler 14y agoDoesn't block mode only work for blocks within contiguous lines of code? (basically it will let you select a rectangular section of code) ST2 allows multiple cursors in arbitrary locations - I'm not aware of another editor that supports that.
- jagira 14y agoThere is a vim plugin that provides arbitrary multiple line edit. https://github.com/alfredodeza/plexer.vim https://github.com/alfredodeza/plexer.vim
- alphabethos 14y agoI'm not sure exactly what you're looking for without knowing more what you mean by multi-line editing, but you can apply arbitrary commands (including inserts) to any set of lines. Switches case on lines 4, 15: :4,15 norm ~ Indents text and changes the first two words of ever line to "duck" from mark a to the end of the file :'a,$ norm >>2cwduck Prepends a # to every line of the visual selection :'<'> norm I# Applies regex to lines that match a regex :g/ducks/ s/moo/quack
- ohgodthecat3 14y agoYou can also get multiple cursors from the keyboard with ctrl+alt+(uparrow or downarrow) not the most convenient of keybindings but can be rebound if you look for "select_line" in the default keybindings. (Linux and Windows)
- siodine 14y agoCtrl+Alt+P to get a dialog for opening all your Sublime projects. Ctrl+R for navigating to functions or classes within the current file. SublimeClang gives you Visual Studio-style Intellisense, static analysis, and jump to definition/implementation. When setting up Vim emulation, you'll need to install VintageEx and change some of the default bindings (Ctrl+Shift+P+"key" to see the binding files). You'll also want SublimeBlockCursor. For example, put the following in the user defined keymap to override the defaults: [ { "keys": ["ctrl+f"], "command": "move", "args": {"by": "pages", "forward": true} }, { "keys": ["ctrl+b"], "command": "move", "args": {"by": "pages", "forward": false} }, { "keys": ["ctrl+shift+f"], "command": "move", "args": {"by": "pages", "forward": true, "extend": true} }, { "keys": ["ctrl+shift+b"], "command": "move", "args": {"by": "pages", "forward": false, "extend": true} } ]
- B-Scan 14y agoCtrl+Shift+D duplicates line
- eogas 14y agoYou can also search and do multiple selection with a regular expression, which is awesome. I've used this heavily in the past few weeks. The only problem I've had is that all searches appear to run on the main thread, so when working on a sufficiently large file, the whole application blocks like hell. And to make it even worse, they update search results on the fly, meaning that for every new character you enter it blocks. I've taken to writing my expressions fully in a random textfield elsewhere, and pasting them in all at once.
- JonnieCache 14y agoYou guys know that you can go to the Default Keymaps file and get all of these tips in one list right? You can even change them... EDIT: Just for fun, here is that file on OS X: https://gist.github.com/3117613 https://gist.github.com/3117613 Notice the "context" definitions. Also check out how the auto-pairing functionality is defined in terms of the key binding DSL. And how you can define nonstandard layouts for the panes. And so on. Sublime is great. It reminds me of a less insane version of Foobar2000.
- MaxGabriel 14y agoThere's also an app on the Mac app store--I think it's called Cheat Sheet (?)--where you hold Command to see all the hot keys for the program.
- sev 14y agoThanks for that. Off topic: Safari on iPhone cuts off every line short at your link...I'm surprised by github!
- lparry 14y agoThey're not actually cut off, they're in a scrollable text area (use two fingers to scroll within that text area) same as on the desktop. Not very easy to use, but then the device does have a very low (virtual/apparent) resolution of 320x480.
- salsakran 14y agoI actually really like getting other people's lists of their favorite ST2 features. It's more digestible than getting the entire list in one go. I find I tend to get one or two features that I put into "rotation" in reading these, while looking at all the keybindings just overwhelms me and leaves me using the features I already know.
- deleted 14y ago[deleted]
- tixzdk 14y agoI've kept my favorite shortcuts open in a panel for about a week, so I could learn them by heart: http://pastebin.com/hQtYKzhN http://pastebin.com/hQtYKzhN Favorites include: Expand selection (to various levels), close tag, block commenting and splitting lines!
- dt7 14y agoYou can also use your middle mouse button to make block selections, or doing things like making a long vertical line of multiple cursors (handy if you have an HTML list of varying line lengths, you can draw a long vertical line of multiple cursors, then use the left and right arrow keys and home and end keys to make changes to all of the lines quickly).
- dr42 14y agoStill doesn't seem to have 'correct indentation' which I would use often, especially for 'data' files like XML or JSON.
- siodine 14y agoThis is probably obvious for most people, but when you can't find a feature you want in an editor, you should look for plugins. So, in this case, you would go to http://wbond.net/sublime_packages/community http://wbond.net/sublime_packages/community and search for "indent" or "pretty" or "xml".
- dr42 14y agoObviously you didn't actually try what you suggested, if you had you'd have found there are plugins for JSON and XML and probably a few other formats, but was hoping ST2 would have what textmate and eclipse has had for a long time, code formatting, java, XML, xsl, JavaScript, c etc. I know you're new here, but a little reminder about etiquette, even if you haven't gotten laid in a while, the community here is based on people being helpful rather than trying to be superior. The problem with that attitude is that it backfires and just makes you look insecure.
- siodine 14y agoSorry? My response was tailored for your comment -- you didn't mention plugins and you weren't (and still aren't) clear on the features you're missing. I.e., from your comment I inferred that you are new to all this, and so I treated you as a newcomer. I guess that hurt you feelings? If so, I didn't mean to :)
- dr42 14y agoNope, didn't hurt my feelings at all, I was trying to help you learn the ropes. My comment was really pretty clear, and easy to follow, ST doesn't have a code formatter, you know, like textmate and eclipse do. It's a feature that lets you take poorly aligned code that is difficult to read, and fix up the alignment a la K&R et al. Hope that's clear enough for you :) If you want to find out if someone is a newcomer, you can click on their profile and see pretty easily.
- Osmose 14y agoCmd-P is useful for opening existing files, but what's the preferred way for creating them? I eventually had to get an extension and modify it to replicate emacs' c-x c-f to create files.
- fserb 14y agoI normally do Cmd+N (Create an empty file) Cmd+S (save it). Isn't this sort of the same?
- Osmose 14y agoThat uses the OS file dialog, which is far too slow for my taste, although I've never actually checked to see what kind've shortcuts there are for it.
- snprbob86 14y agoOn OSX, press / or ~ to get a path text box with tab completion.
- Hovertruck 14y agoI've always pressed CMD+Shift+G for that. Nice to know there's an easier way.
- swah 14y agoOnly when you save...
- h0munculus 14y agoBut then syntax highlighting is off until you close and reload it, which is annoying. I usually have a terminal open to the project anyway so I just use 'touch' to create the file I want.
- Hovertruck 14y agoCMD+Shift+P -> "JS" or "Py" or something sets the syntax highlighting.
- mef 14y agoOne of my favorite features is the flexibility of the Goto Anything dialog (CMD+T or CMD+P) e.g.: - Goto file: "con pos" -> app/controllers/posts_controller.rb - Goto line in file: "con pos:100" -> app/controllers/posts_controller.rb line 100 - Goto function in file: "con pos@foo" function foo in app/controllers/posts_controller.rb Also one that came up recently is CMD+ALT+Q to auto-wrap long comments to your ruler (e.g. 80 columns).
- JonnieCache 14y agoYou dont even need the spaces. "conpos:100" works fine.
- Dunkirk 14y agoI've been using {g}vi{m} for 20 years now, but just bought ST2. I like how this whole discussion revolves around finding keystrokes in ST2 that yield the convenience of doing things I took for granted in vim. Maybe I should just yield to the wisdom of the crowd, go back to VIM, forget about having a file explorer on the left side (NERDtree's wonkiness drove me to ST2), and learn to use Ctrl-P. It's what people keep suggesting to use in ST2.
- Lost_BiomedE 14y agoWhat functionality are you looking for? I usually use :new|n<directory> ,which is usually :new|n.
- tyrmored 14y ago:Vex
- kamechan 14y agoThere's a vim mode in st2. I'm not near my computer at the moment but IIRC it's in the preferences (classic mode I think it's called?). edit: back at my computer now. to put st2 into vim mode, just comment this line out in the default preferences: "ignored_packages": ["Vintage"]
- noiv 14y agoDespite ST2 is great and everyday there is a new surprising feature to detect - what is the shortcut for 'save all'?
- siodine 14y agoFirst, search google for "sublimetext save all." You should then get this website http://www.sublimetext.com/docs/commands http://www.sublimetext.com/docs/commands. Now, create a new user defined bind for that command (you can google how to do this). Or you could use Ctrl+Shift+P+"save".
- eswat 14y agoNot the same, but I have the save_on_focus_lost setting set to true, so when I switch out of ST2 – likely to Chrome with LiveReload on – everything gets saved and I see my changes immediately.
- deleted 14y ago[deleted]
- president 14y agoCommand+T works on Mac in addition to Command+P (mimics TextMate). He meant Ctrl+P on windows.
- mixmastamyk 14y agoI tried out Sublime for a day or two, and think it does a lot of things right. However a few small things also bugged me right off the bat, may be someone can help. - Code folding: No fold level 1 option, would like a hotkey. No line at the fold, just an icon at end of line. - No GUI for options or syntax/theme editing. I give geany a pass on this (has options but not theme editing) because it is free. Many other free choices have this (N++, Programer's Ed.) but not Sublime. I don't wanna dig through docs for hours (again) to get another editor set up. It's a shame this stuff isn't standardized by now. This might be because they made their own widget set and haven't finished yet. If so, it was a mistake. QT, wx, or native would have been fine. No need to reinvent the wheel. Configuration: The mess of weird filenames and extensions in the config folder was a turnoff also. Json is nicer in many respects than xml, but I can't say it's optimal for config files.
- calinet6 14y ago> This might be because they made their own widget set and haven't finished yet. If so, it was a mistake. I don't understand how anyone who has actually used Sublime can say this. It's smooth, clean, cross-platform identical, and beautiful, and most importantly, insanely fast. I believe the widget set is their biggest strength. Then again, I also believe the text configuration is another strength. It's a programmer's editor; it wasn't designed this way out of laziness or poor aesthetic or UI concepts, it was designed this way because it's exactly how most of the target users want to configure it. It also saves a lot of dev time that would be spent maintaining myriad settings UI's and determining which belong and which don't and how to lay them out and how to document them, etc. etc. etc. Instead, settings are keys and the way you manage them is through simple, readable JSON files. No problem. It also has many other advantages, such as being able to have a settings file per project and override any settings as you like, rather than being limited by a pesky UI. In fact, it would probably be a fairly easy thing to set up a Sublime plugin that provides a UI for the various settings as you desire. The fact that no one has bothered to do this yet is very telling.
- mixmastamyk 14y agoI didn't say it shouldn't be saved to disk as text. I gave three editors which have gui configs as well and are free. The gui can be built automatically if done right. Also, I have no performance issues with any of my editors. The widget comment was based on the fact they use no other widgets, they must not have written them yet.
- nottombrown 14y agoCmd-Shift-P is incredibly useful. It lets you intelligently search all the commands. Want to Save-all? Cmd-Shift-P, type 'save' and hit enter. Plus it takes into account any customizations or add-ons you might have put together.
- aviraldg 14y agoI hadn't noticed this before, but you can create a new file by (double?) clicking anywhere in the empty area in the tab bar.
- taitems 14y agoReally? This is the one thing I've been missing from Notepad++ that I could never get working in either the Windows or Mac versions of ST2. Maybe it landed in that update last night or the night before.
- LocalPCGuy 14y agoFor those that like/need to print their code, there is a plugin that does that: https://github.com/joelpt/sublimetext-print-to-html https://github.com/joelpt/sublimetext-print-to-html
- baby 14y ago> ctrl + T on Windows doesn't work on my ST2.
- Destroyer661 14y agoIt's actually Ctrl + P on Windows. I think the author made a typo.
- yen223 14y agoIt's Cmd + T in Mac OSX, hence the confusion.
- madprops 14y agoctrl + t swaps text, for example foo(bar) if you place the cursor before the parenthesis and press ctrl + t it will become bar(foo). ctrl + m when in a bracket sets the cursor to it's matching bracket. ctrl + up or ctrl + down scrolls the document up or down. ctrl + g goes to a line.
- prisonguard 14y agoswitched to sublime from np++ 3 months's ago, happy bunny! but i miss the np++ file explorer that allowed me to perform cut/paste/rename file & folder actions and even access the top level OS explorer menu within the editor so i had ,svn,archive,properties and send to [edit] typo
- JulianMorrison 14y agoThings sublime text lacks that bug me: drag and drop of selections. It would be even better if it could do what nedit can do with drag and drop, or drag and clone of both normal and block selections.
- mise 14y agoHere's a (PC-oriented) cheat sheet of some keyboard shortcuts: https://gist.github.com/1958143 https://gist.github.com/1958143
- trebor 14y agoCMD/CTRL + R will take you immediately to the find by symbol/definition. This is the same as CMD/CTRL + P and then typing @.