When I have my vimrc here:
set tabstop=2 set shiftwidth=2 set softtabstop=2 set expandtab set smarttab
And I have supertab plugin installed. Whenever I am in insert mode I press tab, it shows the auto completion, but sometimes I would like to insert a real tab character in a string literal like. So what I mean whenever I press tab in double quotes string literal, it should input we a real tab character.
In short: set et and set noet to switch tab and space as need.
Vim's behavior is to repeat or omit the second character ( ▷ ), which means: A Tab character on a file that the indentation is set to occupy two screen spaces, will display ▷⋮ . A Tab character on a file that the indentation is set to occupy four screen spaces, will display ▷▷▷⋮ .
While in insert mode or command mode (the :
prompt at the bottom of the editor), type CTRL + V then TAB.
Using CTRL + V signals Vim that it should take the next character literally. Even in insert mode.
UPDATE:
As noted by Herbert Sitz, if gVim is in Windows mode (default), you must use CRTL + Q in place of CTRL + V.
@Samnang: I have a similar setup as you; unfortunately, Jason's answer did not work, for me.
This is a workaround:
Select the text (Visual mode) and do a search/replace,
:'s/`/\t/g
Updated answer, inspired by @Cyryl1972 's comment.
Insert tab at beginning of all lines (note also: no need to select lines, for any of the following code, as that's included in the line matching part of the expression):
:1,$s/^/\t\1/
Inert tab after first 10 characters in all lines:
:1,$s/^\(.\{10}\)/\1\t/
Explanation - first part:
:1,$ Match from line 1 to end of file ^(.{10} Collect (preserve) all text from beginning of line to position 10 (you need to escape the parentheses, \( and \), as well the FIRST (left) curly brace, only: \{ -- as it, { , appears to have special meaning in regex when used for this purpose
Explanation - second part:
/1 Add back the preserved text \t Insert a tab
... and the rest of the line is automatically restored, as well.
Current line, only:
:s/^/\t\1/
Example: insert tab at position 10 (0-indexed) at lines 2-4:
1234567890abcdefghij 1234567890abcdefghij 1234567890abcdefghij 1234567890abcdefghij 1234567890abcdefghij :2,4s/^\(.\{10}\)/\1\t/ 1234567890abcdefghij 1234567890 abcdefghij 1234567890 abcdefghij 1234567890 abcdefghij 1234567890abcdefghij
References (StackOverflow):
References (other):
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With