Over the years I have tried most of them, and has been a while since I settled for the following tools that I use depending on the situation. In this post, I am not aiming to give you a comprehensive comparison of latex editors, for that see the links above, but rather describe the reasons that work for me.
My latex editor of choice is texstudio. One of the main features that I need is a cross-platform editor as I work in multiple operating systems. And texstudio supports all that I need, OS X, Linux and Windows. It works out of the box and has great integration with latex installations, built-in pdf viewer with forward and backward syncing, syntax highlighting, syntax auto-completion, reference and citation auto-completion, live spell-checking, useful reporting of errors, snippet wizards, compilation of master-document, automatic multiple compilation for references and citations, word-count, and many other features that make writing in latex a breeze. Also it is free and open source, licensed under GPL v2.
If I could find any faults with it, it would be that: it does not allow split view; the default shortcuts for next/previous tab document, at least on OS X, are uncommon, but this is easily fixable in preferences.
sublime text is a cross-platform, powerful and feature rich general purpose text and code editor. With the help of plugins, like latextools or latexing, it becomes a great latex editor (both plugins are equally good and active). Sublime is my first or second preference for any task that requires text, for the additional reason that it is extremely fast to launch and edit; whenever I need to see a latex document quickly I open it with sublime. The only things that have made sublime fall short to texstudio as my first preference of a latex editor, is that it has no built-in previewer, texstudio has nicer error reporting and a complete build is a shortcut away. Last, it is worth noting that sublime is commercial costing at the time of writing 70 USD, but it is worth every cent of it; it has many users and fans that swear over it and some new popular editors have taken inspiration and cloned to some large extend the interface and way of working from sublime.
git & gitlab
Although a version control system might not be directly related to latex writing, it is one tool that I pretty much always use for keeping track of changes, collaborating with other people or as a backup to a VCS server. These days my preference for a VCS is git. For my git hosting I prefer gitlab or github. Both are great, popular and similar in features git hosting services, but gitlab, unlike github, allows private repositories on its free plan without any compromise. And if you have an educational account then you can get some of the features found on its paid plans, like unlimited number of collaborators. There are some downsides when using a VCS, particularly when it comes to collaborative writing; like that the other people need to know git, and most importantly it does not allow authors to edit the document live.
Although an editor and a VCS, like git, with a VCS hosting service allows collaborative writing, there are some drawbacks. All collaborators must know how to use the VCS at least at a basic level. Most importantly, it does not allow simultaneous live editing, where we can see each other’s changes as they are being written.
For this task there is an online editor called overleaf. It is fairly impressive in terms of features, which include, server build and viewing on built-in output viewer, syntax-highlighting, auto-completion of latex as well as of references and citations, spell-checking, project management, many document templates, and of course sharing and collaborative live online writing. Some further features I like and have proven useful when writing a document with multiple authors is the rich-text format view that allows to make bubble-box notes and replies to them. Also, although not the most elegant way to implement git support, it is there, allowing the possibility to work offline and then push the changes online. If there is one negative is that despite recent performance improvement, the rendering of the output document in the preview window is still a bit slow.
These are the tools that I use for latex document writing. When I am single author writing I use texstudio and sublime if I need to open or edit something quickly, together with git and gitlab for tracking my changes and keeping backups. When it comes to collaborative writing I/we use overleaf with extensive use of its online writing and commenting features; I often work offline by checking out the project using overleaf’s git service.
I hope this helps someone and feel free to leave a comment or write about your own latex workflow.