[Lazarus] editor details

Martin lazarus at mfriebe.de
Mon Apr 19 22:51:20 CEST 2010


On 19/04/2010 21:09, spir ☣ wrote:
> On Mon, 19 Apr 2010 16:37:56 +0100
> Martin<lazarus at mfriebe.de>  wrote
>> On 19/04/2010 16:14, spir ☣ wrote:
>>      
>>> * indentation
>>> I set tab&   indent widths to 4 chars.
>>> But pressing tab key seems to indent according to a logic I cannot catch, eg
>>>
>>> function ...
>>>            tab stops here: 9 chars
>>>
>>>        
>> You may want to turn off "Smart tabs", they indent according to spaces,
>> in the line(s) above the cursor.
>>
>> Also if you are looking at indent, when pressing return:
>> - In the options dialog, go to (in the left hand site tree)
>> Codetools/General. There are 3 checkboxes regarding indentation here.
> Right, I played with these settings&  I think the guilty one is smart tabs (still don't get how it works).
> (Cannot find anything related to ndent in Codetools/General.)
>    

Oh, yes, ok. I am using the SVN  version => which has a lot of new 
features. In 0.9.28 this was/is indeed not there.

>>> * duplication
>>> Is there a "duplicate" feature (duplication current line or selection)?
>>> For info: this replaces select + copy + move + paste + move up&   down (to unselect and come back) in one key press.
>>>
>>>        
>> If you do any action such as move caret, or paste... The selected text
>> should become unselected. unless you use "persistent selection"
>>
>> without persistend selection this should work
>> - select block
>> - ctrl-c
>> - ctrl-v
>> - ctrl-v
>>
>> with persistent block, I believe it is ctrl-K ctrl-C
>> (actually that works for non persistent too)
>>      
> All right, but what about this feature [geany fans constantly use it and can hardly leave without ;-)]
>    

Which one you mean? (I don't use "geany", don't even know it)
- duplicate block => you found below
- unset the selection, without moving the caret? There is a command 
"Hide Block", currently not set to any key => try that
It is supposed to be used with persistent blocks, but seems to unset 
normal blocks.

> Right, did it already in fact. Just miss the feature to which assign ctrl+D (duplication!).
>
>    
>>> * place cursor at end of line
>>> When I place the cursor on an empty part of line, the cursor weirdly stays in the middle of nowhere instead of moving to the end of the line (just after last char). Is there a way to change this (for any reason this behaviour gets on my nerves ;-)
>>>
>>>        
>> Editor/General:
>>
>> Disable "caret past end of line"
>>      
> Thank you! By me it's called "scroll past end of line", maybe the reason why I overlooked it... There is also "cursor beyond end of line" in Codetools/General: I unchecked it before but it does not seems to have any action.
>    
the code tool entry, allows to override your default setting for certain 
actions (e/g jump to declaration)

>> Note that you still can enter spaces at the end of line. You can enable
>> them to be trimmed automatically (by default this only happens if you
>> leave the line)
>> http://wiki.lazarus.freepascal.org/IDE_Window:_Editor_Options#Trim_trailing_spaces
>>      
> Right, I don't use this because I want blank lines in an indented block to be correctly indented as well. I need this feature not to apply to blank lines (meaning be smart enough not to remove *leading* spaces that just happen to be also *trailing*)... there is an option for this in a few editors.
>    
Sorry, but Lazarus doesn't differentiate between those.

Because in Lazarus you can use
"auto indent" and then if you press return, your new line is 
automatically filled with spaces, up to the same point the line above 
was having leading spaces (or if the line above was empty, the fiirst 
none empty line above)

"smart tabs" (which you didn't like => which will indent the current 
line, up to the point, where in the line above there is the start of a 
new word

Martin




More information about the Lazarus mailing list