629

When I select multiple lines of code and want to indent them as usual with TAB key, it just deletes them all. I come from Eclipse where I always did it that way. How's that done in Xcode? I hope not line by line ;)

DeveloBär
6718 silver badges21 bronze badges
asked May 6, 2009 at 14:43
3
  • 149
    I wish the Tab key did this in Xcode. Commented Mar 18, 2013 at 23:07
  • 1
    Anyone know if you can remap the tab key to this behaviour? Commented May 1, 2014 at 18:48
  • 1
    It's funny because I'm pretty sure I was able to use Tab for right indent before. It just one day stopped working... Commented Jan 21, 2015 at 23:56

21 Answers 21

938

The keyboard shortcuts are +] for indent and +[ for un-indent.

  • In Xcode's preferences window, click the Key Bindings toolbar button. The Key Bindings section is where you customize keyboard shortcuts.
Abizern
152k41 gold badges208 silver badges260 bronze badges
answered May 6, 2009 at 14:47
Sign up to request clarification or add additional context in comments.

11 Comments

Note that these are commonly used Mac OS X key bindings thus you can indent using CMD-] and CMD-[ in, for example, Mail.app.
Some apps that also run on other OSs use TAB and SHIFT+TAB instead, like eclipse and any derivatives
Additionally, Ctrl + I reindents your entire code in the active editor based on your text-editing preferences in Xcode.
Thanks for that tip - I didn't know that. Frustratingly, on German keyboards, there is no [ or ] key - so to indent, you actually have to hold CMD+ALT+6 to indent. God, I miss Visual Studio sometimes...
French keyboards should be the worse I think: ctrl+alt+shift+')'. Four stupid keys to indent a few lines. That's just as bad as it can be.
|
70

Select your code to reindent, then Go to

Editor -> Structure -> Re-Indent

Praveenkumar
24.5k23 gold badges101 silver badges177 bronze badges
answered Nov 12, 2011 at 22:32

3 Comments

-1: The question was how to indent a block of lines, not on how to have it indented automatically by XCode. IMHO, this is a big difference.
not the correct answer, but it's a useful reminder anyway!
Don't forget to '⌘ + A' before doing it
48

+ [ and + ] are the equivalents to shift+tab in Xcode.

Praveenkumar
24.5k23 gold badges101 silver badges177 bronze badges
answered May 6, 2009 at 14:46

1 Comment

It does apply to multiple lines if you have multiple lines selected at the time.
39

Here are the shortcuts, to format the code in XCode

  1. Format entire code (entire class/controller)

    Select the entire code and press control+I on mac to format your code.

  2. Format particular block of code

    Select the code and press:

    • +] for right move (indent)
    • +[ for left move (un-indent)

Note: as per @JavierGiovannini sugesstion you can do using Editor Menu option

  1. Select your code and navigate to Editor> Structure> Re-Indent
answered Aug 16, 2013 at 6:01

2 Comments

1. It should be Ctrl + I
It is ctrl + i !!! The letters l (lowercase L) and I (uppercase i) look equal! Please use lowercase. I'm unable to edit this post due to SO's inexplicable 6-chars restriction.
21

First, select all code using command+a

Second, hold key ctr and then press i

the whole selected code will nicely indent.

answered Mar 1, 2018 at 16:14

Comments

20

Multiline Indentation Shortcut key:

ctrl + i

NOTE: Please select codes to Re-indent and press 'control' and 'i' on your mac.

answered Feb 27, 2020 at 17:23

Comments

12

Another way to quickly reformat indenting is a quick cut and paste. +x and +v. I often find it faster than +[ or +] as you can do it with one hand (versus two) and it will reformat to the correct indent level in one shot.

answered Nov 17, 2013 at 5:49

2 Comments

IMO, you should compare it to +I which "has it indented automatically by XCode", not just "indent a block of lines".
This also works for us that does not work on an american keyboard :)
10

If you use synergy (to share one keyboard for two PCs) and PC(MAC) in which you are using xcode is slave, and master PC is Windows PC

keyboard shortcuts are alt+] for indent and alt+[ for un-indent.

Update:

But from synergy version 1.5 working +[ for indent and +] for un-indent

answered Jun 20, 2013 at 12:28

Comments

7

In Xcode 9, you can finally use Tab and Shift+Tab to indent multiple lines of code. Yay!

answered Sep 18, 2017 at 20:54

Comments

4

Select "Tab key: Indents always" in Preferences->Text Editing->Indentation Then you can indent a single line or a selection of lines by pressing TAB or SHIFT+TAB Sadly this removes altogether the possibility to insert tabs where you want, and conflict badly with the tab key being used to switch between "autocompletion fields".

I guess we need more tab keys in the keyboard, one is not enough...

answered Oct 14, 2015 at 0:45

Comments

3

For code indentation first select the lines of code then press:

command + alt + [

command + alt + ]

answered Jul 17, 2020 at 5:36

Comments

3

Select the lines and press Ctrl+i from keyboard.

You will have the lines indented.

answered Aug 11, 2022 at 5:39

Comments

2

To all frenchs Xcoders around, the default keybindings are as follow :

Indent selection:

+ + + )

Unindent selection:

+ + + (

answered Oct 22, 2015 at 14:01

Comments

2

For those of you with Spanish keyboard on mac this are the shortcuts:

+ + [ for un-indent

+ + ] for indent

answered Feb 19, 2016 at 18:13

Comments

1

here all the important shortcuts from another question answered on stack overflow here

answered Jun 20, 2015 at 10:15

Comments

1

If you want to remap the standard Xcode's +[ to TAB, you can do the following:

  1. Install a program called "Karabiner".

  2. Go to Preferences ~> "Misc and Uninstall"

  3. In "Custom Setting" section click on the "Open private.xml" button

  4. Open the file and replace its content with the following code:

    <?xml version="1.0"?> 
    <root>
     <item>
     <name>Tab instead of Command+[</name>
     <identifier>private.swap_tab_and_cmnd+[</identifier>
     <autogen>
     __KeyToKey__
     KeyCode::TAB, ModifierFlag::NONE,
     KeyCode::BRACKET_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::NONE
     </autogen>
     </item> 
    </root>
    
  5. Go to Preferences ~> "Change Key" ~> click on "Reload XML" button

  6. Put a tick in the checkbox which is called "Tab instead of Command+["

  7. Enjoy

enter image description here

PS: Please note that this setting works globally on your machine, not just in Xcode. However, I am sure that google might help you to find a solution how to customize it even further, applying the changes only to Xcode.

answered Dec 10, 2015 at 20:23

Comments

1

Danish Keyboard

Unindent: + + 8

Indent: + + 9

answered Jun 10, 2017 at 15:14

Comments

1

Basically [ for left multiple indent and ] right multiple indent.

For TR keyboard you can left multiple indent with 8 and right multiple indent with 9.Because both 8 and 9 are ALT characters of the these nums.Or if you have a keyboard which has [ or ] characters are belong to ALT() property so you can use KEYBOARD CHARACTER

answered Feb 27, 2018 at 10:08

Comments

0

Since I didn't see an update to this question for the current version of Xcode, I thought I'd add that in Xcode 9.3, Tab works for indenting selected line(s) of text as well as moving from one autocomplete field to another.

answered Apr 10, 2018 at 0:23

Comments

-1

In Xcode 4.2 auto-indenting is pretty good. You can now indent a selection of code by pressing the Tab key. I find that Xcode generally formats code really well automatically, and you rarely have to move things around yourself. I find it faster to select a piece of code, right-click and choose Structure -> Re-indent if some code looks messy.

answered Nov 27, 2011 at 12:13

2 Comments

i think you have not used any other code editor except xcode in your life. xCode autoCodeFormatting is the worst.
Doesn't work in XCode 8.3. Don't know if it ever did.
-1

Tab for Indent SHIFT + Tab Re-indent

answered Oct 16, 2018 at 7:54

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.