Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to configure vim to not put comments at the beginning of lines while editing python files

Tags:

python

vim

When I add a # in insert mode on an empty line in Vim while editing python files, vim moves the # to the beginning of the line, but I would like the # to be inserted at the tab level where I entered it.

For example, when writing this in vim

for i in range(10):     # 

the # does not stay there where I entered it.

It is moved like so, by vim.

for i in range(10): # 

Does anyone know of a configuration item in vim that would change this?

If it helps, I am using Ubuntu 8.10.

like image 375
Paul D. Eden Avatar asked Dec 09 '08 20:12

Paul D. Eden


1 Answers

I found an answer here http://vim.wikia.com/wiki/Restoring_indent_after_typing_hash

It seems that the vim smartindent option is the cause of the problem. The referenced page above describes work-a-rounds but after reading the help in smartindent in vim itself (:help smartindent), I decided to try cindent instead of smartindent.

I replaced

set smartindent 

with

set cindent 

in my .vimrc file

and so far it is working perfectly.

This changed also fixed the behavior of '<<' and '>>' for indenting visual blocks that include python comments.

There are more configuration options for and information on indentation in the vim help for smartindent and cindent (:help smartindent and :help cindent).

like image 84
Paul D. Eden Avatar answered Sep 22 '22 22:09

Paul D. Eden