My Geany Configuration
References: '''https://www.geany.org/''' '''http://go-lang.cat-v.org/text-editors/geany/'''
Problem: Python code with too much distracting documentation ... Documentation difficult to navigate between sections and references ... with blocks of code that are not easily executable ...
Solution: An editor that manages both text and code files: with code folding based on indentation (Python type) right click option, to open file pathnames, both relative and absolute, directly in editor right click on htttp://web_address, to open address in a given web browser syntax highlighting for Python files - *.py keyword highlighting for document files - *.txt, *.hlp, *.gny
Note: I selected the *.gny extension to emphasize that a given text file is best reviewed with a custom configured Geany, as described here... I selected the *.hlp extension for the documentation retrieved from Python source code by: >>> help(module_name)
Following describes my custom configuration for Geany .... Done with support from Linux Mint, pylint3, dolphin and chromium-browser. twallace51@gmail.com
To configure Geany manually:
Install and open Geany....
Click on MenuBar > Edit > Preferences > and edit following:
Interface > Message Window > click [x] Right # tall is easier to read than wide, on a large screen
Editor > Indentation > width 2 # my personal preference rather than default 4 type spaces
Files > Saving Files > [x] strip trailing spaces and tabs # to help comply with pylint3 [x] replace tab with space
Tools > Tool Paths > set Browser to chromium-browser # or Firefox if prefer
Tools > Commands > set Context Action to chromium-browser %s #Now available: # click-drag on a valid web address -> selects address # right clicking on address -> opens a popup menu # clicking Context Action -> opens address in given web browser Also Note: # right clicking on the pathname of a file -> opens the popup menu # clicking on Open Selected -> opens the file in Geany
Keybindings > # Note: many of common keybindings are included by defualt, #eg for Run, Find, Find Next, Select All, Cut, Copy, Paste, etc Editor Delete current line(s) Alt-D Format Increase indent Alt-I # note that the Tab key is equivalent Decrease indent Shift-ISO_Left_Tab Search Replace Alt-R # easier to reach with one hand, but most editors use default Ctrl-H Document Fold all Alt-C Unfold all Alt-X GoTo Go to line Alt-G
Click on MenuBar > Edit > Plugin Preferences > FileBrowser dolphin "%d" # I like the split screen option in dolphin TreeBrowser dolphin "%d"
Click on Menu > Build > Set Build Commands > Replace all defaults with following: Under Doc commands > Pylint pylint3 --rcfile=~/mylintrc "%f" # assumes default pylintrc modified and saved as ~/mylintrc Under Execute commands > Python3.7 python3.7 "%f"
Click on Menu > Tools > Plugin Manager > First, install package "geany-plugins" with Synaptic or sudo apt-get. Then of the many available plugins, enable the most useful: SplitWindow AutoMark
Click on File > New (with template) > Note: To see your custom templates in Geany File menu, put your templates in ~/.config/geany/templates/files
To put your custom templates ~above~ the defaults in the template list, use an initial underline character in your template`s name, for example: _pure_python.py _PyQt5.py
To enable folding and simple syntax coloring for *.txt, *.hlp and *.gny files ====================================================================== Easy Option: ====================================================================== Click on Menu > Tools > Configuration Files > filetype_extensions.conf Look for Python=*.py;*.pyw;SConstruct;SConscript;wscript; replace with Python=*.py;*.pyw;SConstruct;SConscript;wscript;*.txt;*.hlp;*.gny ====================================================================== Better Option: # based on http://go-lang.cat-v.org/text-editors/geany/ ====================================================================== On bash command line: Copy Geany global config file to local configuration directory - so any changes are now local: cp -v /usr/share/geany/filetype_extensions.conf ~/.config/geany Copy and rename following: cp -v /usr/share/geany/filedefs/filetypes.python ~/.config/geany/filedefs/filetypes.Txt.conf
Note: Once these files have been copied, they can be updated later under Geany > MenuBar > Tools > Configuration Files > ...
Add following to ~/.config/geany/filetype_extensions.conf: Txt=*.txt;*.hlp;*.gny # between Tcl=... and Txt2tags=...
Edit following in ~/.config/geany/filedefs/filetypes.Txt.conf: Comment out keywords list, so will not be highlighted [keywords] #primary=.... #identifiers=.... . or replace with your own keywords, eg my favorites: primary = Note Warning Syntax Example Examples Description Goal References Usage Instalation Configuration Details Classes
Enable python style folding and highligting [settings] extension=txt,hlp,gny lexer_filetype=Python
Remove any build commands found here: [build-menu] FT_00_LB= FT_00_CM= FT_00_WD= FT_02_LB= FT_02_CM= FT_02_WD= EX_00_LB= EX_00_CM= EX_00_WD=
If you have personal configuration you like and want to share you could put it on the wiki, it will get lost on the ML.
Just make sure you are clear its your personal non-standard choices. Just as an eg, the Python recommended indent is 4 spaces see https://www.python.org/dev/peps/pep-0008/#indentation.
Cheers Lex