6 ms·
>I have git, gdb, terminal, and LSP integration. I've got spell check. I've got tags, cscope, snippets, and lint warnings. Apart from the built-in features (li
by asicsp 5y ago
>I have git, gdb, terminal, and LSP integration. I've got spell check. I've got tags, cscope, snippets, and lint warnings.
Apart from the built-in features (like :terminal), somehow I haven't yet explored plugins to enhance my Vim usage. Granted that coding projects over 100 lines are rare for me, I still feel like I should try them out and see if I can get used to them. If not pure coding projects, at least for things like markdown, having a preview could help.
- mrzool 5y ago> If not pure coding projects, at least for things like markdown, having a preview could help. You can use a dedicated app alongside Vim for that. On macOS, Marked2[1] is pretty great. [1]: https://marked2app.com https://marked2app.com
- epicide 5y agoPersonally, I suggest taking a look at a few "classic" plugins. For starters, anything by Tim Pope. Avoid the massive omnibus plugin packages. I find they often try to turn Vim into something it's not. Nothing against people who use and enjoy those -- I'm not advocating for elitism or purism. I just feel like if you really want Vim to look and feel like (e.g.) VSCode, you're better off using VSCode. Instead, I've gotten the most out of the plugins that I've taken the time to hand-pick and configure myself. Largely because I took that time to understand them.
- ilovecaching 5y agoHere's what I use: Plug 'ap/vim-buftabline' " Show buffers in the tab line. Plug 'derekwyatt/vim-fswitch' " Switch between header and source files. Plug 'farmergreg/vim-lastplace' " Reopen files at last edit position. Plug 'fatih/vim-go' " Comprehensive Go support. Plug 'junegunn/fzf.vim' " Fuzzy finder commands using fzf. Plug 'liuchengxu/vim-which-key' " Show possible leader completions. Plug 'majutsushi/tagbar' " Sidebar ctag browser. Plug 'mbbill/undotree' " Sidebar undo branch browser. Plug 'mhinz/vim-signify' " Show VCS markings in the sign column. Plug 'mhinz/vim-startify' " Extendable start screen. Plug 'ntpeters/vim-better-whitespace' " Highlight trailing white space. Plug 'plasticboy/vim-markdown' " Extended markdown support. Plug 'tpope/vim-fugitive' " Vim git porcelain. Plug 'tpope/vim-surround' " Adds surrounding text object. Plug 'tpope/vim-vinegar' " Improve netrw. Plug 'vim-utils/vim-man' " Open man pages in Vim. Plug 'w0rp/ale' " Lint engine and LSP client. Cscope is built in (:cs). The kernels I work on have a make target for tags, which is also built in.
- mfrw 5y ago> Cscope is built in (:cs). The kernels I work on have a make target for tags, which is also built in. You might also like `clangd` and `scripts/clang-tools/gen_compile_commands.py` if by kernel(s) you meant the linux kernel. It's pretty neat!
- wastholm 5y ago> If not pure coding projects, at least for things like markdown, having a preview could help. Everybody's needs are different, of course, but I personally find that Vimwiki [1] gives me all the preview I need, right in the editor, when editing Markdown. [1] https://vimwiki.github.io/ https://vimwiki.github.io/
- daptaq 5y agoFrom what I know about Vim this isn't unusual. There is a division between those who treat Vim as a constant tool that should be kept as close to the defaults as possible, so that you can work anywhere it is installed (I'd consider this the classical approach inspired by vi), others who value extending and modifying it to match their needs and preferences (this seems to me to lean towards Emacs' spirit). As Vim is both a vi-clone but also has the abilities to be extended, I don't think either is more wrong than the other. My sympathies go towards the former, because Emacs is my Emacs.
- ilovecaching 5y agoYou use emacs with no extra configuration? What kind of code do you write?
- seanw444 5y agoI don't think that's what they meant. I think they meant "I use Vim for lightweight, default editing. When I want to extend my editor precisely to my liking, (like in Emacs), I use Emacs."
- daptaq 5y agoYes, exactly. Emacs core feature is that it is programmable, sticking to default would be like only using hjkl to move in Vim.
- ilovecaching 5y agoAh, I know RMS claims to not using any plugins and barely any customizations since emacs is "exactly how he wants it" as the author. I am curious if there are others who feel the same way.
- AndroidKitKat 5y agoI write C++ and Python for $DAYJOB and I use Emacs with no extra configuration (plugins, evil mode, etc). Out of the box it takes a while to understand its flow (the emacs tutor is excellent), but it's quite usable and nice.
- jamespwilliams 5y agoIn the era of neovim, you can get very far with very few plugins. Put together neovim, nvim-treesitter and nvim-lspconfig (which are both "official" plugins), and fzf.vim, and you end up with a decent IDE with only one non-official plugin. Less plugins = less to go wrong, easier to reason about, less configuration needed, more zen.
- peakaboo 5y agoInstall lightspeed and you will be amazed.
- hellcow 5y agoI've been using Vim for more than 10 years, and I had no idea about :terminal. I was using tmux instead to get terminals side-by-side but using panes looks super useful too. Thanks! :) This is what I love about Vim. It's by far my favorite editor even with just basic usage, and I consistently learn new tricks that make it somehow even better.
- leephillips 5y agoWell, I don’t think :terminal has been around for 10 years. I believe it appeared with v8.