Conversation

Jarkko Sakkinen

Edited 4 months ago

One of the most important things to understand in Vim are @: and @@. After learning them, there is rarely need mapping ex-mode stuff to keyboard shortcuts.

Already plain vim has two languages: the operator language and vimscript. By learning all the cool tricks of the former, it is often case that there is no need to do anything with the latter. Often plugins are installed because of lack of knowledge in the operator-language ;-)

#vim #neovim

1
0
2
@janantos that is were I (originally) learned this :-) Love the help system. You can often see from documentation to amount effort and love that has gone making it.

These days I often like to also use the web-version: https://vimhelp.org/
1
0
0

@jarkko little bit off-topic, but I am now falling in love with helix editor (especially for experiments with zig)

1
0
0

@janantos I actually tried for week or two last Dec but being used #vim from 1998, I quickly realized that I’m more or less a lost case ;-)

I.e. nothing wrong in the editor but it is not Vim. I also used NeoVIM for couple of years but even that did not work out because of quite minor details in implementation do not work exactly as in Vim (one example is interactive shell command e.g. :!sudo rm -rf /).

So I’ve stopped trying to change myself in this area ;-)

2
0
2

@jarkko yeah I all the times struggled to make from vim development ide with autocomplete working, etc. Then experimented with emacs, there I love orgmode and now experimenting in helix as ide. I still use vim as default editor for configs, etc. But still trying to find my IDE I would be happy with that’s not vscode and clones.

0
0
1
@janantos Still I think hx is the best I've tried from modern editors. E.g. Zed I could use only meeting notes because it does not work in terminal, making it totally useless for my workflow.
1
0
1

@janantos BTW, only auto-complete I tend to use is CTRL-x-CTRL-f which auto-completes path in a vim buffer ;-) For symbol lookup in Rust I use rusty-tags.

rusty-tags also lookup through the sources of the external crates, stdlib etc., given that I have this in .zprofile:

# rusty-tags
[ `command -v rustc` ] && RUST_SRC_PATH=$(rustc --print sysroot)/lib/rustlib/src/rust/library/
[ -d $RUST_SRC_PATH ] && export RUST_SRC_PATH

And in my .vimrc I have:

# rusty-tags
autocmd BufRead *.rs :setlocal tags=./rusty-tags.vi;/,$RUST_SRC_PATH/rusty-tags.vi
autocmd BufWritePost *.rs :silent! exec "!rusty-tags vi --quiet --start-dir=" . expand('%:p:h') . "&" | redraw!

I think it like that if I downshift the phase of code I write then I think it through better, and in the end I tend to save time, and have more in-depth understanding of the system I’m working with. With ctags integration I still get quickly to the API references given that they are inline the source code.

My philosophy is that it is better to use software that does not require any plugins in order to work it for you. E.g. I’d rather install VSCode than try to make vim/neovim work like VSCode. This is why I have Sublime Text license for meetings, doing graphs with Mermaid and stuff like that.

1
0
0

@jarkko @jarkko Thats the reason I like helix, in theory you just need language server and you are set without any config.

0
0
0