# Ensure that at least `curl` and `git` are installed
# `vim` is recommended
curl https://raw.githubusercontent.com/LuzianHahn/dotfiles/debian/.local/installer/dotfile_installer.sh | bash
# on work machines for alternative git authorship use
curl https://raw.githubusercontent.com/LuzianHahn/dotfiles/debian/.local/installer/dotfile_installer.sh | AUTHOR=work bash
# e.g. on alpine systems, `bash` is not included. Use `sh` in this case.
# curl https://raw.githubusercontent.com/LuzianHahn/dotfiles/debian/.local/installer/dotfile_installer.sh | sh
# Quick-Setup for LSP-Servers and programming language setups
# -i is necessary, as this scripts sources the ~/.bashrc file, which only works in interactive shells.
bash -i $HOME/.local/installer/extra_installer.sh
For a comprehensive script, see also
installer/extra_installer.sh
Right now the vim setup here works with different Servers, which implement the LSP (Language Server Protocol).
In order to receive features in vim like OpenDocumentation
or GoToDefinition
,
one needs to install the respective servers.
I listed how to do this for the languages I typically use:
This is ordinary achieved via rust-analyzer
. One can find a detailed documentation here.
In theory it should be enough to call rustup component add rust-src
I am currently using jedi-language-server
for this, which is a python package, which comes with an own entrypoint.
As I don't want to install this package for every python project I have, I am using my global uv
-virtualenv for this.
It is intended for user specific python packages.
Therefore it is necessary to have uv
set up before installing jedi-language-server
.
See here for this.
Afterwards one needs to create the global uv
-virtualenv. The easiest way is to call . $HOME/.bashrc
.
Now one needs to install jedi-language-server
via uv pip install jedi-language-server
.
Finally to circumvent the problem of the global uv
-virtualenv's binaries colliding,
one needs to create a link to the respective jedi-language-server
-binary via:
ln -sf $HOME/.local/lib/uv_base/bin/jedi-language-server $HOME/.local/bin/
.
- If you encounter the following error after opening a
*.py
-buffer:Error: jedi-vim failed to initialize Python: jedi-vim requires Vim with support for Python 3.
Your current version of vim does not come with python support. (You can check this with
:version
and looking for+python3
. If onlypython3-
is present, your vim version lacks support)- On debian you can install instead
vim-nox
viaapt
, which should provided+python3
support. - On MacOS you need to install
vim
viabrew install vim
. It might be necessary to override$PATH
here sincevim
is already present per default, butbrew
locates its installed version different from the base version ofvim
- On debian you can install instead
- I want to read
:help
-entries invim
, but the system claimsE149: Sorry, no help for <entryX>
. Apparently one needs to generate the helptags once on the respective system. See also https://stackoverflow.com/a/22355979. So just callvim -c "helptags <Path-to-doc-folder-in-extension>
.easiest solution would be
- After syncronizing a device with this repository, I receive errors, when opening vim like:
This means that the respective plugins in vim have not been installed properly yet. One can do so by calling:
Fehler beim Ausführen von "/home/XXX/.vimrc": Zeile 63: E31: Kein Mapping gefunden Zeile 64: E31: Kein Mapping gefunden Betätigen Sie die EINGABETASTE oder geben Sie einen Befehl ein
cfg submodule update --init --recursive