Merge pull request #3 from LinuxIsCool/hack-slash-vim

Hack slash vim
This commit is contained in:
Shawn Anderson 2023-06-16 20:27:08 -07:00 committed by GitHub
commit 9d81e50bc5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
201 changed files with 838 additions and 114 deletions

182
README.md
View File

@ -1,107 +1,181 @@
BTW as of Oct 22, I'm not actively maintaining these docs, as I have my machine installed and humming with my new System76 Lemur Pro. Additionally, I am diving into building with LunarVim, maintaining my own configuration, while contributing to the community.
https://system76.com/laptops/lemur
https://www.lunarvim.org/
I havn't added my LunarVim config here yet as I am still in experimentation mode, rapidly picking up the platform and how to customize it to highest compatibility. Working on that now as I continue to develop.
# Use at your own risk. No warrenties.
I practice human-in-the-loop computing. This workflow is designed by me to be most effective for me and my life towards my intentions. It wasn't defined with mass scalability in mind. I encourage you to persue the discovery of computing interfaces on your personel journey as well. Please feel free to take inspiration from my workflow and open dialougue in collaboration.
# Pop-os - Gnome - Tmux - Fish - Vim - FZF - Serious Configuration - Shawn Anderson
These are the dotfiles that I hack on. Can easily be installed to your ~/.config/ by using the gnu stow utility.
They are designed to get a brand new machine installed with https://pop.system76.com/ into a production ready state. For me production means participating in digital platforms, writing code, and editing media. I run a FinTech business in Canada called Longtail Financial, where I am in contract for providing data science and token engineering services. I work with my partner Liam Perison to drive the business towards stability and success. Please contact me if you are interested in funding Canadian Computing Technology that is driving services and products in the domain of finance, web, and computing. We practice Data Science, Token Engineering, and Software Engineering. We co-design products and services with ecoystem partners, primarily in the DAO and Token spaces.
They are designed to get a brand new machine installed with https://pop.system76.com/ into a production ready state. For me production means participating in digital platforms, writing code, and editing media. I run a FinTech business in Canada called Longtail Financial, provides data science and token engineering services. I work with partners at LTF to drive the business towards stability and success. This configuration is an optimized build for maximum effectiveness. To learn more about my workflow, follow me on twitter: https://twitter.com/ygg_anderson
The following is a screencapture of The Serious Configuration Framework running in a triple monitor setup. This build should be very easy to pick up for anyone who wishes to be a terminal oriented power user in linux.
<div align="center">
<img src="https://raw.githubusercontent.com/LinuxIsCool/configuration/master/popos-gnome/Screenshot%20from%202020-09-29%2001-56-33.png"/>
</div>
To install:
1. Install Requirements
sudo apt install stow xcape fish tmux jq universal-ctags python bat ripgrep tree cmake
Install the latest version of neovim: https://github.com/neovim/neovim/releases/tag/stable
-1. Install PopOS: https://pop.system76.com/
0. Update System
```
super+t to open a terminal.
sudo apt update && sudo apt upgrade
```
1. Install necessary utilities.
```
sudo apt install stow fish tmux jq python-is-python3 bat ripgrep tree cmake alacritty delta pip
```
2. Set alacritty to default terminal
```
super -> keyboard -> custom shortcut -> set super+t as `alacritty`
```
2. Change default shell to fish
```
chsh -s \`which fish\`
Logout and Login
```
2. Clone the repo
4. Remap caps to control and escape with keyd: https://github.com/rvaiya/keyd
3. Enable Wayland: https://linuxconfig.org/how-to-enable-disable-wayland-on-ubuntu-22-04-desktop
5. Clone this repo
```
git clone git@github.com:LinuxIsCool/configuration.git
```
3. Symlink into ~/.config using stow
6. Symlink into ~/.config using stow
```
cd configuration
sh stow
```
5. Install fisher and fish plugins (will install nvm)
7. Install fisher and fish plugins (will install nvm)
```
curl -sL https://git.io/fisher | source && fisher install (cat ~/.config/fish/fish_plugins)
```
6. Install g for Go
8. Use nvm to install node
```
nvm use latest
```
8. Install g for Go: https://github.com/stefanmaric/g#usage
```
curl -sSL https://git.io/g-install | sh -s
g install latest
```
7. Install blsd
9. Install blsd: https://github.com/junegunn/blsd
```
bass "bash <(curl -fL https://raw.githubusercontent.com/junegunn/blsd/master/install)"
8. Install neovim plugins (will install fzf)
nvim
:PlugInstall
```
9. Install autojump
5. Install Rust: https://www.rust-lang.org/tools/install
```
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
fish_add_path ~/.cargo/bin/
```
6. Install Nvim using Bob
```
cargo install bob-nvim
bob complete fish > ~/.config/fish/completions/bob.fish
fish_add_path ~/.local/share/bob/nvim-bin/
bob use latest
```
10. Install neovim plugins (will install fzf)
```
nvim
:PlugInstall
```
11. Make sure fzf is installed system wide
```
cd ~/.config/nvim/plugged/fzf/
./install
```
12. Install autojump
```
cd ~/.local/share/
git clone git@github.com:wting/autojump.git && cd autojump && python install.py
10. Install virtualfish
```
13. Install virtualfish
```
pip install virtualfish
fish_add_path ~/.local/bin/
vf install
```
11. Install Tmux plugin manager
14. Install python poetry: https://python-poetry.org/docs/#installation
```
curl -sSL https://install.python-poetry.org | python3 -
```
15. Install Tmux plugin manager
```
git clone https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm
tmux
prefix + I
12. Install a nerd font like Hack Regular (otf prefered over ttf):
https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/Hack/Regular/complete/Hack%20Regular%20Nerd%20Font%20Complete.ttf
Terminal -> Preferences -> Text -> Font -> Hack Nerd Regular
13. Make sure essentials is autoloading
```
essentials
16. Gnome tweaks
14. Gnome tweaks
Setting key repeat and interval:
```
gsettings set org.gnome.desktop.peripherals.keyboard delay 175
gsettings set org.gnome.desktop.peripherals.keyboard repeat-interval 12
```
Make launcher work when an app is open in full screen:
```
gsettings set org.gnome.shell.extensions.pop-shell fullscreen-launcher true
```
Add week numbers to calendar:
```
gsettings set org.gnome.desktop.calendar show-weekdate true
```
Add Weekday to panel date:
```
gsettings set org.gnome.desktop.interface clock-show-weekday true
```
Make alt-tab workspace specific:
```
gsettings set org.gnome.shell.app-switcher current-workspace-only true
```
Allow switcher when in full screen:
Extensions -> Pop Shell Settings -> Allow launcher over fullscreen window
```
gsettings set org.gnome.shell.extensions.pop-shell fullscreen-launcher true
```
# Popos-Gnome
In addition to the script-based configuration, I'll do my best to track and document my debian-gnome-popos settings, to make them as reproducable as possible.
Aesthetic-wise, I'm currently using the Juno-Ocean Gnome theme, as per recommended by @mattcoding4days, and my vim theme is quantum, as per Matt's recommendation as well.
## Installed Extensions
17. Install Gnome Extensions. Here is an example of some extensions that I use:
<div align="center">
<img src="https://raw.githubusercontent.com/LinuxIsCool/configuration/master/popos-gnome/extensions-nov-26-2020.png"/>
</div>
18. Load Dconf to load gnome extension tweaks
```
Coming Soon...
```
19. Load custom keybaord mappings and shortcuts
```
Coming Soon...
```
20. Install Apps and Programs
```
Coming Soon...
```
### Notes
* Fonts used can be found in alacritty.yml, and fonts are cached in .local/share/fonts/ in this repository. Make sure to use a patched nerd font with emoji support.
* Vim theme is vim-quantum https://github.com/tyrannicaltoucan/vim-quantum
* Fish prompt is inspired by gentoo theme: https://github.com/ribugent/theme-gentoo
* Gnome themes available here: https://www.gnome-look.org/browse/
* Gnome extensions available here: https://extensions.gnome.org/
Use at your own risk. No warrenties. I practice human-in-the-loop computing. This workflow is designed by me to be most effective for me and my life and my intentions. It wasn't defined with mass adoption in mind. I encourage you to persue the discovery of computing interfaces on your personel journey as well. Please feel free to take inspiration from my workflow and open dialougue in collaboration.
Blessings 🌟💎🦋💖

View File

@ -5,7 +5,7 @@ window:
# Blank space added around the window in pixels. This padding is scaled
# by DPI and the specified value is always added at both opposing sides.
padding:
x: 0
x: 4
y: 0
dynamic_padding: true
@ -25,25 +25,25 @@ scrolling:
# Font configuration
font:
# Point size
size: 13
# Normal (roman) font face
normal:
family: monospace
style: Bold
family: FiraCode Nerd Font
style: Regular
bold:
family: monospace
family: FiraCode Nerd Font
style: Bold
italic:
family: monospace
style: Italic
family: VictorMono Nerd Font
style: Medium Italic
bold_italic:
family: monospace
family: VictorMono Nerd Font
style: Bold Italic
draw_bold_text_with_bright_colors: true
colors:
@ -102,6 +102,13 @@ live_config_reload: true
key_bindings:
- { key: F11, action: ToggleFullscreen }
# Needed for tmux to display colors properly in vim:
env:
TERM: xterm-256color
mouse:
hide_when_typing: true
# Import additional configuration files
#
# Imports are loaded in order, skipping all missing files, with the importing
@ -576,7 +583,7 @@ key_bindings:
#triple_click: { threshold: 300 }
# If this is `true`, the cursor is temporarily hidden when typing.
#hide_when_typing: false
#hide_when_typing: true
# Hints
#

View File

@ -4,8 +4,34 @@
<alias>
<family>monospace</family>
<prefer>
<family>Hack Nerd Font</family> <!-- Your preferred monospace font -->
<family>FiraCode Nerd Font</family> <!-- Your preferred monospace font -->
<family>Noto Color Emoji</family> <!-- Your preferred emoji font -->
<family>Symbols Nerd Font Mono</family> <!-- Your preferred emoji font -->
</prefer>
</alias>
<alias>
<family>sans</family>
<prefer>
<family>FiraCode Nerd Font</family> <!-- Your preferred monospace font -->
<family>Noto Color Emoji</family> <!-- Your preferred emoji font -->
<family>Symbols Nerd Font Mono</family> <!-- Your preferred emoji font -->
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>FiraCode Nerd Font</family> <!-- Your preferred monospace font -->
<family>Noto Color Emoji</family> <!-- Your preferred emoji font -->
<family>Symbols Nerd Font Mono</family> <!-- Your preferred emoji font -->
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>FiraCode Nerd Font</family> <!-- Your preferred monospace font -->
<family>Noto Color Emoji</family> <!-- Your preferred emoji font -->
<family>Symbols Nerd Font Mono</family> <!-- Your preferred emoji font -->
</prefer>
</alias>
</fontconfig>

View File

@ -0,0 +1,6 @@
vim.bo.autoindent = true
vim.bo.expandtab = true
vim.bo.shiftwidth = 2
vim.bo.softtabstop = 2
vim.bo.tabstop = 2
vim.bo.textwidth = 120

View File

@ -0,0 +1,6 @@
vim.bo.autoindent = true
vim.bo.expandtab = true
vim.bo.shiftwidth = 2
vim.bo.softtabstop = 2
vim.bo.tabstop = 2
vim.bo.textwidth = 120

View File

@ -0,0 +1,6 @@
vim.bo.autoindent = true
vim.bo.expandtab = true
vim.bo.shiftwidth = 2
vim.bo.softtabstop = 2
vim.bo.tabstop = 2
vim.bo.textwidth = 120

View File

@ -1,3 +1,9 @@
" This makes the location of the current open file always the current working
" directory of vim. This pairs very nicely with tmux. Added - Sept 15th 2020
autocmd BufEnter * lcd %:p:h
augroup vyper_ft
au!
autocmd BufNewFile,BufRead *.vy set syntax=vyper
@ -83,3 +89,20 @@ let g:neomake_virtualtext_current_error = 1
" autocmd!
" autocmd BufWritePre * :call s:MkNonExDir(expand('<afile>'), +expand('<abuf>'))
" augroup END
" Auto Format javascript files.
" requires: pip3 install --user jsbeautifier
autocmd FileType javascript setlocal equalprg=js-beautify\ --stdin
"autocmd FileType javascript BufWritePre :%!js-beautify
"lua <<EOF
"vim.api.nvim_create_augroup('AutoFormatting', {})
"vim.api.nvim_create_autocmd('BufWritePre', {
"pattern = '*.lua',
"group = 'AutoFormatting',
"callback = function()
"vim.lsp.buf.format({ async = true })
"end,
"})
"EOF

View File

@ -6,13 +6,13 @@ runtime coc.vim
runtime keys.vim
" Check code as python3 by default
let g:neomake_python_python_maker = neomake#makers#ft#python#python()
let g:neomake_python_flake8_maker = neomake#makers#ft#python#flake8()
let g:neomake_python_python_maker.exe = 'python3 -m py_compile'
let g:neomake_python_flake8_maker.exe = 'python3 -m flake8'
" let g:neomake_python_python_maker = neomake#makers#ft#python#python()
" let g:neomake_python_flake8_maker = neomake#makers#ft#python#flake8()
" let g:neomake_python_python_maker.exe = 'python3 -m py_compile'
" let g:neomake_python_flake8_maker.exe = 'python3 -m flake8'
" Disable error messages inside the buffer, next to the problematic line
let g:neomake_virtualtext_current_error = 1
" let g:neomake_virtualtext_current_error = 1
"------------------------------------------------------------------------------
" Shawn Anderson as of September 30th 2020
@ -43,9 +43,4 @@ inoremap <M-a> <home>
nnoremap <C-e> <end>
nnoremap <M-a> <home>
:set cursorline
:set number
:set relativenumber!
:set autoread
let g:coc_global_extensions = ['coc-json', 'coc-git', 'coc-tsserver', 'coc-pyright', 'coc-solidity']

View File

@ -1,18 +1,52 @@
"------------------------------------------------------------------------------
" Use comma for leader
let mapleader = ","
"------------------------------------------------------------------------------
" Inherited from MattCoding4Days
" remap default leader key to comma
let mapleader = ","
nnoremap <leader>r :source $MYVIMRC<CR>
" Shawn Anderson as of September 30th 2020
noremap <leader>f 0
noremap <leader>j $
" Highlight search
map <leader>/ :nohl<CR>
" Faster scrolling with control
noremap <C-j> jj
noremap <C-k> kk
" Spookie bug. I think I was hacked and that someone i fucking with me.
" Whenever I would pres shift K it would open a new tab in nvim.
" inoremap <S-k> <S-k>
" inoremap <S-j> <S-j>
" Here, I borrow some mappings from readline! These are great, google
" `readline cheatsheet` I map alt-a to home because I use ctr-a for tmux
" leader.
inoremap <C-b> <left>
inoremap <C-f> <right>
inoremap <C-e> <end>
inoremap <M-a> <home>
nnoremap <C-e> <end>
nnoremap <M-a> <home>
" Edit Vim Config File
nnoremap <leader>e :e $MYVIMRC<CR>
nnoremap <leader>w :w<CR>
nnoremap <leader>i :w<CR>:source $MYVIMRC<CR>:PlugInstall<CR>
" Source Vim Config File
nnoremap <leader>r :source $MYVIMRC<CR>
" Save file
"nnoremap <leader>w :w<CR>
" Install Plugins
"nnoremap <leader>i :w<CR>:source $MYVIMRC<CR>:PlugInstall<CR>
" Nerd Tree!!! (I think)
" Change Ctrl N mapping to Ctrl Space "
inoremap <C-space> <C-n>
" Clip Board!!!
" " Copy to clipboard
vnoremap <leader>y "+y
nnoremap <leader>Y "+yg_
@ -26,27 +60,27 @@ vnoremap <leader>p "+p
vnoremap <leader>P "+P
" tab navigation mappings
" Tab navigation mappings
" New tab
map <C-t> :tabnew<CR>
imap <C-t> <ESC>:tabnew<CR>
" map <C-t> :tabnew<CR>
" imap <C-t> <ESC>:tabnew<CR>
" Close tab
map <C-q> :tabclose<CR>
imap <C-q> :tabclose<CR>
" map <C-q> :tabclose<CR>
" imap <C-q> :tabclose<CR>
" Move Right
map <C-l> :tabn<CR>
imap <C-l> <ESC>:tabn<CR>
map <C-j> :tabn<CR>
imap <C-j> <ESC>:tabn<CR>
" map <C-l> :tabn<CR>
" imap <C-l> <ESC>:tabn<CR>
" map <C-j> :tabn<CR>
" imap <C-j> <ESC>:tabn<CR>
" Move Left
map <C-h> :tabp<CR>
imap <C-h> <ESC>:tabp<CR>
map <C-k> :tabp<CR>
imap <C-k> <ESC>:tabp<CR>
" map <C-h> :tabp<CR>
" imap <C-h> <ESC>:tabp<CR>
" map <C-k> :tabp<CR>
" imap <C-k> <ESC>:tabp<CR>
" clear search results
nnoremap <silent> // :noh<CR>

View File

@ -0,0 +1,266 @@
-- since this is just an example spec, don't actually load anything here and return an empty spec
-- stylua: ignore
-- if true then return {} end
-- every spec file under config.plugins will be loaded automatically by lazy.nvim
--
-- In your plugin files, you can:
-- * add extra plugins
-- * disable/enabled LazyVim plugins
-- * override the configuration of LazyVim plugins
return {
-- add gruvbox
{ "ellisonleao/gruvbox.nvim" },
-- Configure LazyVim to load gruvbox
{
"LazyVim/LazyVim",
opts = {
colorscheme = "gruvbox",
},
},
-- change trouble config
{
"folke/trouble.nvim",
-- opts will be merged with the parent spec
opts = { use_diagnostic_signs = true },
},
-- disable trouble
{ "folke/trouble.nvim", enabled = false },
-- add symbols-outline
{
"simrat39/symbols-outline.nvim",
cmd = "SymbolsOutline",
keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } },
config = true,
},
-- override nvim-cmp and add cmp-emoji
{
"hrsh7th/nvim-cmp",
dependencies = { "hrsh7th/cmp-emoji" },
---@param opts cmp.ConfigSchema
opts = function(_, opts)
local cmp = require("cmp")
opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } }))
end,
},
-- change some telescope options and a keymap to browse plugin files
{
"nvim-telescope/telescope.nvim",
keys = {
-- add a keymap to browse plugin files
-- stylua: ignore
{
"<leader>fp",
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
desc = "Find Plugin File",
},
},
-- change some options
opts = {
defaults = {
layout_strategy = "horizontal",
layout_config = { prompt_position = "top" },
sorting_strategy = "ascending",
winblend = 0,
},
},
},
-- add telescope-fzf-native
{
"telescope.nvim",
dependencies = {
"nvim-telescope/telescope-fzf-native.nvim",
build = "make",
config = function()
require("telescope").load_extension("fzf")
end,
},
},
-- add pyright to lspconfig
{
"neovim/nvim-lspconfig",
---@class PluginLspOpts
opts = {
---@type lspconfig.options
servers = {
-- pyright will be automatically installed with mason and loaded with lspconfig
pyright = {},
},
},
},
-- add tsserver and setup with typescript.nvim instead of lspconfig
{
"neovim/nvim-lspconfig",
dependencies = {
"jose-elias-alvarez/typescript.nvim",
init = function()
require("lazyvim.util").on_attach(function(_, buffer)
-- stylua: ignore
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
end)
end,
},
---@class PluginLspOpts
opts = {
---@type lspconfig.options
servers = {
-- tsserver will be automatically installed with mason and loaded with lspconfig
tsserver = {},
},
-- you can do any additional lsp server setup here
-- return true if you don't want this server to be setup with lspconfig
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
setup = {
-- example to setup with typescript.nvim
tsserver = function(_, opts)
require("typescript").setup({ server = opts })
return true
end,
-- Specify * to use this function as a fallback for any server
-- ["*"] = function(server, opts) end,
},
},
},
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
{ import = "lazyvim.plugins.extras.lang.typescript" },
-- add more treesitter parsers
{
"nvim-treesitter/nvim-treesitter",
opts = {
ensure_installed = {
"bash",
"html",
"javascript",
"json",
"lua",
"markdown",
"markdown_inline",
"python",
"query",
"regex",
"tsx",
"typescript",
"vim",
"yaml",
},
},
},
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
-- would overwrite `ensure_installed` with the new value.
-- If you'd rather extend the default config, use the code below instead:
{
"nvim-treesitter/nvim-treesitter",
opts = function(_, opts)
-- add tsx and treesitter
vim.list_extend(opts.ensure_installed, {
"tsx",
"typescript",
})
end,
},
-- the opts function can also be used to change the default opts:
{
"nvim-lualine/lualine.nvim",
event = "VeryLazy",
opts = function(_, opts)
table.insert(opts.sections.lualine_x, "😄")
end,
},
-- or you can return new options to override all the defaults
{
"nvim-lualine/lualine.nvim",
event = "VeryLazy",
opts = function()
return {
--[[add your custom lualine config here]]
}
end,
},
-- use mini.starter instead of alpha
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
-- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc
{ import = "lazyvim.plugins.extras.lang.json" },
-- add any tools you want to have installed below
{
"williamboman/mason.nvim",
opts = {
ensure_installed = {
"stylua",
"shellcheck",
"shfmt",
"flake8",
},
},
},
-- Use <tab> for completion and snippets (supertab)
-- first: disable default <tab> and <s-tab> behavior in LuaSnip
{
"L3MON4D3/LuaSnip",
keys = function()
return {}
end,
},
-- then: setup supertab in cmp
{
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-emoji",
},
---@param opts cmp.ConfigSchema
opts = function(_, opts)
local has_words_before = function()
unpack = unpack or table.unpack
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end
local luasnip = require("luasnip")
local cmp = require("cmp")
opts.mapping = vim.tbl_extend("force", opts.mapping, {
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
-- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable()
-- they way you will only jump inside the snippet region
elseif luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
elseif has_words_before() then
cmp.complete()
else
fallback()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { "i", "s" }),
})
end,
},
}

View File

@ -238,9 +238,46 @@ Plug 'mkitt/tabline.vim'
Plug 'prisma/vim-prisma'
"" LSP Support
"Plug 'neovim/nvim-lspconfig' " Required
"Plug 'williamboman/mason.nvim', {'do': ':MasonUpdate'} " Optional
"Plug 'williamboman/mason-lspconfig.nvim' " Optional
""" Autocompletion
""Plug 'hrsh7th/nvim-cmp' " Required
""Plug 'hrsh7th/cmp-nvim-lsp' " Required
""Plug 'L3MON4D3/LuaSnip' " Required
"Plug 'VonHeikemen/lsp-zero.nvim', {'branch': 'v2.x'}
"Plug 'lukas-reineke/lsp-format.nvim'
" Tell vim-plug we finished declaring plugins, so it can load them
call plug#end()
"lua <<EOF
"local lsp = require('lsp-zero').preset({})
"lsp.on_attach(function(client, bufnr)
"lsp.default_keymaps({buffer = bufnr})
"end)
"-- " (Optional) Configure lua language server for neovim
"require('lspconfig').lua_ls.setup(lsp.nvim_lua_ls())
"require("lsp-format").setup {}
"local on_attach = function(client)
"require("lsp-format").on_attach(client)
"-- ... custom code ...
"end
"require("lspconfig").gopls.setup { on_attach = on_attach }
"lsp.setup()
"EOF
" ============================================================================
" Install plugins the first time vim runs
if vim_plug_just_installed

View File

@ -1,39 +1,69 @@
" ------------------------------------------------------------------------------
" Neoconfig by Shawn Anderson starting September 30 2020
set cursorline
set autoread
" ignores case of letters on searches
set ignorecase
" Override the 'ignorecase' option if the search pattern contains upper case characters
set smartcase
" Follow the open file
set autochdir
" Don't produce swap files
set noswapfile
set tags=tags
"
" ------------------------------------------------------------------------------
" These are inherited from MattCoding4Days
"" Make vim scroll faster
" Something about tags... going to get away from tags.
"set tags=tags
" Make vim scroll faster
set ttyfast " Removed in Nvim "
set mouse=a
" Finish updates before redrawing screen
set lazyredraw
set nu
" Mouse support All
set mouse=a
" Line Numbers
set number
" Relative line numbers
set relativenumber!
" No line wrap
set nowrap
set relativenumber
" Encoding
set encoding=UTF-8
" set tabline to (not) display full path
set guitablabel=%F
" set guitablabel=%F " Set to remove
" Always display tabline
set showtabline=2
" tabs and spaces handling
set expandtab
set tabstop=4
" Tabs and spaces handling
set expandtab " Uses spaces instead of tabs
set tabstop=4 " Number of spaces per tab "
set softtabstop=4
set shiftwidth=4
" remove ugly vertical lines on window division
" Windowing Splitting
" Remove ugly vertical lines on window division
set fillchars+=vert:\
" autocompletion of files and commands behaves like shell
" Autocompletion of files and commands behaves like shell
" (complete only the common part, list the options that match)
set wildmode=list:longest
" when scrolling, keep cursor 3 lines away from screen border
set scrolloff=3
" fix problems with uncommon shells (fish, xonsh) and plugins running commands
" (neomake, ...)
set shell=$SHELL

View File

@ -1,4 +1,3 @@
"" Color Scheme set up for Material ===============================
if (has("nvim"))
"For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 >

View File

@ -8,10 +8,10 @@ set -g @plugin 'tmux-plugins/tmux-sensible'
# Tmux Power
set -g @plugin 'linuxiscool/tmux-power'
#set -g @tmux_power_theme 'moon' # dark slate blue
set -g @tmux_power_theme 'gold' # dark slate blue
set -g @tmux_power_theme 'coral' # dark slate blue
#set -g @tmux_power_date_icon '☃️ ☃️ ☃️ February' # set it to a blank will disable the icon
set -g @tmux_power_date_icon '🌱 %B' # set it to a blank will disable the icon
set -g @tmux_power_time_icon '⌚' # emoji can be used if your terminal supports
set -g @tmux_power_date_icon '🌱 %B %d' # set it to a blank will disable the icon
set -g @tmux_power_time_icon '⌚ %A' # emoji can be used if your terminal supports
#set -g @tmux_power_user_icon '🀄'
set -g @tmux_power_user_icon '🍄'
set -g @tmux_power_session_icon '✨'

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More