Skip to content

Instantly share code, notes, and snippets.

@Samcfuchs
Created August 24, 2017 17:40
Show Gist options
  • Save Samcfuchs/5b254b984a92a2d8798b6e68da94cd4a to your computer and use it in GitHub Desktop.
Save Samcfuchs/5b254b984a92a2d8798b6e68da94cd4a to your computer and use it in GitHub Desktop.
unix configs
eval $(thefuck --alias)
alias quit=exit
ds() {
if test -t 1; then
exec 1>/dev/null
fi
if test -t 2; then
exec 2>/dev/null
fi
"$@" &
}
export EDITOR='vim'
export VISUAL='vim'
[user]
email = samcfuchs@gmail.com
name = Sam Fuchs
[push]
default = simple
[alias]
ch = checkout
br = branch
co = commit
st = status
fe = fetch
unstage = reset HEAD --
last = log -1 HEAD
graph = log --oneline --all --decorate --graph
gui = !gitkraken> /dev/null &
l = log --oneline
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
"behave mswin
" VUNDLE STUFF
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim/
call vundle#begin()
" PLUGINS
Plugin 'VundleVim/Vundle.vim' " Package Manager
Plugin 'tpope/vim-fugitive' " Git client
Plugin 'altercation/vim-colors-solarized' " Theme
Plugin 'scrooloose/nerdtree' " File tree
Plugin 'ctrlpvim/ctrlp.vim' " Quick fuzzy finder
Plugin 'kshenoy/vim-signature' " Improved marking
Plugin 'scrooloose/Syntastic' " Linter
Plugin 'mechatroner/rainbow_csv' " Easy csv reading
Plugin 'restore_view.vim' " Preserves manual folds
Plugin 'vim-airline/vim-airline' " Status line
Plugin 'vim-airline/vim-airline-themes' " Airline themes
Plugin 'tfnico/vim-gradle' " Adds gradle support
"Plugin 'Valloric/YouCompleteMe' " autocompletion
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" air-line
let g:airline_powerline_fonts = 1
if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
" Pretty
syntax enable
set background=dark
set laststatus=2
colorscheme solarized
set guifont=Consolas:h12
set number
set nowrap
nohl
" Sign Column color fix
hi SignColumn guibg=none
hi SignColumn ctermbg=none
hi SignatureMarkText ctermbg=none
" Tabs
set autoindent
set tabstop=4
set softtabstop=0
set expandtab
set shiftwidth=4
set smarttab
set autochdir
set omnifunc=syntaxcomplete#Complete
" Minimize backup clutter
set noswapfile
set dir=~/tmp
set nobackup
set nowritebackup
set noundofile
"let g:SuperTabDefaultCompletionType = 'context'
" Eclim bindings
nnoremap <silent> <buffer> <leader>i :JavaImportOrganize<cr>
nnoremap <silent> <buffer> <C-O> :JavaImportOrganize<cr>
imap <C-SPACE> <C-X><C-U>
let g:EclimCompletionMethod = 'omnifunc'
"set listchars=tab:>- eol:¬
set listchars=tab:>-,trail:·,precedes:«,extends:»,eol:¬
" Buffer switching made easy
"nnoremap <Tab> :bnext<CR>
"nnoremap <S-Tab> :bprevious<CR>
" Easy insert empty line
map <leader>o o<esc>
map <leader>O O<esc>
" Fancy doubletaps
function! ToggleMovement(firstOp, thenOp)
let pos = getpos('.')
execute "normal! " . a:firstOp
if pos == getpos('.')
execute "normal! " . a:thenOp
endif
endfunction
" The original carat 0 swap
nnoremap <silent> 0 :call ToggleMovement('^', '0')<CR>
" How about G and gg
nnoremap <silent> G :call ToggleMovement('G', 'gg')<CR>
nnoremap <silent> gg :call ToggleMovement('gg', 'G')<CR>
" Easy split switching
map <C-j> <C-W>j
map <C-k> <C-W>k
map <C-h> <C-W>h
map <C-l> <C-W>l
" Easy split moving
nnoremap <leader>= :vertical resize +5<CR>
nnoremap <leader>- :vertical resize -5<CR>
" Easy buffer management
nnoremap <leader>t :new<CR>
nnoremap <leader>h :bp<CR>
nnoremap <leader>l :bn<CR>
" Airline settings
let g:airline#extensions#tabline#enabled = 1 " Enable tabline
let g:airline#extensions#tabline#fnamemod = ':t' " Show just the filename
nnoremap <Leader>w :w<CR> " Easy saving
nnoremap <Leader>x :x<CR> " Easy saving
nnoremap <Leader>q :q<CR> " Easy saving
nnoremap <leader>n :NERDTreeToggle<CR> " close NERDTree
" Fix mouse being annoying
set mouse=
" Autoclose scratch windows
let g:ycm_autoclose_preview_window_after_insertion = 1
let g:ycm_autoclose_preview_window_after_completion = 1
" Bindings
" Make y behave consistently
map Y y$
" Make it easy to escape insert mode
imap jj <esc>
let g:ctrlp_map = '<c-p>' " ctrlp binding
" Leader
let mapleader = "\\"
map <SPACE> <leader>
adapta-gtk-theme
adduser
apt
apt-transport-https
apt-utils
autoconf
base-files
base-passwd
bash
bleachbit
bsdutils
build-essential
busybox-initramfs
bzip2
cloc
cmake
code
compizconfig-settings-manager
console-setup
console-setup-linux
coreutils
cpio
cron
dash
debconf
debconf-i18n
debianutils
dh-python
diffutils
discord
distro-info-data
dpkg
e2fslibs
e2fsprogs
efibootmgr
eject
file
findutils
firefox-locale-en
flatabulous-theme
fwupdate
fwupdate-signed
g++
gcc-5-base
gcc-6-base
gfortran
gimp
git
gitkraken
gnome-terminal
gnome-tweak-tool
gnupg
golang
google-chrome-stable
gparted
gpgv
grep
grub-common
grub-efi-amd64-signed
grub2-common
gyazo
gzip
hostname
htop
hyphen-en-us
i3
i3lock
i3status
ifupdown
init
init-system-helpers
initramfs-tools
initramfs-tools-bin
initramfs-tools-core
initscripts
insserv
intel-microcode
iproute2
iputils-ping
isc-dhcp-client
isc-dhcp-common
kbd
keyboard-configuration
klibc-utils
kmod
kodi
language-pack-en
language-pack-en-base
language-pack-gnome-en
language-pack-gnome-en-base
less
libacl1
libapparmor1
libapt-inst2.0
libapt-pkg5.0
libatlas-base-dev
libatm1
libattr1
libaudit-common
libaudit1
libavcodec-dev
libavformat-dev
libblkid1
libbsd0
libbz2-1.0
libc-bin
libc6
libcap2
libcap2-bin
libcomerr2
libcryptsetup4
libdb5.3
libdebconfclient0
libdevmapper1.02.1
libdns-export162
libefivar0
libestr0
libev-dev
libexpat1
libfdisk1
libffi6
libfribidi0
libfwup0
libgcc1
libgcrypt20
libgmp10
libgnutls-openssl27
libgnutls30
libgpg-error0
libgtk-3-dev
libgtk2.0-dev
libhogweed4
libidn11
libisc-export160
libjasper-dev
libjpeg8-dev
libjson-c2
libklibc
libkmod2
liblocale-gettext-perl
liblz4-1
liblzma5
liblzo2-2
libmagic1
libmnl0
libmount1
libmpdec2
libncurses5
libncursesw5
libnettle6
libnewt0.52
libnih1
libp11-kit0
libpam-modules
libpam-modules-bin
libpam-runtime
libpam0g
libpango1.0-dev
libpcre3
libpng12-0
libpng12-dev
libpopt0
libprocps4
libpython3-stdlib
libpython3.5-minimal
libpython3.5-stdlib
libqt4-sql-sqlite
libreadline6
libreoffice-help-en-us
libseccomp2
libselinux1
libsemanage-common
libsemanage1
libsepol1
libslang2
libsmartcols1
libsqlite3-0
libss2
libssl1.0.0
libstartup-notification0-dev
libstdc++6
libswscale-dev
libsystemd0
libtasn1-6
libtext-charwidth-perl
libtext-iconv-perl
libtext-wrapi18n-perl
libtiff5-dev
libtinfo5
libtool
libudev1
libusb-0.1-4
libusb-1.0-0-dev
libustr-1.0-1
libuuid1
libv4l-dev
libx264-dev
libxcb-cursor-dev
libxcb-icccm4-dev
libxcb-keysyms1-dev
libxcb-randr0-dev
libxcb-util0-dev
libxcb-xinerama0-dev
libxcb-xkb-dev
libxcb1-dev
libxkbcommon-dev
libxkbcommon-x11-dev
libxtables11
libxvidcore-dev
libxxf86vm1
libyajl-dev
linux-base
linux-generic
linux-signed-generic
locales
login
logrotate
lsb-base
lsb-release
makedev
mawk
mime-support
mokutil
mount
multiarch-support
mythes-en-us
ncurses-base
ncurses-bin
neofetch
net-tools
netbase
netcat-openbsd
notify-osd
numix-icon-theme-circle
openoffice.org-hyphenation
oracle-java8-installer
os-prober
paper-cursor-theme
paper-gtk-theme
paper-icon-theme
passwd
perl-base
pkg-config
procps
pulseaudio-module-bluetooth
python
python-appindicator
python-dev
python-gconf
python-glade2
python-gtk2
python-pexpect
python-xdg
python2.7-dev
python3
python3-dev
python3-minimal
python3-pip
python3.5
python3.5-dev
python3.5-minimal
qt4-default
qt4-dev-tools
qt4-qmake
readline-common
resolvconf
rsyslog
ruby-full
sbsigntool
scala
secureboot-db
sed
sensible-utils
shim-signed
spotify-client
suckless-tools
sudo
systemd
systemd-sysv
sysv-rc
sysvinit-utils
tar
thunderbird-locale-en
thunderbird-locale-en-us
tree
ttf-ancient-fonts
tzdata
ubuntu-desktop
ubuntu-keyring
ubuntu-minimal
ubuntu-restricted-addons
ubuntu-standard
ucf
udev
unity
unity-settings-daemon
unity-tweak-tool
ureadahead
util-linux
vim
vim-common
vim-tiny
wamerican
wbritish
whiptail
xcb
xkb-data
xsel
xutils-dev
zlib1g
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment