Skip to content

Instantly share code, notes, and snippets.

@lexoyo
Last active September 24, 2018 09:16
Show Gist options
  • Save lexoyo/c4a8f304341985818538 to your computer and use it in GitHub Desktop.
Save lexoyo/c4a8f304341985818538 to your computer and use it in GitHub Desktop.
my fedora23 terminal setup (tmux and vim)
set-option -g prefix C-a
unbind-key C-b
# 0 is too far from ` ;)
set -g base-index 1
# Automatically set window title
# set-window-option -g automatic-rename on
# set-option -g set-titles on
#set -g default-terminal screen-256color
set -g status-keys vi
set -g history-limit 10000
#vim for copy and visual mode
setw -g mode-keys vi
setw -g mode-keys vi
#bind-key -t vi-copy 'v' begin-selection
#bind-key -t vi-copy 'y' copy-selection
#setw -g mode-mouse on
#setw -g monitor-activity on
# copy to system buffer (alt-y will copy the last buffer to system clipboard)
# requires xclip installed
bind -n M-y run-shell "tmux show-buffer | xclip -sel clip -i > /dev/null" \; display-message "Copied tmux buffer to system clipboard"
# enter selection mode with alt v
bind -n M-v copy-mode
# Use Alt-vim keys without prefix key to switch panes
bind -n M-h resize-pane -L
bind -n M-j resize-pane -D
bind -n M-k resize-pane -U
bind -n M-l resize-pane -R
# Use Alt-arrow keys without prefix key to switch panes
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
bind -n M-x kill-pane
# Shift arrow to switch windows
bind -n S-Left previous-window
bind -n S-Right next-window
# No delay for escape key press
set -sg escape-time 0
# Reload tmux config
bind r source-file ~/.tmux.conf
# THEME
#set -g status-bg black
#set -g status-fg white
#set -g window-status-current-bg white
#set -g window-status-current-fg black
#set -g window-status-current-attr bold
#set -g status-interval 60
#set -g status-left-length 30
#set -g status-left '#[fg=green](#S) #(whoami)'
#set -g status-right '#[fg=yellow]#(cut -d " " -f 1-3 /proc/loadavg)#[default] #[fg=white]%H:%M#[default]'
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
" for js
Plugin 'Valloric/YouCompleteMe'
" Plugin 'ternjs/tern_for_vim'
Plugin 'pangloss/vim-javascript'
" Plugin 'scrooloose/syntastic'
Plugin 'editorconfig/editorconfig-vim'
" Plugin 'Raimondi/delimitMate'
" Plugin 'ctrlpvim/ctrlp.vim'
" Plugin 'tpope/vim-sensible'
" Plugin 'mhinz/vim-signify'
" Plugin 'Lokaltog/vim-distinguished'
" Plugin 'jeroenbourgois/vim-actionscript'
" Plugin 'jdonaldson/vaxe'
Plugin 'digitaltoad/vim-pug'
" Plugin 'dracula/vim'
" fzf ctrlp
Plugin 'junegunn/fzf'
set rtp+=~/.fzf
" let g:fzf_history_dir = '~/.local/share/fzf-history'
"map <C-P> :FZF<CR>
nnoremap <c-p> :FZF<CR>
" export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow --glob "!.git/*"'
let $FZF_DEFAULT_COMMAND = 'ag -g ""'
" ctrl s to save
noremap <silent> <C-S> :update<CR>
vnoremap <silent> <C-S> <C-C>:update<CR>
inoremap <silent> <C-S> <C-O>:update<CR>
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" set t_Co=256
" syntax on
" set background=dark
" colorscheme distinguished
" alex compile command ctrl+enter
Plugin 'skywind3000/asyncrun.vim'
" nnoremap <C-M> :AsyncRun npm run build<CR>:copen<CR><C-W><C-P>
map <C-M> :AsyncRun npm run build<CR>:copen<CR><C-W><C-P>
map ² :AsyncRun npm run build:js:debug<CR>:copen<CR><C-W><C-P>
map ~ :AsyncRun npm run build:css && npm run build:html<CR>:copen<CR><C-W><C-P>
" indent with spaces
set tabstop=2 softtabstop=0 expandtab shiftwidth=2 smarttab
" indent with tabs
" set autoindent noexpandtab tabstop=2 shiftwidth=2 softtabstop=-1
let g:ctrlp_custom_ignore = 'dist\|node_modules\|DS_Store\|git'
au BufNewFile,BufRead *.ejs set filetype=html
let g:ycm_path_to_python_interpreter = '/usr/bin/python2'
" no swap files in the git repo
set directory=$HOME/.vim/swapfiles/
# tmux
sudo yum install tmux
tmux >> ~/.bashrc
# vim
sudo yum -y install vim
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
sudo yum -y install gcc-c++
sudo yum -y install python-devel mono-devel
sudo yum -y install cmake
cd ~/.vim/bundle/YouCompleteMe
git submodule update --init --recursive
./install.py --clang-completer --omnisharp-completer --gocode-completer --tern-completer
vim +PluginInstall +qall
# view key codes
xev
# edit mapings
sudo vi /usr/share/X11/xkb/keycodes/evdev
# //lexoyo
# //<DELE> = 119;
# <DELE> = 105;
# //<BKSP> = 22;
# //<RTSH> = 62;
# <BKSP> = 62;
# edit maping for terminal
# DOESNT WORK IN TMUX :'(
# https://superuser.com/questions/290115/how-to-change-console-keymap-in-linux
# sudo dumpkeys > backup.kmap
# sudo dumpkeys | head -1
# vim my_keys.kmap
# keymaps 0-127
#
#
# empty xkb cache
setxkbmap -layout fr
{
"font_size": 19,
"ignored_packages":
[
"Vintage"
],
"tab_size": 2,
"translate_tabs_to_spaces": true,
"ensure_newline_at_eof_on_save": true,
"trim_trailing_white_space_on_save": true,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment