7 habits for effective text editing

After watching the incredible presentation from Brian Moolenaar, vim's creator, I came up with a list of activities that I need to do in order to improve my text editing and incorporate his 7 habits on my daily basis.

The idea here is to translate the habits using Emacs functionalities!

Three basic steps

  1. detect inefficiency
    • find out what you waste time on
  2. find a quicker way
    • read the on-line help
    • read the quick reference, books, etc
    • ask friends and colleagues
    • search the internet
    • do it yourself
  3. make it a habit
    • do it
    • keep on improving

You have to detect your own inefficiencies during your work day. You have to use and make it a habit.

Do a little bit of it, everyday!

Habit 1: Moving around quickly [0/9]

Emacs functionalities to improve this habit

  • [ ] jump-to-char
  • [ ] ace-jump
  • [ ] basic movement keybindings
  • [ ] sexp movements
  • [ ] paredit
  • [ ] isearch
  • [ ] enable the hideshow minor mode
  • [ ] take a look at the command pop-to-mark and the global option too
  • [ ] use Occur

Habit 2: Don't type it twice [0/4]

You have a hard time typing.

  • [ ] improve hippie-expand
  • [ ] take a look about how hippie-expand really works
  • [ ] improve how to choose options from ido-at-point
  • [ ] how complete-symbol works and how to improve it

Habit 3: Fix it when it's wrong [0/5]

  • [ ] use the spell checker - flyspell
  • [ ] how to add new words to my dictionary in flyspell mode
  • [ ] if you type the same word wrong every time, stop the battle, use abbreviations.
  • [ ] learn flyspell commands like next-error, previous-error
  • [ ] write functions to correct whole buffers, regions and not word-based

Habit 4: A file seldom comes alone [0/7]

When working on a new project you have a hard time finding your way in the files.

  • [ ] improve my usage of projectile
  • [ ] create a perspective mode for the most active projects I'm working on
  • [ ] fix some annoyances from rgrep
  • [ ] increase the usage of M-. and M-,
  • [ ] are ctags useful for me in any prog mode that I use?
  • [ ] query replace inside different files - dired mode
  • [ ] increase ibuffer usage

Habit 5: Let's work together [0/3]

You have to use MS-Word, Emails, Spreadsheets … how to integrate them?

  • [ ] copy the text between Emacs and other applications through clipboard
  • [ ] take a look at hard wrap of words at the boundaries.
  • [ ] fill-paragraphs

Habit 6: Text is structured [0/4]

  • [ ] write functions to perform text processing that you often look manually
  • [ ] improve my elisp
  • [ ] improve my elisp regexp knowledge
  • [ ] really need to learn more about s-expressions

Habit 7: Sharpen the saw [0/6]

You have to keep on tuning the set of commands you use for your needs. Use feedback: Learn from what you did.

  • [ ] everyday take 15 min to think about what you did during the day, that could be improved.
  • [ ] learn one new feature every time … keep learning o/
  • [ ] I will create a web page called "dump" to throw every new learning
  • [ ] folding, automatic indenting, plugins, edit files over a network
  • [ ] advanced scripting
  • [ ] see Vim scripts for inspiration!

How NOT to edit effectively

  1. You have to get the text ready right now. No time to read documentation or learn a new command.
    • You will keep on using primitive commands.
  2. You want to learn every feature the editor offers and use the most efficient command all the time.
    • You will waste a lot of time learning things you will never use.