From 7bb9151d5070024c34e7a98cdece648e3ccd332a Mon Sep 17 00:00:00 2001 From: oreodave Date: Fri, 12 Jul 2019 23:06:51 +0100 Subject: Added dotfiles for spacemacs, tmux, vim and zsh --- spacemacs | 517 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ tmux | 16 ++ vimrc | 134 ++++++++++++++++ zshenv | 54 +++++++ 4 files changed, 721 insertions(+) create mode 100644 spacemacs create mode 100644 tmux create mode 100755 vimrc create mode 100644 zshenv diff --git a/spacemacs b/spacemacs new file mode 100644 index 0000000..6efa5d6 --- /dev/null +++ b/spacemacs @@ -0,0 +1,517 @@ +;; -*- mode: emacs-lisp -*- +;; This file is loaded by Spacemacs at startup. +;; It must be stored in your home directory. + +(defun dotspacemacs/layers () + "Configuration Layers declaration. +You should not put any user code in this function besides modifying the variable +values." + (setq-default + ;; Base distribution to use. This is a layer contained in the directory + ;; `+distribution'. For now available distributions are `spacemacs-base' + ;; or `spacemacs'. (default 'spacemacs) dotspacemacs-distribution 'spacemacs + ;; Lazy installation of layers (i.e. layers are installed only when a file + ;; with a supported type is opened). Possible values are `all', `unused' + ;; and `nil'. `unused' will lazy install only unused layers (i.e. layers + ;; not listed in variable `dotspacemacs-configuration-layers'), `all' will + ;; lazy install any layer that support lazy installation even the layers + ;; listed in `dotspacemacs-configuration-layers'. `nil' disable the lazy + ;; installation feature and you have to explicitly list a layer in the + ;; variable `dotspacemacs-configuration-layers' to install it. + ;; (default 'unused) dotspacemacs-enable-lazy-installation 'unused + ;; If non-nil then Spacemacs will ask for confirmation before installing + ;; a layer lazily. (default t) + dotspacemacs-ask-for-lazy-installation + t + ;; If non-nil layers with lazy install support are lazy installed. + ;; List of additional paths where to look for configuration layers. + ;; Paths must have a trailing slash (i.e. `~/.mycontribs/') + dotspacemacs-configuration-layer-path + '() + ;; List of configuration layers to load. + dotspacemacs-configuration-layers + '( + ; General + git helm + (auto-completion :variables auto-completion-enable-snippets-in-popup + t) + version-control + themes-megapack + games + emoji + syntax-checking + better-defaults + dash + ranger + semantic + (spell-checking :variables spell-checking-enable-by-default + nil) + (shell) + search-engine + ; Languages + emacs-lisp + (python :variables python-shell-interpreter + "/usr/bin/python3") + (c-c++ :variables c-c++-enable-clang-support + t c-c++-default-mode-for-headers 'c++-mode) + (csharp :variables omnisharp-server-executable-path + "/home/oreodave/bin/omnisharp/run") + fsharp + javascript + (typescript :variables typescript-indent-level + 2) + html + (org :hooks 'auto-completion'org-indent-mode + :variables org-startup-truncated + t) + spacemacs-org + markdown) + ;; List of additional packages that will be installed without being + ;; wrapped in a layer. If you need some configuration for these + ;; packages, then consider creating a layer. You can also put the + ;; configuration in `dotspacemacs/user-config'. + dotspacemacs-additional-packages + '(yasnippet-snippets (elcord :location (recipe :fetcher github + :repo "Mstrodl/elcord")) + wakatime-mode) + ;; A list of packages that cannot be updated. + dotspacemacs-frozen-packages + '() + ;; A list of packages that will not be installed and loaded. + dotspacemacs-excluded-packages + '(google-c-style) + ;; Defines the behaviour of Spacemacs when installing packages. + ;; Possible values are `used-only', `used-but-keep-unused' and `all'. + ;; `used-only' installs only explicitly used packages and uninstall any + ;; unused packages as well as their unused dependencies. + ;; `used-but-keep-unused' installs only the used packages but won't uninstall + ;; them if they become unused. `all' installs *all* packages supported by + ;; Spacemacs and never uninstall them. (default is `used-only') + dotspacemacs-install-packages + 'used-only)) + +(defun dotspacemacs/init () + "Initialization function. +This function is called at the very startup of Spacemacs initialization +before layers configuration. +You should not put any user code in there besides modifying the variable +values." + ;; This setq-default sexp is an exhaustive list of all the supported + ;; spacemacs settings. + (setq-default + ;; If non nil ELPA repositories are contacted via HTTPS whenever it's + ;; possible. Set it to nil if you have no way to use HTTPS in your + ;; environment, otherwise it is strongly recommended to let it set to t. + ;; This variable has no effect if Emacs is launched with the parameter + ;; `--insecure' which forces the value of this variable to nil. + ;; (default t) dotspacemacs-elpa-https t + ;; Maximum allowed time in seconds to contact an ELPA repository. dotspacemacs-elpa-timeout 5 + ;; If non nil then spacemacs will check for updates at startup + ;; when the current branch is not `develop'. Note that checking for + ;; new versions works via git commands, thus it calls GitHub services + ;; whenever you start Emacs. (default nil) + dotspacemacs-check-for-update + nil + ;; If non-nil, a form that evaluates to a package directory. For example, to + ;; use different package directories for different Emacs versions, set this + ;; to `emacs-version'. + dotspacemacs-elpa-subdirectory + nil + ;; One of `vim', `emacs' or `hybrid'. + ;; `hybrid' is like `vim' except that `insert state' is replaced by the + ;; `hybrid state' with `emacs' key bindings. The value can also be a list + ;; with `:variables' keyword (similar to layers). Check the editing styles + ;; section of the documentation for details on available variables. + ;; (default 'vim) + dotspacemacs-editing-style + 'vim + ;; If non nil output loading progress in `*Messages*' buffer. (default nil) + dotspacemacs-verbose-loading + nil + ;; Specify the startup banner. Default value is `official', it displays + ;; the official spacemacs logo. An integer value is the index of text + ;; banner, `random' chooses a random text banner in `core/banners' + ;; directory. A string value must be a path to an image format supported + ;; by your Emacs build. + ;; If the value is nil then no banner is displayed. (default 'official) + dotspacemacs-startup-banner + 'official + ;; List of items to show in startup buffer or an association list of + ;; the form `(list-type . list-size)`. If nil then it is disabled. + ;; Possible values for list-type are: + ;; `recents' `bookmarks' `projects' `agenda' `todos'." + ;; List sizes may be nil, in which case + ;; `spacemacs-buffer-startup-lists-length' takes effect. + dotspacemacs-startup-lists + '((recents . 5) + (projects . 7)) + ;; True if the home buffer should respond to resize events. + dotspacemacs-startup-buffer-responsive + t + ;; Default major mode of the scratch buffer (default `text-mode') + dotspacemacs-scratch-mode + 'text-mode + ;; List of themes, the first of the list is loaded when spacemacs starts. + ;; Press T n to cycle to the next theme in the list (works great + ;; with 2 themes variants, one dark and one light) + dotspacemacs-themes + '(monokai spacemacs-dark) + ;; If non nil the cursor color matches the state color in GUI Emacs. + dotspacemacs-colorize-cursor-according-to-state + t + ;; Default font, or prioritized list of fonts. `powerline-scale' allows to + ;; quickly tweak the mode-line size to make separators look not too crappy. + dotspacemacs-default-font + '("Hack" :size 13 + :weight normal + :width normal + :powerline-scale 1.1) + ;; The leader key + dotspacemacs-leader-key + "SPC" + ;; The key used for Emacs commands (M-x) (after pressing on the leader key). + ;; (default "SPC") + dotspacemacs-emacs-command-key + "SPC" + ;; The key used for Vim Ex commands (default ":") + dotspacemacs-ex-command-key + ":" + ;; The leader key accessible in `emacs state' and `insert state' + ;; (default "M-m") + dotspacemacs-emacs-leader-key + "M-m" + ;; Major mode leader key is a shortcut key which is the equivalent of + ;; pressing ` m`. Set it to `nil` to disable it. (default ",") + dotspacemacs-major-mode-leader-key + "," + ;; Major mode leader key accessible in `emacs state' and `insert state'. + ;; (default "C-M-m") + dotspacemacs-major-mode-emacs-leader-key + "C-M-m" + ;; These variables control whether separate commands are bound in the GUI to + ;; the key pairs C-i, TAB and C-m, RET. + ;; Setting it to a non-nil value, allows for separate commands under + ;; and TAB or and RET. + ;; In the terminal, these pairs are generally indistinguishable, so this only + ;; works in the GUI. (default nil) + dotspacemacs-distinguish-gui-tab + nil + ;; If non nil `Y' is remapped to `y$' in Evil states. (default nil) + dotspacemacs-remap-Y-to-y$ + nil + ;; If non-nil, the shift mappings `<' and `>' retain visual state if used + ;; there. (default t) + dotspacemacs-retain-visual-state-on-shift + t + ;; If non-nil, J and K move lines up and down when in visual mode. + ;; (default nil) + dotspacemacs-visual-line-move-text + nil + ;; If non nil, inverse the meaning of `g' in `:substitute' Evil ex-command. + ;; (default nil) + dotspacemacs-ex-substitute-global + nil + ;; Name of the default layout (default "Default") + dotspacemacs-default-layout-name + "Default" + ;; If non nil the default layout name is displayed in the mode-line. + ;; (default nil) + dotspacemacs-display-default-layout + nil + ;; If non nil then the last auto saved layouts are resume automatically upon + ;; start. (default nil) + dotspacemacs-auto-resume-layouts + nil + ;; Size (in MB) above which spacemacs will prompt to open the large file + ;; literally to avoid performance issues. Opening a file literally means that + ;; no major mode or minor modes are active. (default is 1) + dotspacemacs-large-file-size + 1 + ;; Location where to auto-save files. Possible values are `original' to + ;; auto-save the file in-place, `cache' to auto-save the file to another + ;; file stored in the cache directory and `nil' to disable auto-saving. + ;; (default 'cache) + dotspacemacs-auto-save-file-location + 'cache + ;; Maximum number of rollback slots to keep in the cache. (default 5) + dotspacemacs-max-rollback-slots + 5 + ;; If non nil, `helm' will try to minimize the space it uses. (default nil) + dotspacemacs-helm-resize + nil + ;; if non nil, the helm header is hidden when there is only one source. + ;; (default nil) + dotspacemacs-helm-no-header + nil + ;; define the position to display `helm', options are `bottom', `top', + ;; `left', or `right'. (default 'bottom) + dotspacemacs-helm-position + 'bottom + ;; Controls fuzzy matching in helm. If set to `always', force fuzzy matching + ;; in all non-asynchronous sources. If set to `source', preserve individual + ;; source settings. Else, disable fuzzy matching in all sources. + ;; (default 'always) + dotspacemacs-helm-use-fuzzy + 'always + ;; If non nil the paste micro-state is enabled. When enabled pressing `p` + ;; several times cycle between the kill ring content. (default nil) + dotspacemacs-enable-paste-transient-state + nil + ;; Which-key delay in seconds. The which-key buffer is the popup listing + ;; the commands bound to the current keystroke sequence. (default 0.4) + dotspacemacs-which-key-delay + 0.4 + ;; Which-key frame position. Possible values are `right', `bottom' and + ;; `right-then-bottom'. right-then-bottom tries to display the frame to the + ;; right; if there is insufficient space it displays it at the bottom. + ;; (default 'bottom) + dotspacemacs-which-key-position + 'bottom + ;; If non nil a progress bar is displayed when spacemacs is loading. This + ;; may increase the boot time on some systems and emacs builds, set it to + ;; nil to boost the loading time. (default t) + dotspacemacs-loading-progress-bar + t + ;; If non nil the frame is fullscreen when Emacs starts up. (default nil) + ;; (Emacs 24.4+ only) + dotspacemacs-fullscreen-at-startup + nil + ;; If non nil `spacemacs/toggle-fullscreen' will not use native fullscreen. + ;; Use to disable fullscreen animations in OSX. (default nil) + dotspacemacs-fullscreen-use-non-native + nil + ;; If non nil the frame is maximized when Emacs starts up. + ;; Takes effect only if `dotspacemacs-fullscreen-at-startup' is nil. + ;; (default nil) (Emacs 24.4+ only) + dotspacemacs-maximized-at-startup + nil + ;; A value from the range (0..100), in increasing opacity, which describes + ;; the transparency level of a frame when it's active or selected. + ;; Transparency can be toggled through `toggle-transparency'. (default 90) + dotspacemacs-active-transparency + 90 + ;; A value from the range (0..100), in increasing opacity, which describes + ;; the transparency level of a frame when it's inactive or deselected. + ;; Transparency can be toggled through `toggle-transparency'. (default 90) + dotspacemacs-inactive-transparency + 90 + ;; If non nil show the titles of transient states. (default t) + dotspacemacs-show-transient-state-title + t + ;; If non nil show the color guide hint for transient state keys. (default t) + dotspacemacs-show-transient-state-color-guide + t + ;; If non nil unicode symbols are displayed in the mode line. (default t) + dotspacemacs-mode-line-unicode-symbols + t + ;; If non nil smooth scrolling (native-scrolling) is enabled. Smooth + ;; scrolling overrides the default behavior of Emacs which recenters point + ;; when it reaches the top or bottom of the screen. (default t) + dotspacemacs-smooth-scrolling + t + ;; Control line numbers activation. + ;; If set to `t' or `relative' line numbers are turned on in all `prog-mode' and + ;; `text-mode' derivatives. If set to `relative', line numbers are relative. + ;; This variable can also be set to a property list for finer control: + ;; '(:relative nil + ;; :disabled-for-modes dired-mode + ;; doc-view-mode + ;; markdown-mode + ;; org-mode + ;; pdf-view-mode + ;; text-mode + ;; :size-limit-kb 1000) + ;; (default nil) + dotspacemacs-line-numbers + t + ;; Code folding method. Possible values are `evil' and `origami'. + ;; (default 'evil) + dotspacemacs-folding-method + 'evil + ;; If non-nil smartparens-strict-mode will be enabled in programming modes. + ;; (default nil) + dotspacemacs-smartparens-strict-mode + nil + ;; If non-nil pressing the closing parenthesis `)' key in insert mode passes + ;; over any automatically added closing parenthesis, bracket, quote, etc… + ;; This can be temporary disabled by pressing `C-q' before `)'. (default nil) + dotspacemacs-smart-closing-parenthesis + nil + ;; Select a scope to highlight delimiters. Possible values are `any', + ;; `current', `all' or `nil'. Default is `all' (highlight any scope and + ;; emphasis the current one). (default 'all) + dotspacemacs-highlight-delimiters + 'all + ;; If non nil, advise quit functions to keep server open when quitting. + ;; (default nil) + dotspacemacs-persistent-server + nil + ;; List of search tool executable names. Spacemacs uses the first installed + ;; tool of the list. Supported tools are `ag', `pt', `ack' and `grep'. + ;; (default '("ag" "pt" "ack" "grep")) + dotspacemacs-search-tools + '("ag" "pt" "ack" "grep") + ;; The default package repository used if no explicit repository has been + ;; specified with an installed package. + ;; Not used for now. (default nil) + dotspacemacs-default-package-repository + nil + ;; Delete whitespace while saving buffer. Possible values are `all' + ;; to aggressively delete empty line and long sequences of whitespace, + ;; `trailing' to delete only the whitespace at end of lines, `changed'to + ;; delete only whitespace for changed lines or `nil' to disable cleanup. + ;; (default nil) + dotspacemacs-whitespace-cleanup + nil)) + +(defun dotspacemacs/user-init () + "Initialization function for user code. +It is called immediately after `dotspacemacs/init', before layer configuration +executes. + This function is mostly useful for variables that need to be set +before packages are loaded. If you are unsure, you should try in setting them in +`dotspacemacs/user-config' first." + (setq initial-frame-alist '((top . 30) + (left . 700) + (width . 212) + (height . 81)))) + +(defun dotspacemacs/user-config () + "Configuration function for user code. +This function is called at the very end of Spacemacs initialization after +layers configuration. +This is the place where most of your configurations should be done. Unless it is +explicitly specified that a variable should be set before a package is loaded, +you should place your code here." + (global-flycheck-mode) + (global-wakatime-mode) + (defun elcord-init () + "Init for elcord cos spacemacs has a hissy fit" + '(elcord-display-buffer-details t) + '(elcord-mode t + nil + (elcord)) + '(elcord-use-major-mode-as-main-icon t))) + +;; Do not write anything past this comment. This is where Emacs will +;; auto-generate custom variable definitions. +(custom-set-variables + ;; custom-set-variables was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(ansi-color-faces-vector [default default default italic underline + success warning error]) + '(elcord-display-buffer-details t) + '(elcord-mode t + nil + (elcord)) + '(elcord-use-major-mode-as-main-icon t) + '(c-basic-offset 2) + '(c-default-style (quote ((c-mode . "k&r") + (c++-mode . "k&r") + (java-mode . "java") + (awk-mode . "awk") + (other . "k&r")))) + '(evil-want-Y-yank-to-eol nil) + '(flycheck-python-pycompile-executable "\"python3\"") + '(menu-bar-mode nil) + '(org-agenda-files (quote ("~/Text/calendar.org"))) + '(org-startup-truncated t) + '(package-selected-packages (quote (elcord fsharp-mode company-quickhelp zeal-at-point + helm-dash dash-docs stickyfunc-enhance srefactor + ranger monokai-pro-theme-theme monokai-pro-theme + wakatime-mode xterm-color shell-pop multi-term + eshell-z eshell-prompt-extras esh-help mu4e-maildirs-extension + mu4e-alert ht flyspell-correct-helm flyspell-correct + auto-dictionary yasnippet-snippets unfill + mwim mmm-mode markdown-toc markdown-mode gh-md + typit mmt sudoku pacmacs 2048 -game emoji-cheat-sheet-plus + company-emoji zenburn-theme zen-and-art-theme + white-sand-theme underwater-theme ujelly-theme + twilight-theme twilight-bright-theme twilight-anti-bright-theme + toxi-theme tao-theme tangotango-theme tango-plus-theme + tango-2-theme sunny-day-theme sublime-themes + subatomic256-theme subatomic-theme spacegray-theme + soothe-theme solarized-theme soft-stone-theme + soft-morning-theme soft-charcoal-theme smyx-theme + seti-theme reverse-theme rebecca-theme railscasts-theme + purple-haze-theme professional-theme planet-theme + phoenix-dark-pink-theme phoenix-dark-mono-theme + organic-green-theme omtose-phellack-theme + oldlace-theme occidental-theme obsidian-theme + noctilux-theme naquadah-theme mustang-theme + monokai-theme monochrome-theme molokai-theme + moe-theme minimal-theme material-theme majapahit-theme + madhat2r-theme lush-theme light-soap-theme + jbeans-theme jazz-theme ir-black-theme inkpot-theme + heroku-theme hemisu-theme hc-zenburn-theme + gruvbox-theme gruber-darker-theme grandshell-theme + gotham-theme gandalf-theme flatui-theme flatland-theme + farmhouse-theme exotica-theme espresso-theme + dracula-theme django-theme darktooth-theme + autothemer darkokai-theme darkmine-theme darkburn-theme + dakrone-theme cyberpunk-theme color-theme-sanityinc-tomorrow + color-theme-sanityinc-solarized clues-theme + cherry-blossom-theme busybee-theme bubbleberry-theme + birds-of-paradise-plus-theme badwolf-theme + apropospriate-theme anti-zenburn-theme ample-zen-theme + ample-theme alect-themes afternoon-theme flycheck-pos-tip + pos-tip smeargle orgit magit-gitflow magit-popup + helm-gitignore gitignore-mode gitconfig-mode + gitattributes-mode git-timemachine git-messenger + git-link evil-magit magit transient org-projectile + org-category-capture org-present org-pomodoro + alert log4e gntp org-mime org-download htmlize + gnuplot yapfify pyvenv pytest pyenv-mode py-isort + pip-requirements live-py-mode hy-mode helm-pydoc + cython-mode company-anaconda anaconda-mode + pythonic web-mode web-beautify tagedit slim-mode + scss-mode sass-mode pug-mode omnisharp livid-mode + skewer-mode simple-httpd less-css-mode json-mode + json-snatcher json-reformat js2-refactor multiple-cursors + js2-mode js-doc helm-css-scss haml-mode emmet-mode + disaster csharp-mode company-web web-completion-data + company-tern dash-functional tern company-c-headers + coffee-mode cmake-mode clang-format helm-company + helm-c-yasnippet git-gutter-fringe+ git-gutter-fringe + fringe-helper git-gutter+ git-commit with-editor + git-gutter fuzzy diff-hl company-statistics + company auto-yasnippet yasnippet ac-ispell + auto-complete tide typescript-mode flycheck + ws-butler winum which-key volatile-highlights + vi-tilde-fringe uuidgen use-package toc-org + spaceline powerline restart-emacs request + rainbow-delimiters popwin persp-mode pcre2el + paradox spinner org-plus-contrib org-bullets + open-junk-file neotree move-text macrostep + lorem-ipsum linum-relative link-hint indent-guide + hydra lv hungry-delete hl-todo highlight-parentheses + highlight-numbers parent-mode highlight-indentation + helm-themes helm-swoop helm-projectile projectile + pkg-info epl helm-mode-manager helm-make helm-flx + helm-descbinds helm-ag google-translate golden-ratio + flx-ido flx fill-column-indicator fancy-battery + eyebrowse expand-region exec-path-from-shell + evil-visualstar evil-visual-mark-mode evil-unimpaired + evil-tutor evil-surround evil-search-highlight-persist + highlight evil-numbers evil-nerd-commenter + evil-mc evil-matchit evil-lisp-state smartparens + evil-indent-plus evil-iedit-state iedit evil-exchange + evil-escape evil-ediff evil-args evil-anzu + anzu evil goto-chg undo-tree eval-sexp-fu + elisp-slime-nav dumb-jump f dash s diminish + define-word column-enforce-mode clean-aindent-mode + bind-map bind-key auto-highlight-symbol auto-compile + packed aggressive-indent adaptive-wrap ace-window + ace-link ace-jump-helm-line helm avy helm-core + popup async))) + '(python-shell-exec-path (quote ("python3"))) + '(python-shell-interpreter "python3" t) + '(standard-indent 2)) +(custom-set-faces + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(default ((t (:background "#141414" :foreground "#f8f8f8"))))) diff --git a/tmux b/tmux new file mode 100644 index 0000000..8106833 --- /dev/null +++ b/tmux @@ -0,0 +1,16 @@ +set -g base-index 1 +set-option -g prefix C-a +set -g @themepack 'powerline/block/blue' + + +# List of plugins +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-sensible' +set -g @plugin 'jimeh/tmux-themepack' +set -g @plugin 'tmux-plugins/tmux-resurrect' +set -g @plugin 'tmux-plugins/tmux-battery' +set -g @plugin 'tmux-plugins/tmux-online-status' +set -g @plugin 'tmux-plugins/tmux-sidebar' + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +run -b '~/.tmux/plugins/tpm/tpm' diff --git a/vimrc b/vimrc new file mode 100755 index 0000000..2c8d885 --- /dev/null +++ b/vimrc @@ -0,0 +1,134 @@ +filetype off + +" Plugins +set rtp+=~/.vim/bundle/Vundle.vim +set rtp+=~/.fzf + +call vundle#begin() + " Core +Plugin 'gmarik/Vundle.vim' +Plugin 'wakatime/vim-wakatime' +Plugin 'junegunn/fzf.vim' +Plugin 'ctrlpvim/ctrlp.vim' +Plugin 'tpope/vim-dispatch' +Plugin 'Valloric/YouCompleteMe' +Plugin 'SirVer/ultisnips' +Plugin 'honza/vim-snippets' +Plugin 'w0rp/ale' + + " UI +Plugin 'scrooloose/nerdtree' +Plugin 'vim-airline/vim-airline' +Plugin 'powerline/powerline' +Plugin 'mhinz/vim-startify' +Plugin 'morhetz/gruvbox' + + " Languages +Plugin 'plasticboy/vim-markdown' +Plugin 'jceb/vim-orgmode' +Plugin 'OmniSharp/omnisharp-vim' + + " Plugins +Plugin 'godlygeek/tabular' +Plugin 'tpope/vim-commentary' +Plugin 'tpope/vim-fugitive' +Plugin 'tpope/vim-surround' +Plugin 'ervandew/supertab' +Plugin 'tpope/vim-speeddating' + + " Other +Plugin 'rhysd/vim-clang-format' +Plugin 'python-rope/ropevim' +call vundle#end() + + +" Standard variables +syntax enable +filetype plugin indent on +set nocompatible +set ignorecase +set smartcase +set clipboard=unnamed +set number +set nobackup +set noundofile +set nowritebackup +set nohlsearch +set tabstop=4 +set softtabstop=4 +set expandtab +set shiftwidth=4 +set foldmethod=syntax +set foldlevel=99 +let mapleader = ' ' + + +" Theming +let g:airline_theme = 'vorange' +colorscheme gruvbox + + +" Dir Config +let g:NERDTreeHijackNetrw = 1 + + +" Language Config +let g:OmniSharp_server_stdio = 1 +let g:OmniSharp_selector_ui = 'fzf' + + +" Tool Config +let g:ycm_key_list_select_completion = ['', ''] +let g:ycm_key_list_previous_completion = ['', ''] +let g:SuperTabDefaultCompletionType = '' + +let g:UltiSnipsExpandTrigger = '' +let g:UltiSnipsJumpForwardTrigger = '' +let g:UltiSnipsJumpBackwardTrigger = '' + + +" Keybinds + " General keybind +map fed :e ~/.vimrc +map fep :e ~/.vim/ftplugin +map fer :so ~/.vimrc:PluginInstall + + " File Management +map fr :e! +map fs :w +map fq :wq +map fn :enew +map :set hlsearch! hlsearch? + + " Buffer Management +map bb :Buffers +map bn :bn +map bp :bp +map bd :bd + + " Window Management +map ww :Windows + " Splits +map wv v +map wh s +map wd q + " Resizes +map w :resize -5 +map w :resize +5 +map w 5> +map w 5< + " Movement +map wj +map wk +map wl +map wh + + " Searches +map ss :BLines +map sf :Lines +map ff :Files + + " Nerd Tree Config +map tt :NERDTreeToggle +map tf :NERDTreeFocus + diff --git a/zshenv b/zshenv new file mode 100644 index 0000000..dc59d2f --- /dev/null +++ b/zshenv @@ -0,0 +1,54 @@ +# Important variables +export PATH=~/Scripts:~/bin/gradle/gradle-5.3.1/bin:~/bin/Sass/:$PATH +export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true +export DOTNET_CLI_TELEMTRY_OPTOUT=1 +alias yapf='python3 -m yapf' +alias clip="xclip -sel clip" +alias paste="xclip -o" +export force_color_prompt=yes + +# Memes + +😂() { + web https://youtu.be/dQw4w9WgXcQ +} + +🎼() { + web 'https://music.youtube.com/playlist?list=PLGiMeh8b7cMRKTUEaLo1GkYIHtEhof2wF' +} + +🚂() { + while true + do + sl + done +} + +# Programming + +SPC() { + emacs $1 & disown > /dev/null; +} + +gentemplate() { + case $1 in + 'c') git clone https://github.com/Oreodave/CTemplate $2;; + 'cpp') git clone https://github.com/Oreodave/CPPTemplate $2;; + 'python') git clone https://github.com/Oreodave/PythonTemplate $2;; + 'node') git clone https://github.com/Oreodave/NodeTemplate $2;; + *) return;; + esac +} + +# Web Querying +search () { + search_query=${1// /_} + web "duckduckgo.com/$search_query" +} + +web () { + firefox $1 > /dev/null & disown +} + +# OPAM configuration +. /home/oreodave/.opam/opam-init/init.zsh > /dev/null 2> /dev/null || true -- cgit v1.2.3-13-gbd6f