Since, in my experience, writing technical research papers is a challenging task, I always try to use a writing environment that effectively supports my endeavors. If I am writing a paper in Neovim, then I now often use deoplete.nvim complete the words that I am writing in my paper.
Unlike other completion engines for Vim and Neovim,
deoplete.nvim is flexible in its capability to perform completion from a wide variety of sources. In addition to being able to complete a word from a current buffer or a tags file, you can configure it to use tmux-complete.vim so that it will complete words that are evident in any of your terminals controlled by
tmux. Finally, as a technical writer, you might want to have word completion from a dictionary, which you can enable by using neco-look.
There’s one additional thing that you might want to configure if you are using Neovim and
deoplete.nvim! If you are accustomed to using the
<TAB> key to perform completion, then you might want to install supertab and the include the following code in your initialization file.
let g:SuperTabDefaultCompletionType = "<C-n>" inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
What tools do you use to ensure that you write in an efficient and effective fashion? I invite you to contact me with your own tips for speedy technical writing. It is also important to note that, since this post was written, I’ve converted my Neovim configuration to use Lua and the lazy.nvim plugin manager. Finally, instead of using the completion engine described in this post I now use hrsh7th/nvim-cmp. It is easy to configure and super-fast!