GitHub - tom-james-watson/dotfiles
source link: https://github.com/tom-james-watson/dotfiles
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
dotfiles
These dotfiles contain all of the necessary packages, plugins and config I need to be a productive (Python/Javascript/Rust/C) developer. They mostly concern (n)vim, tmux and fish.
I've tested these dotfiles on both ubuntu and macOS.
Contents
- custom config for vim/nvim, ack-grep, fish, eslint, tmux
- vim plugins:
- ale - asynchronous code linting
- ctrlp.vim - fuzzy file, buffer, mru, tag, etc finder
- nerdtree - tree-style file explorer
- vim-nerdtree-tabs - makes nerdtree work better with tab-based workflow
- vim-gitgutter - show git diff in the gutter, stage/revert hunks
- lightline.vim - powerful and lightweight status/tabline
- maximbaz/lightline-ale - ALE indicators for lightline
- vim-polyglot - improved syntax highlighting
- coc.nvim - LanguageServer client for intelligent autocomplete
- vim colorschemes:
- fansi - my custom ANSI color scheme
- termschool-vim-theme
- TMUX plugins
- tpm - tmux plugin manager
- tmux-resurrect - persists tmux environment across system restarts
- tmux-yank - copying to system clipboard
Requirements
- Ensure you have either neovim >= 0.3.0 or vim >= 8.0. Some plugins such as coc.nvim will need some extra fiddling to get working with regular Vim, though it should be possible. I personally also get much better performance with neovim these days, so that's what I recommend. My fish config aliases
vim
tonvim
.
linux:
sudo apt install neovim
mac:
brew install neovim
-
Configure your terminal background color to
#3a3a3a
for best integration with my vim/tmux config. Adding some padding inside the terminal is also recommended, if possible. -
Configure terminal colors to:
- Ensure you have fish installed
linux:
sudo apt install fish
mac:
brew install fish
echo /usr/local/bin/fish | sudo tee -a /etc/shells
- On macOS, set fish as your default shell:
chsh -s $(which fish)
You will need to logout and log back in for this to take effect.
On linux, weird things happen if you set fish as the default shell, so instead [we have set fish][./.tmux-linux.conf] as the default command for tmux. You can also set fish as the defalt command to run in your terminal emulator, for if you are not using tmux.
- Ensure you have clang installed, for C linting
sudo apt install clang
- Ensure you have flake8 (for ale python linting) and python-language-server (autocompletion) installed
sudo pip install flake8 python-language-server
- Ensure you have the python3 neovim interface installed
pip3 install neovim
- Ensure you have yarn (for coc.nvim) and eslint (for ALE) installed
sudo npm install -g yarn eslint eslint-config-tomjwatson
Installation
- Clone the repository and install the configs
git clone https://github.com/tom-james-watson/dotfiles
cd dotfiles
./install.sh
-
To install the tmux plugins, start tmux and run
prefix
+ I. -
To install the vim plugins, open vim and run
:PlugInstall
- Install common coc.nvim plugins. NOTE - on linux these seem to need to be run with sudo
# Javascript / Typescript
:CocInstall coc-eslint coc-tslint coc-tsserver
# Web Development
:CocInstall coc-json coc-html coc-stylelint
# Rust
:CocInstall coc-rls
# Python
:CocInstall coc-pyls
Updating
- Pull the latest configs from git and install them
./update.sh
- To update all vim plugins, open vim and run
:PlugUpdate
Recommend
-
10
Tom Honermann, C++ minion – ++Thoughts on C++In Why Concepts didn’t make C++17 [Twitter]...
-
6
Connect with Tom Resing, not on Facebook Update, December 11th, 2020: Me, my wife and daughter have enjoyed 2 years off Facebook, Instagram, and WhatsApp. I feel more connected than ever to the people...
-
5
Monzo founder Tom Blomfield is to quit the digital bank Monzo founder Tom Blomfield is departing the U.K. challenger bank entirely at the end of the month,
-
3
Sharpening DaggerLock your Dagger in Gradle ModulesWhy encapsulate Dagger dependencies in Gradle modules
-
7
Fidelity’s Tom Jessop says crypto has hit a ‘tipping point’ – HodlalertFidelity’s Tom Jessop says crypto has hit a ‘tipping point’
-
5
Myspace Tom Got It Right 4342 members Technology Technology on Digg: the best articles, videos, tweets, and original conten...
-
5
Tom Blomfield has made 4 angel investments this year Tom Blomfield has kept his head down since officially leaving Monzo earlier this year, citing
-
2
Open Source with Tom Kerkhove Episode #51 Published Wednesday, June 9, 2021 This week, I talk with Tom Kerkhove about open source. We talk about setting priorities and managing time, sponsorship, company...
-
2
Algorithms to Live By by Brian Christian and Tom GriffithsPublished: 2021.06.23 | 1 minutes readHow many times should you go around a car park to find a space before you give up? Should you go back to your favourite restaurant...
-
25
Zsh Codex AI in the command...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK