Home
Softono

Nvim Config

Open source Vim Script
44
Stars
1
Forks
0
Issues
1
Watchers
1 year
Last Commit

 About Nvim Config

Nvim configurations without any external plugins, support symbol-outline, file-manager, fuzzy word/file search and autocomplete.

Platforms

Web Self-hosted Linux

Languages

Lua Vim Script

Need Help Installing Nvim Config?

We provide expert installation service for this software. Our team will install, configure, and secure Nvim Config on your server. plans start at just $30.

Nvim Config

View on GitHub

Welcome to my neovim config without any plugins! ( NeoVIM >= 0.10 )

Table of contents

Configuration presentations

  • A symbol outline in nested view

    • Opened by OpenSymbolOutlineNested command.
    • When firstly opened, match the symbol under the cursor in the source file, with the symbol in symbol-outline if it could.
    • When cursor in then symbol-outline win, press r to refresh the symbol-outline.
    • When cursor in then symbol-outline win, press <CR> to locate the symbol under the cursor in the source file.

  • A symbol outline in sorted view

    • Opened by OpenSymbolOutlineSorted command
    • Others same as the symbol-outline sorted view.

  • Autocomplete with the build-in omnifunc

    • Use the <TAB>, <S-TAB> or <UP> and <DOWN> to select a complementary item.

  • Folding according to after the pattern match

    • Toggled by <SPACE>z.

  • Focus on the cur word after the pattern match

  • A fuzzy file search without gitignore

    • Opened by Fs command.
    • Or use Fg to search with gitignore.
    • Powered by ripgrep.
    • Case insensitive search.
    • When cursor in the file search result win, press j or k to quickly preview the contents, <CR> to jump to the file.
    • <SPACE>q to quit it anywhere.

  • A fuzzy word search with gitignore

    • Opened by Wg command.
    • Or use Ws to search without gitignore.
    • Powered by ripgrep.
    • Case insensitive search.
    • When cursor in the file search result win, press j or k to quickly preview the contents, <CR> to jump to the file.
    • <SPACE>q to quit it anywhere.

  • A simple buffer switching that lists all buffers

    • Opened by <SPACE>l.
    • When cursor in the file search result win, press j or k to quickly preview the contents, <CR> to jump to the file.
    • <SPACE>q to quit it anywhere.

  • Keep netrw state

    • When quit the netrw and reopen it, its states will lose, so I wrote a script to keep its state, make it to hide on the right side instead of closing it, toggled by <SPACE>e

  • LSP config


  • If you have better ideas on my config without any plugins, please let me know! I think we can discuss happily!

Install

Nvim With LSP

To use neovim config with lsp, you can download files to your customized path or run the following one-line command:

curl -sL https://raw.githubusercontent.com/HCY-ASLEEP/NVIM-Config/main/nvim-config.sh | sh

Nvim Without LSP

To use neovim config without lsp but with self-contained auto completion of neovim, you can download files to your customized path or run the following one-line command:

curl -sL https://raw.githubusercontent.com/HCY-ASLEEP/NVIM-Config/main/nvim-config-without-lsp/nvim-config.sh | sh

Vim Without LSP

To use vim config without lsp but with self-contained auto completion of vim, you can download files to your customized path or run the following one-line command:

curl -sL https://raw.githubusercontent.com/HCY-ASLEEP/NVIM-Config/main/vim-config-without-lsp.sh | sh

WARNING : Please carefully notice the content of vim-config-without-lsp.sh, this will damage the content of ~/.config/nvim/ !!!!!!


Nodejs

To install latest nodejs in China, you can run the following one-line command, but before running the command I strongly recommand switching to a non-root user firstly:

curl -sL https://raw.githubusercontent.com/HCY-ASLEEP/NVIM-Config/main/nodejs-installer.sh | bash

In ubuntu docker

To quickly config your neovim develop environment in docker ubuntu, after enter the bash shell of docker ubuntu, you can try these commands:

apt update;\
    apt upgrade -y;\
    apt install neovim xz-utils curl sudo git apt-transport-https ca-certificates ripgrep -y;\
    useradd -m devenv;\
    usermod -s /bin/bash devenv;\
    sudo sh -c 'echo "devenv ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers';\
    sudo chown devenv /home/devenv/;\
    sudo chgrp devenv /home/devenv/;\
    su devenv

Quickly edit config

To edit nvim config easily, you can:

echo "alias iv = 'nvim ~/.config/nvim/init.vim'" >> ~/.bashrc
echo "alias v = 'nvim" >> ~/.bashrc

Miniconda

To install miniconda of docker ubuntu in China, you must 'su devenv' first!!! Then exec follows:

curl https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -o ~/miniconda.sh;\
    sh ~/miniconda.sh -b;\
    rm ~/miniconda.sh;\
    ~/miniconda3/bin/conda init bash;\
    sed -n '/# >>> conda initialize >>>/,/# <<< conda initialize <<</p' ~/.bashrc >> ~/.condainit;\
    sed -i '/# >>> conda initialize >>>/,/# <<< conda initialize <<</d' ~/.bashrc;\
    echo 'alias cab="source ~/.condainit"' >> ~/.bashrc;\
    . ~/.bashrc

Then you can activate the conda env using 'cab' ( alias of 'conda activate base' )


Fcitx

To use fcitx input methed in GUI programes of the container, you can run commands below:

sudo sh -c 'echo "\nexport GTK_IM_MODULE=fcitx\nexport QT_IM_MODULE=fcitx\nexport XMODIFIERS=@im=fcitx\n" >> /etc/bash.bashrc';\
    . /etc/bash.bashrc

However, fcitx may still not work in QT programes of the container. I had met this problem in xfce4 host environment, anyone has solutions can commit an issue, thanks.


Bashrc

Here are configs of my host .bashrc:

PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

alias p='export ALL_PROXY=socks5://127.0.0.1:7890'
alias np='unset ALL_PROXY'
alias l='curl "http://172.30.255.42:801/eportal/portal/login?user_account=392432&user_password=12542614" ; echo'
alias v='nvim'
alias iv='nvim ~/.config/nvim/init.vim'
alias devenv='xhost + >> /dev/null;\
    podman start devenv;\
    podman exec -it \
        -e XMODIFIERS=$XMODIFIERS \
        -e QT_IM_MODULE=$QT_IM_MODULE \
        -e GTK_IM_MODULE=$GTK_IM_MODULE \
        -e DISPLAY=$DISPLAY \
        devenv /bin/bash -c \
        "cd /home/devenv/; su devenv;"'
alias u='sudo apt update; sudo apt upgrade -y;'