summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.bashrc23
-rw-r--r--.config/nvim/init.lua60
-rw-r--r--.fdignore9
-rwxr-xr-x.local/bin/tmux-sessionizer15
-rw-r--r--.tmux.conf49
5 files changed, 110 insertions, 46 deletions
diff --git a/.bashrc b/.bashrc
new file mode 100644
index 0000000..790d6d4
--- /dev/null
+++ b/.bashrc
@@ -0,0 +1,23 @@
+sessionizer() {
+ DIR=$(fdfind --type d --strip-cwd-prefix -L -H | fzf)
+ SESSION_NAME="$DIR_$(date +%M%S)"
+
+ if [ -n "$DIR" ]
+ then
+ if [ "$1" == "-cd" ]
+ then
+ cd $DIR
+ return
+ fi
+ tmux new-session -d -c "$DIR" -s "$SESSION_NAME"
+ if [ -n "$TMUX" ]
+ then
+ tmux switch -t "$SESSION_NAME"
+ else
+ tmux attach -t "$SESSION_NAME"
+ fi
+ fi
+}
+
+bind '"\C-f": "sessionizer\n"'
+bind '"\C-F": "sessionizer -cd\n"'
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
index 181c9de..ffb09a8 100644
--- a/.config/nvim/init.lua
+++ b/.config/nvim/init.lua
@@ -11,6 +11,7 @@ vim.opt.shiftwidth = 2
vim.opt.expandtab = true
vim.opt.termguicolors = true
vim.opt.splitbelow = true
+vim.opt.scrolloff = 5
vim.opt.mouse = 'a'
vim.api.nvim_set_option('clipboard','unnamedplus')
vim.opt.ruler = false
@@ -40,12 +41,11 @@ require('packer').startup(function(use)
'nvim-telescope/telescope.nvim',
requires = { {'nvim-lua/plenary.nvim'} }
}
- use {
- "nvim-telescope/telescope-file-browser.nvim",
- requires = { "nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim" }
- }
+
+ use 'stevearc/oil.nvim'
use 'akinsho/toggleterm.nvim'
+ use 'christoomey/vim-tmux-navigator'
if install_plugins then
require('packer').sync()
@@ -56,13 +56,21 @@ if install_plugins then
return
end
-require('indent_blankline').setup {
- char = '▏',
- show_trailing_blankline_indent = false,
- show_first_indent_level = false,
- show_current_context = false
+
+local oil = require('oil')
+_G.oil = oil
+oil.setup {
+ default_file_explorer = true,
+ columns = {
+ 'icon',
+ },
+ view_options = {
+ show_hidden = true
+ }
}
+require('ibl').setup()
+
require('Comment').setup {
padding = true,
toggler = {
@@ -117,7 +125,7 @@ cmp.setup.cmdline(':', {
-- Set Up Lspconfig
local lspconfig = require('lspconfig')
local capabilities = require('cmp_nvim_lsp').default_capabilities()
-servers = { 'pyright', 'ccls' }
+servers = { 'pyright', 'ccls', 'gopls' }
for _, lsp in pairs(servers) do
lspconfig[lsp].setup {
capabilities = capabilities
@@ -126,7 +134,6 @@ end
-- Set Up Telescope
local actions = require('telescope.actions')
-local fb_actions = require("telescope").extensions.file_browser.actions
local telescope = require('telescope')
telescope.setup({
pickers = {
@@ -134,26 +141,13 @@ telescope.setup({
hidden = true
}
},
- extensions = {
- file_browser = {
- theme = "ivy",
- hijack_netrw = true,
- }
- },
defaults = {
layout_strategy = 'bottom_pane',
layout_config = {
height = 0.4
},
-
- mappings = {
- i = {
- ["<A-a>"] = fb_actions.create,
- },
- },
},
})
-telescope.load_extension "file_browser"
-- Set Up ToggleTerm
require('toggleterm').setup {
@@ -173,20 +167,26 @@ vim.keymap.set('n', 'P', '<cmd>pu<cr>', { noremap = true })
vim.keymap.set('n', '<space><space>', '<cmd>Telescope find_files<cr>', { noremap = true })
vim.keymap.set('n', '<space>b', '<cmd>Telescope buffers<cr>', { noremap = true })
vim.keymap.set('n', '<space>f', '<cmd>Telescope live_grep<cr>', { noremap = true })
-vim.keymap.set('n', '<space>n', '<cmd>Telescope file_browser<cr>', { noremap = true })
-vim.keymap.set('n', 'cw', '<cmd>bdelete!<cr>', { noremap = true })
+vim.keymap.set('n', '<A-x>', '<cmd>close<cr>', { noremap = true })
+vim.keymap.set('n', '<A-q>', '<cmd>bdelete!<cr>', { noremap = true })
vim.keymap.set('t', '<Esc>', '<C-\\><C-n>', { noremap = true })
-vim.keymap.set('n', 'D', vim.lsp.buf.definition, { noremap = true })
-vim.keymap.set('n', 'F', vim.lsp.buf.declaration, { noremap = true })
+vim.keymap.set('n', '\\d', vim.lsp.buf.definition, { noremap = true })
+vim.keymap.set('n', '\\f', vim.lsp.buf.declaration, { noremap = true })
vim.keymap.set('n', 'K', vim.lsp.buf.hover, { noremap = true })
vim.keymap.set('n', '<A-y>', '<cmd>ToggleTerm<cr>', { noremap = true })
vim.keymap.set('t', '<A-y>', '<cmd>ToggleTerm<cr>', { noremap = true })
+vim.keymap.set('t', '<A-y>', '<cmd>ToggleTerm<cr>', { noremap = true })
+
+vim.keymap.set('n', '<A-n>', '<cmd>bnext<cr>', { noremap = true })
+vim.keymap.set('n', '<A-p>', '<cmd>bprev<cr>', { noremap = true })
+
+vim.keymap.set('n', '<A-a>', '<cmd>lua oil.toggle_float()<cr>', { noremap = true })
-- Splitting The Window
-vim.api.nvim_set_keymap('n', '<C-x>|', ':vsplit<CR>', { noremap = true })
-vim.api.nvim_set_keymap('n', '<C-x>-', ':split<CR>', { noremap = true })
+vim.api.nvim_set_keymap('n', '<A-\\>', ':vsplit<CR>', { noremap = true })
+vim.api.nvim_set_keymap('n', '<A-->', ':split<CR>', { noremap = true })
diff --git a/.fdignore b/.fdignore
new file mode 100644
index 0000000..44ba588
--- /dev/null
+++ b/.fdignore
@@ -0,0 +1,9 @@
+.git
+cache
+.cache
+node_modules
+.npm
+site-packages
+go/pkg
+build
+virtualenv
diff --git a/.local/bin/tmux-sessionizer b/.local/bin/tmux-sessionizer
new file mode 100755
index 0000000..8f1c263
--- /dev/null
+++ b/.local/bin/tmux-sessionizer
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+DIR=$(fdfind --type d --strip-cwd-prefix -L -H | fzf)
+SESSION_NAME="$DIR_$(date +%M%S)"
+
+if [ -n "$DIR" ]
+then
+ tmux new-session -d -c "$DIR" -s "$SESSION_NAME"
+ if [ -n "$TMUX" ]
+ then
+ tmux switch -t "$SESSION_NAME"
+ else
+ tmux attach -t "$SESSION_NAME"
+ fi
+fi
diff --git a/.tmux.conf b/.tmux.conf
index 410b261..a3994aa 100644
--- a/.tmux.conf
+++ b/.tmux.conf
@@ -1,34 +1,51 @@
-set -s escape-time 0
-set -g history-limit 50000
-set -g display-time 4000
+set -sg escape-time 20
+set -g history-limit 10000
+
set -g status-interval 5
set -g default-terminal "screen-256color"
set -g focus-events on
-set -g @plugin 'o0th/tmux-nova'
+set -g base-index 1
+set -g pane-base-index 1
+set-window-option -g pane-base-index 1
+set-option -g renumber-windows on
+
+set-option -g detach-on-destroy off
-bind R source-file '/home/compromyse/.tmux.conf'
+set -g @plugin 'christoomey/vim-tmux-navigator'
+set -g @plugin 'tmux-plugins/tmux-yank'
unbind C-b
+unbind '"'
+unbind %
+
set-option -g prefix C-x
bind-key C-x send-prefix
-bind | split-window -h
-bind - split-window -v
-unbind '"'
-unbind %
+bind -n M-h previous-window
+bind -n M-l next-window
-set -g mouse on
-set-option -s set-clipboard off
-bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
+set-window-option -g mode-keys vi
+bind-key -T copy-mode-vi v send-keys -X begin-selection
-bind-key r command-prompt -I "#W" "rename-window '%%'"
+bind | split-window -h -c "#{pane_current_path}"
+bind - split-window -v -c "#{pane_current_path}"
+bind-key r command-prompt -I "#W" "rename-window '%%'"
bind-key b attach-session -c "#{pane_current_path}"
-
bind-key x kill-pane
-set -g @nova-rows 0
-set -g @nova-pane "#I: #W"
+unbind f
+bind f split-pane "tmux-sessionizer"
+
+bg="#698DDA"
+
+set -g status-position "bottom"
+set -g status-style bg=default,fg=default
+set -g status-justify "centre"
+set -g status-left " #[bg=${bg},fg=#ffffff] tmux "
+set -g status-right "compromyse "
+set -g window-status-format " #I:#W "
+set -g window-status-current-format "#[bg=${bg},fg=#000000] #I:#W "
run '~/.tmux/plugins/tpm/tpm'