Compare commits

...

10 Commits

Author SHA1 Message Date
d47ac5571e Small changes in FZF config 2020-05-07 22:18:17 +02:00
402e344ed3 Small fixes 2019-07-27 23:58:31 +02:00
e3a94bfcc6 Update config 2018-04-19 12:44:49 +03:00
e5588b6141 Add more things for search 2017-06-28 00:03:42 +02:00
66deb0d27c Add missing plugins 2017-06-18 12:52:44 +02:00
bd558f9206 Add NeoVim config. Update old Vim config 2017-06-17 21:52:12 +02:00
Grzegorz
c8bd8ed63d Remove unused parts. Add tmux.comf 2016-08-17 20:51:33 +02:00
Grzegorz
9d5a872b02 Add ag command to ctrlp. New checkers for Ruby 2016-08-16 11:58:07 +02:00
Grzegorz Łuszczek
d7d051636d Update README.md 2016-03-12 15:36:28 +01:00
Grzegorz
01e2cdc05a Add initial version of .vimrc. In future there will be omre explanation for it 2016-03-12 15:35:54 +01:00
6 changed files with 602 additions and 0 deletions

212
.vimrc Normal file
View File

@@ -0,0 +1,212 @@
filetype off
syntax on
" Default config {{{
set t_Co=256
set ruler
set ts=2 sts=2 sw=2
set nocompatible
set autoindent
set number
set backspace=2
set ignorecase
set incsearch
set cursorline
set expandtab
set wildmenu
set hid
set lazyredraw
set autoread
set history=700
"set relativenumber
set encoding=utf8
set fileencoding=utf8
set backupdir=~/.vim/swp
set directory=~/.vim/swp
set shell=/bin/bash
set hidden
map ; :
set undodir=$HOME/.vim/undo
set undolevels=1000
set undoreload=10000
set undofile
let &colorcolumn="80,120"
" }}}
" Shortcuts {{{
let mapleader = ','
map <F12> :buffers<CR>
map H :tabp<CR>
map L :tabn<CR>
map <Leader>S :Ag! <cword><CR>
set pastetoggle=<F3>
map <C-E> :VimFilerExplorer<CR>
map <Leader>g :Gstatus<CR>
map <Leader>c :Gcommit<CR>
map <Leader>ig :IndentGuidesToggle<CR>
map <C-p> :CtrlP<CR>
map <Leader>p :CtrlP .<CR>
map <Leader>/ <Plug>(easymotion-sn)
map <Leader>h :%s/:\([^ ]*\)\(\s*\)=>/\1:/g<CR>
map <Leader>H :s/:\([^ ]*\)\(\s*\)=>/\1:/g<CR>
" }}}
call plug#begin('~/.vim/plugged')
Plug 'sheerun/vim-polyglot'
" Autocomplete {{{
Plug 'Valloric/YouCompleteMe'
"
" The Silver Searcher
if executable('ag')
" Use ag over grep
set grepprg=ag\ --nogroup\ --nocolor
" Use ag in CtrlP for listing files. Lightning fast and respects .gitignore
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
" ag is fast enough that CtrlP doesn't need to cache
let g:ctrlp_use_caching = 0
endif
" }}}
Plug 'jpo/vim-railscasts-theme'
Plug 'dkprice/vim-easygrep'
Plug 'nathanaelkane/vim-indent-guides', { 'on': 'IndentGuidesToggle' }
Plug 'Yggdroot/indentLine'
Plug 'exu/pgsql.vim', { 'for': 'sql' }
Plug 'junegunn/vim-easy-align'
" Start interactive EasyAlign in visual mode (e.g. vipga)
xmap ga <Plug>(EasyAlign)
" Start interactive EasyAlign for a motion/text object (e.g. gaip)
nmap ga <Plug>(EasyAlign)
Plug 'duggiefresh/vim-easydir'
Plug 'scrooloose/syntastic'
let g:syntastic_ruby_checkers = ['mri', 'rubocop']
Plug 'rking/ag.vim', { 'on': 'Ag' }
Plug 'Lokaltog/vim-easymotion'
Plug 'tpope/vim-surround'
Plug 'edkolev/tmuxline.vim'
Plug 'ntpeters/vim-better-whitespace'
Plug 'terryma/vim-multiple-cursors'
" Nerd {{{
Plug 'Shougo/unite.vim'
Plug 'Shougo/vimfiler.vim', { 'on': 'VimFilerExplorer' }
Plug 'scrooloose/nerdcommenter'
" }}}
"
Plug 'terryma/vim-expand-region'
vmap v <Plug>(expand_region_expand)
vmap <C-v> <Plug>(expand_region_shrink)
Plug 'bling/vim-airline'
let g:airline#extensions#tabline#enabled = 1
let g:airline_powerline_fonts = 1
set laststatus=2
Plug 'kien/ctrlp.vim', { 'on': 'CtrlP' }
set wildignore+=*/.gem/*,*/vendor/Plug/*,*/tmp/*,log/*,*/tmp/*,*/public/system*,*.orig,*.o,*/public/assets*
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'wikitopian/hardmode'
Plug 'tpope/vim-dispatch'
" RAILS {{{
Plug 'kchmck/vim-coffee-script'
Plug 'slim-template/vim-slim', { 'for': 'slim' }
Plug 'tpope/vim-haml', { 'for': 'haml' }
Plug 'tpope/vim-rails'
Plug 'grzlus/sass.snippet', { 'for': 'sass' }
Plug 'tpope/vim-cucumber'
Plug 'thoughtbot/vim-rspec'
Plug 'benmills/vimux'
let g:rspec_command = 'call VimuxRunCommand("docker-compose run web rspec {spec}")'
map <Leader>t :call RunCurrentSpecFile()<CR>
map <Leader>s :call RunNearestSpec()<CR>
map <Leader>l :call RunLastSpec()<CR>
map <Leader>a :call RunAllSpecs()<CR>
" }}}
Plug 'heartsentwined/vim-emblem', { 'for': 'emblem' }
" GIT
Plug 'tpope/vim-fugitive'
Plug 'airblade/vim-gitgutter'
Plug 'mattn/gist-vim', { 'on': 'Gist' }
Plug 'mattn/webapi-vim', { 'on': 'Gist' }
call plug#end()
filetype plugin indent on
" set Vim-specific sequences for RGB colors
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
let g:solarized_termcolors=256
set termguicolors
set background=dark
colorscheme railscasts
" VIM Flod {{{
augroup vimrc
au BufReadPre * setlocal foldmethod=marker
au BufWinEnter * if &fdm == 'indent' | setlocal foldmethod=manual | endif
augroup END
" }}}
" Remember line {{{
" Return to last edit position when opening files (You want this!)
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
" Remember info about open buffers on close
set viminfo^=%
" }}}
autocmd VimEnter,BufNewFile,BufReadPost * if !strlen(&buftype) | silent! call HardMode() | endif
autocmd FileType css,scss,sass setlocal iskeyword+=-
autocmd FileType css,scss,sass setlocal omnifunc=csscomplete#CompleteCSS
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
autocmd FileType javascript,coffee setlocal omnifunc=javascriptcomplete#CompleteJS
autocmd BufWritePre * StripWhitespace

12
Dockerfile Normal file
View File

@@ -0,0 +1,12 @@
FROM erroneousboat/neovim
WORKDIR /root
ENTRYPOINT []
RUN apt-get update && apt-get install -y tmux curl git
COPY nvim.vim /root/.config/nvim/init.vim
RUN curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
RUN nvim +PlugInstall +q > /dev/null

View File

@@ -7,6 +7,7 @@ curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
mkdir ~/.vim/swp
mkdir ~/.vim/undo
vim +PlugInstall
```
You need to precompile [YouCompleteMe](https://github.com/Valloric/YouCompleteMe) too.

110
files/.config/nvim/init.vim Normal file
View File

@@ -0,0 +1,110 @@
set ruler
set ts=2 sts=2 sw=2
set autoindent
set number
set backspace=2
set ignorecase
set incsearch
set cursorline
set expandtab
set wildmenu
set hid
set lazyredraw
set autoread
set history=700
set nohlsearch
set relativenumber
set so=999
let mapleader = ','
map H :tabp<CR>
map L :tabn<CR>
"map <Leader>q :tabo|%bd|e#<CR>
call plug#begin('~/.nvim/plugged')
Plug 'wikitopian/hardmode'
autocmd VimEnter,BufNewFile,BufReadPost * silent! call HardMode()
Plug 'jpo/vim-railscasts-theme'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
map <C-p> :GFiles<CR>
map <Leader>p :GFiles?<CR>
map <Leader><C-p> :FZF<CR>
map <Leader>c :BCommits<CR>
map <Leader>/ :exec 'BLines' expand('<cword>')<CR>
map <Leader>? :exec 'Lines' expand('<cword>')<CR>
map <Leader>s :exec 'Ag' expand('<cword>')<CR>
let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6 } }
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-surround'
Plug 'jiangmiao/auto-pairs'
Plug 'sheerun/vim-polyglot'
Plug 'tpope/vim-endwise'
Plug 'dln/avro-vim'
au BufRead,BufNewFile *.avdl setlocal filetype=avro-idl
" Completion
"Plug 'roxma/nvim-completion-manager'
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
" pip3 install --user neovim jedi mistune psutil setproctitle
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'fishbullet/deoplete-ruby'
let g:deoplete#enable_at_startup = 1
Plug 'Shougo/neco-syntax'
Plug 'Yggdroot/indentLine'
let g:indentLine_enabled = 0
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
let g:UltiSnipsExpandTrigger="<c-l>"
Plug 'itchyny/lightline.vim'
set laststatus=2
set noshowmode
let g:lightline = {
\ 'active': {
\ 'left': [ [ 'mode', 'paste' ],
\ [ 'gitbranch', 'readonly', 'filename', 'modified' ] ]
\ },
\ 'component_function': {
\ 'gitbranch': 'fugitive#head'
\ },
\ 'separator': { 'left': '', 'right': '' },
\ 'subseparator': { 'left': '', 'right': '' }
\ }
Plug 'Shougo/context_filetype.vim'
Plug 'joker1007/vim-ruby-heredoc-syntax'
Plug 'w0rp/ale'
let b:ale_ruby_rubocop_executable='docker-compose run --rm rubocop rubocop'
"Plug 'neomake/neomake'
"autocmd! BufWritePost * Neomake
Plug 'scrooloose/nerdcommenter'
Plug 'airblade/vim-gitgutter'
Plug 'vimlab/split-term.vim'
set splitbelow
call plug#end()
set background=dark
colorscheme railscasts
command! -bang -nargs=* Tmux
\ call fzf#complete(
\ { 'source': 'tmuxinator list'})

2
files/.tmux.conf Normal file
View File

@@ -0,0 +1,2 @@
set -g default-terminal "screen-256color-bce"
set -s escape-time 0

265
files/.tmux.conf.local Normal file
View File

@@ -0,0 +1,265 @@
# https://github.com/gpakosz/.tmux
# (‑●‑●)> released under the WTFPL v2 license, by Gregory Pakosz (@gpakosz)
# -- navigation ----------------------------------------------------------------
# if you're running tmux within iTerm2
# - and tmux is 1.9 or 1.9a
# - and iTerm2 is configured to let option key act as +Esc
# - and iTerm2 is configured to send [1;9A -> [1;9D for option + arrow keys
# then uncomment the following line to make Meta + arrow keys mapping work
#set -ga terminal-overrides "*:kUP3=\e[1;9A,*:kDN3=\e[1;9B,*:kRIT3=\e[1;9C,*:kLFT3=\e[1;9D"
# -- windows & pane creation ---------------------------------------------------
# new window retains current path, possible values are:
# - true
# - false (default)
tmux_conf_new_window_retain_current_path=false
# new pane retains current path, possible values are:
# - true (default)
# - false
tmux_conf_new_pane_retain_current_path=true
# new pane tries to reconnect ssh sessions (experimental), possible values are:
# - true
# - false (default)
tmux_conf_new_pane_reconnect_ssh=false
# prompt for session name when creating a new session, possible values are:
# - true
# - false (default)
tmux_conf_new_session_prompt=false
# -- display -------------------------------------------------------------------
# RGB 24-bit colour support (tmux >= 2.2), possible values are:
# - true
# - false (default)
tmux_conf_theme_24b_colour=false
# window style
tmux_conf_theme_window_fg='default'
tmux_conf_theme_window_bg='default'
# highlight focused pane (tmux >= 2.1), possible values are:
# - true
# - false (default)
tmux_conf_theme_highlight_focused_pane=false
# focused pane colours:
tmux_conf_theme_focused_pane_fg='default'
tmux_conf_theme_focused_pane_bg='#0087d7' # light blue
# pane border style, possible values are:
# - thin (default)
# - fat
tmux_conf_theme_pane_border_style=thin
# pane borders colours:
tmux_conf_theme_pane_border='#444444' # gray
tmux_conf_theme_pane_active_border='#00afff' # light blue
# pane indicator colours
tmux_conf_theme_pane_indicator='#00afff' # light blue
tmux_conf_theme_pane_active_indicator='#00afff' # light blue
# status line style
tmux_conf_theme_message_fg='#000000' # black
tmux_conf_theme_message_bg='#ffff00' # yellow
tmux_conf_theme_message_attr='bold'
# status line command style (<prefix> : Escape)
tmux_conf_theme_message_command_fg='#ffff00' # yellow
tmux_conf_theme_message_command_bg='#000000' # black
tmux_conf_theme_message_command_attr='bold'
# window modes style
tmux_conf_theme_mode_fg='#000000' # black
tmux_conf_theme_mode_bg='#ffff00' # yellow
tmux_conf_theme_mode_attr='bold'
# status line style
tmux_conf_theme_status_fg='#8a8a8a' # light gray
tmux_conf_theme_status_bg='#080808' # dark gray
tmux_conf_theme_status_attr='none'
# window status style
# - built-in variables are:
# - #{circled_window_index}
tmux_conf_theme_window_status_fg='#8a8a8a' # light gray
tmux_conf_theme_window_status_bg='#080808' # dark gray
tmux_conf_theme_window_status_attr='none'
tmux_conf_theme_window_status_format='#I #W'
#tmux_conf_theme_window_status_format='#{circled_window_index} #W'
#tmux_conf_theme_window_status_format='#I #W#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}'
# window current status style
# - built-in variables are:
# - #{circled_window_index}
tmux_conf_theme_window_status_current_fg='#000000' # black
tmux_conf_theme_window_status_current_bg='#00afff' # light blue
tmux_conf_theme_window_status_current_attr='bold'
tmux_conf_theme_window_status_current_format='#I #W'
#tmux_conf_theme_window_status_current_format='#{circled_window_index} #W'
#tmux_conf_theme_window_status_current_format='#I #W#{?window_zoomed_flag,🔍,}'
# window activity status style
tmux_conf_theme_window_status_activity_fg='default'
tmux_conf_theme_window_status_activity_bg='default'
tmux_conf_theme_window_status_activity_attr='underscore'
# window bell status style
tmux_conf_theme_window_status_bell_fg='#ffff00' # yellow
tmux_conf_theme_window_status_bell_bg='default'
tmux_conf_theme_window_status_bell_attr='blink,bold'
# window last status style
tmux_conf_theme_window_status_last_fg='#00afff' # light blue
tmux_conf_theme_window_status_last_bg='default'
tmux_conf_theme_window_status_last_attr='none'
# status left/right sections separators
#tmux_conf_theme_left_separator_main=''
tmux_conf_theme_left_separator_sub='|'
#tmux_conf_theme_right_separator_main=''
tmux_conf_theme_right_separator_sub='|'
tmux_conf_theme_left_separator_main='' # /!\ you don't need to install Powerline
#tmux_conf_theme_left_separator_sub='' # you only need fonts patched with
tmux_conf_theme_right_separator_main='' # Powerline symbols or the standalone
#tmux_conf_theme_right_separator_sub='' # PowerlineSymbols.otf font
# status left/right content:
# - separate main sections with '|'
# - separate subsections with ','
# - built-in variables are:
# - #{battery_bar}
# - #{battery_hbar}
# - #{battery_percentage}
# - #{battery_status}
# - #{battery_vbar}
# - #{circled_session_name}
# - #{hostname_ssh}
# - #{hostname}
# - #{loadavg}
# - #{pairing}
# - #{prefix}
# - #{root}
# - #{uptime_d}
# - #{uptime_h}
# - #{uptime_m}
# - #{uptime_s}
# - #{username}
# - #{username_ssh}
tmux_conf_theme_status_left=' ❐ #S | ↑#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} '
tmux_conf_theme_status_right='#{prefix}#{pairing} #{?battery_status, #{battery_status},}#{?battery_bar, #{battery_bar},}#{?battery_percentage, #{battery_percentage},} , %R , %d %b | #{username}#{root} | #{hostname} '
# status left style
tmux_conf_theme_status_left_fg='#000000,#e4e4e4,#e4e4e4' # black, white , white
tmux_conf_theme_status_left_bg='#ffff00,#ff00af,#00afff' # yellow, pink, white blue
tmux_conf_theme_status_left_attr='bold,none,none'
# status right style
tmux_conf_theme_status_right_fg='#8a8a8a,#e4e4e4,#000000' # light gray, white, black
tmux_conf_theme_status_right_bg='#080808,#d70000,#e4e4e4' # dark gray, red, white
tmux_conf_theme_status_right_attr='none,none,bold'
# pairing indicator
tmux_conf_theme_pairing='👓' # U+1F453
tmux_conf_theme_pairing_fg='none'
tmux_conf_theme_pairing_bg='none'
tmux_conf_theme_pairing_attr='none'
# prefix indicator
tmux_conf_theme_prefix='⌨' # U+2328
tmux_conf_theme_prefix_fg='none'
tmux_conf_theme_prefix_bg='none'
tmux_conf_theme_prefix_attr='none'
# root indicator
tmux_conf_theme_root='!'
tmux_conf_theme_root_fg='none'
tmux_conf_theme_root_bg='none'
tmux_conf_theme_root_attr='bold,blink'
# battery bar symbols
tmux_conf_battery_bar_symbol_full='◼'
tmux_conf_battery_bar_symbol_empty='◻'
#tmux_conf_battery_bar_symbol_full='♥'
#tmux_conf_battery_bar_symbol_empty='·'
# battery bar length (in number of symbols), possible values are:
# - auto
# - a number, e.g. 5
tmux_conf_battery_bar_length='auto'
# battery bar palette, possible values are:
# - gradient (default)
# - heat
# - 'colour_full_fg,colour_empty_fg,colour_bg'
tmux_conf_battery_bar_palette='gradient'
#tmux_conf_battery_bar_palette='#d70000,#e4e4e4,#000000' # red, white, black
# battery hbar palette, possible values are:
# - gradient (default)
# - heat
# - 'colour_low,colour_half,colour_full'
tmux_conf_battery_hbar_palette='gradient'
#tmux_conf_battery_hbar_palette='#d70000,#ff5f00,#5fff00' # red, orange, green
# battery vbar palette, possible values are:
# - gradient (default)
# - heat
# - 'colour_low,colour_half,colour_full'
tmux_conf_battery_vbar_palette='gradient'
#tmux_conf_battery_vbar_palette='#d70000,#ff5f00,#5fff00' # red, orange, green
# symbols used to indicate whether battery is charging or discharging
tmux_conf_battery_status_charging='↑' # U+2191
tmux_conf_battery_status_discharging='↓' # U+2193
#tmux_conf_battery_status_charging='⚡ ' # U+26A1
#tmux_conf_battery_status_charging='🔌 ' # U+1F50C
#tmux_conf_battery_status_discharging='🔋 ' # U+1F50B
# clock style
tmux_conf_theme_clock_colour='#00afff' # light blue
tmux_conf_theme_clock_style='24'
# -- clipboard -----------------------------------------------------------------
# in copy mode, copying selection also copies to the OS clipboard
# - true
# - false (default)
# on macOS, this requires installing reattach-to-user-namespace, see README.md
# on Linux, this requires xsel or xclip
tmux_conf_copy_to_os_clipboard=false
# -- user customizations -------------------------------------------------------
# this is the place to override or undo settings
# increase history size
#set -g history-limit 10000
# start with mouse mode enabled
#set -g mouse on
# force Vi mode
# really you should export VISUAL or EDITOR environment variable, see manual
#set -g status-keys vi
#set -g mode-keys vi
# replace C-b by C-a instead of using both prefixes
# set -gu prefix2
# unbind C-a
# unbind C-b
# set -g prefix C-a
# bind C-a send-prefix
# move status line to top
#set -g status-position top