Skip to content

lokikl/nvim-config

Repository files navigation

Todo
  feat: auto reload firefox
  feat: hot reload?

How to use this repo
  fork it
  in nvim.d/my/keymap.lua, comment out lines started with "cancel"
  prepare the environment according to the following 2 sessions
  run ./install.sh
  read every files, modify and experiment

General key bindings (applied to both vim and tmux)
  Ctrl-j / k     = indent / outdent highlighted lines (vim visual mode only)
  Ctrl-j         = accept / confirm / open (similar to <cr>)
  Alt-j / k      = move in finder (nvim-cmp, telescope, and fzf)
  Alt-H / L      = move in tmux windows
  Alt-K / J      = move in tmux panes
  Alt-j / k      = move in vim buffers (indentation wise)
  Ctrl-h / l     = LSP prev issue / next issue
  gj / gk        = git next hunk / prev hunk
  Ctrl-c         = cancel / exit in zsh, vim, and tmux

Environment
  libssl.so is missing (ubuntu 22.04)
    wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.17_amd64.deb
    sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2.17_amd64.deb
    rm *.deb

  nodejs 18, eslint
    sudo apt remove nodejs libnode-dev libnode72
    curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
    sudo apt install -y nodejs
    sudo npm install -g eslint

  neovim
    download latest nvim.appimage from https://github.com/neovim/neovim/releases
    sudo mv nvim.appimage /usr/local/bin/nvim
    sudo chmod +x /usr/local/bin/nvim

  luarocks & pynvim
    sudo apt-get install python3
    sudo ln -s /usr/bin/python3 /usr/local/bin/python    # required by luarock
    pip3 install --user --upgrade pynvim
    (in vim) <leader>ps    # to sync the packer cache

  build essential packages for compiling fzf-native
    ubuntu
      apt-get install build-essential
    mac
      xcode-select --install

  ripgrep: for live fuzzy searching
    sudo apt-get install ripgrep

  fdfind: for searching files by name (used in telescope as well)
    sudo apt-get install fd-find

  fzf: for project switching (tmux)
    sudo apt-get install fzf

  tmux
    download and extract latest tmux-xxx.tar.gz at https://github.com/tmux/tmux/releases
    sudo apt install libevent-dev libncurses-dev
    ./configure && make && sudo make install

  wezterm with ligatures support
    download and install from the deb file
      https://wezfurlong.org/wezterm/install/linux.html
      wget https://github.com/wez/wezterm/releases/download/20220905-102802-7d4b8249/wezterm-20220905-102802-7d4b8249.Ubuntu20.04.deb
      sudo dpkg -i wezterm-20220905-102802-7d4b8249.Ubuntu20.04.deb
      rm wezterm-20220905-102802-7d4b8249.Ubuntu20.04.deb

  terminal font with ligatures support
    https://github.com/belluzj/fantasque-sans/releases/latest
    download FantasqueSansMono-LargeLineHeight-NoLoopK.tar.gz
    untar and move all files inside OTF/ into ~/.local/share/fonts
    fc-cache -fv

  other fonts with icons
    https://www.nerdfonts.com/font-downloads
    download and unzip the one you like e.g. MPlus Nerd Font
    may check out a good paid font: https://www.myfonts.com/fonts/tabular-type-foundry/codelia/

Optional for various LSP servers
  disable gnome animation
    gsettings set org.gnome.desktop.interface enable-animations false

  rust
    curl --tlsv1.2 -sSf https://sh.rustup.rs | sh

  lsd (rust based ls)
    https://github.com/Peltoche/lsd/releases/download/0.21.0/lsd_0.21.0_amd64.deb
    https://github.com/Peltoche/lsd/releases

  ruby
    sudo apt-get install ruby

  ueberzug to preview images
    sudo apt install -y libx11-dev x11proto-xext-dev libxext-dev
    pip3 install ueberzug

  puppeteer to preview pug
    npm install (in this folder)

  dependency for previewing font files (ttf, otf)
    sudo apt-get install sxiv

  pug linting
    sudo npm install -g pug-lint

  terminal recording
    sudo apt-get install asciinema
    npm install (in this folder)
    usage
      asciinema rec --overwrite test.json
      asciinema play test.json
      cat test.json | npx svg-term --out test.svg

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published