I prefer to use tab
than white space
(may be a little different from most of others)
But I found, when I hit Enter
at the end of line, it will add some white spaces, but not tab. So, I have to delete them and press tab.
I want to know how to set vim as:
enter
at the end of a line, the new line is started with only tabsI've googled for this for a while, but not found a good answer. Thank you in advance
UPDATE
The answer @Alok has provided works well in most of cases. But I just found, sometimes, it depends on the file type. For example, if you are editing a haml
file, and there is a haml.vim
in your vimfiles/indent/
, then all the tabs will be converted to space
. So if you want it to be tab
only, you should modify(or delete) the corresponding indent file.
To easily change a tab-based indent to use spaces instead when 'noexpandtab' is set, you can temporarily set 'expandtab' and use :retab with a range. For example, to convert only the current line to use spaces, use :. retab .
So, at the end of the day, tabs versus spaces is truly a matter of preference, however the tab is still the character specifically designed for indentation, and using one tab character per indentation level instead of 2 or 4 spaces will use less disk space / memory / compiler resources and the like.
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.
To indent the current line, or a visual block: ctrl-t, ctrl-d - indent current line forward, backwards (insert mode) visual > or < - indent block by sw (repeat with . )
The settings you are looking for are:
set autoindent set noexpandtab set tabstop=4 set shiftwidth=4
As single line:
set autoindent noexpandtab tabstop=4 shiftwidth=4
autoindent
can be replaced with smartindent
or cindent
, depending upon your tastes. Also look at filetype plugin indent on
.
http://vim.wikia.com/wiki/Indenting_source_code
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