Git Product home page Git Product logo

dotfiles's Introduction

Dotfiles

JarrodCTaylor

In my opinion which I respect very much what you have stumbled across right here are the best dotfiles money can buy, and they're priced to move. This venerable treasure trove of developer tools is worthy of your time and attention. So if you love the command line, and I know you do, then grab a copy and get coding.

Installation

git clone https://github.com/mattjmorrison/dotfiles.git ~/dotfiles
cd ~/dotfiles/install-scripts
bash OSX/setup.sh
# or
bash Linux/install-packages.sh
bash Linux/create-symlinks.sh

Customization

There is no need to fork this repository in order to customize it. Everything can be customized by leveraging the custom-configs directory. You are encouraged to maintain a separate github repository of configurations for your own dotfiles.

Contents

Zsh

When you first open the terminal you will notice the custom prompt. The prompt takes up the full width of the terminal and is two or three lines depending on if you are currently in a directory that is a git repo. The image below details the core components of the prompt.

zsh-prompt

Customizing Zsh

customizing-zsh

Tmux

A must have for pair programming sessions. The most notable features are the themed status line pictured below and the non-stock leader key <C-Space>

tmux-status

Vim

The vim configuration is the life blood of the dotfiles. Although it is heavily customized you can interactively explore the key mappings to quickly find out what it has to offer. Open any buffer buffer and type |<Space> in normal mode. This will open a unite menu that lists all of the shortcuts with a description and the key mapping that triggers it. You can scroll through the list with <C-J> <C-k> or filter the options by typing as seen below.

key-map-search

Customizing Vim

Misc Customization

You can use your own configuration file in place of any of the following

  • gitconfig
  • psqlrc
  • tigrc
  • tmux.conf

To do so you just need to include a file of the same name in your version controlled directory that you save into custom-configs the create symlinks scripts will link the files properly.

dotfiles's People

Contributors

blyddon22 avatar countingtoten avatar dustinfarris avatar khornberg avatar mattjmorrison avatar taddeimania avatar tayhobbs avatar toranb avatar williamsbdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dotfiles's Issues

Add Documentation

document dotfiles-add function
document dotfiles-update function
document API for custom-configs

When setting up a new machine...

https://stackoverflow.com/a/11357708

download the zip/tarball propose by GitHub
git clone --bare the GitHub repo (so no checkout: it may be easier with your shaky connection)
move the xxx.git directory (renaming it '.git') created by the clone into the uncompressed repo content from step 1.
remove the bare attribute in the .git moved directory: git config --bool core.bare false

If a clone --bare doesn't work, then this approach would not be useful.
And a restartable clone (which was considered in 2009, even formalized as a SoC) isn't yet a reality.

On upgrade from OS X 10.10 to 10.11

c compiling was messed up on my machine. I found an issue on pyenv that said to run xcode-select --install which installed something and then compling worked again.

This fixed an initial issue with vimproc not being able to be built and then had cascading effects.

Adding new keys to unite menu

Hey Jarrod,

Some plugins already come with default keybindings, is there a way to add then to the | menu without configuring the plugin-configs/*.vim file by hand?

Best,
-eder

Feature Request: Display Server Info next to directory name

Not sure if this is the place, but it would be great feature to have a the name of the server that you're on displayed next to the directory name - would be useful in cases where you log into multiple machines (via ssh) or use different computers as part of your normal workflow.

Make normal_q works better with tagbar or vimfiler?

you use q in normal mordel to auto close windows,but tagbar and vimfiler will be auto close if there is only one windows.so I think if there is only two windows file buffer and vimfiler buffer,the normal q should be disabled.

Vim - Arrow Key Behavior

What are your thoughts on this....

I was looking at some tabular data in Vim today (MySQL output from the Vim executor plugin)... I had two rows highlighted and... actually.... check out the screenshot...

image

I've got the vim pane on the right which is in the way of me being able to see the last column of my output - so I wanted to use the arrow keys to decrease the size of the right pane so that I could see all of the data in the left pane. What I discovered was that the arrow keys are not mapped in visual mode... so my question is.... how do you feel about mapping the arrow keys to be the same in visual as in normal mode?

P.S. I think the whole "picture is worth 1000 words" deal... if there was any doubt about the truth in that statement it was just proven here... that would have sucked to paint a word picture to explain.

Adding `tex` snippets

Jarrod,

I tried to add tex/latex snippets to UltiSnips creating a tex.snippets file with no success. Do you have any suggestions or guidances on how to do that?

Best,
-eder

WTF Jedi?

Any thoughts on why this would happen?

image

All that Jedi crap pops in after pressing the , after the "projects.json" and has to be manually deleted

Game Change Time

I had a thought and I wanted to run it by you...

What would you think about creating a github organization with some adorable startup sounding name (like kudly or sporf) and putting the dotfiles in that organization - then ripping all of the python specific stuff out of the dotfiles and putting it in a different repo under that same organization that can be pulled into the custom-configs directory, and rip out all of the javascript stuff and rip out all of the... whatever, elm?

I have some other thoughts too... but they're a big more... grandiose... but here they are anyway... currently, the setup process (on a mac) for a new machine is something like

  1. install homebrew
  2. install git
  3. clone the dotfiles into the home directory
  4. run the install script
  5. run the symlink script

What if it could be something like:

  1. install homebrew
  2. brew install sporf
  3. sporf setup zsh python javascript haskell

That would pull down the core dotfiles, setup the symlinks, grab all of the custom-config repos needed for the additional stuff specified and set those up as well.

See, grandiose.

SunPy broke vim

I installed SunPy on my mac (OSX El Capitan version 10.11.5) using > conda install sunpy, and it seems to have reset my path. For instance, the first error after typing > vi test.py gives "ImportError: no module named UltiSnips". Do you know if there is a way to fix this?

Upgrade

I finally got a new machine so I'm on Mac OS now... I'm getting an error... is this something that you've already encountered?

when opening vim

Error detected while processing function ProcessList[5]..AddBundle:
line    1:
E121: Undefined variable: vim
E116: Invalid arguments for function plug#
E121: Undefined variable: jarrodctaylor
E116: Invalid arguments for function plug#
Press ENTER or type command to continue

thermopylae should be included

Error detected while processing /Users/dustin/dotfiles/vim/vanilla-configs/default-colorscheme.vim:
line    2:
E185: Cannot find color scheme 'thermopylae'

Help

Add stuff to the readme about opening the help in VIM

Installing dein

For some reason the script in OSX/install-packages.sh did not install dein for me (even though it appears it should). I had to install it myself.

GREP_OPTIONS is deprecated on Ubuntu 16.04 installation

Apparently GREP_OPTIONS is being deprecated and throwing like 3 errors when running any command inside of a git reposity.

Problematic line:
https://github.com/JarrodCTaylor/dotfiles/blob/master/zsh/zshrc#L110

Not sure if this is the "right" thing to do, but I found this temporary hack somewhere on the internet. I had to change the path to where my grep was (the example online said to put it in /usr/bin/grep which didn't work for me.

alias grep="/bin/grep $GREP_OPTIONS"
unset GREP_OPTIONS

VIM: Use Arrow keys to navigate in normal mode

Hi Jarrod!

Just wanted to say that I enjoy these dotfiles quite a bit, they are definitely improving my CLI experience!

I was just put off by one thing: in Vim in normal mode, the arrow keys are mapped by default to resize windows, where the regular vim default is to use them to navigate.

I just added some overrides in my custom config extensions, but I would recommend to provide an easy way for user to get access to the navigation keys upon install, maybe in the readme?

Best,

~Jules Testard

tmux visual section and yank bindings

I have tmux 2.3_3 via Homebrew installed. The current key bindings for visual section and yank do not work for me on OS 10.12.3.

Replacing lines 33-35 in mac-tmux/tmux.conf

bind-key -Tcopy-mode-vi 'v' send -X begin-selection
bind-key -Tcopy-mode-vi 'y' send -X copy-pipe "reattach-to-user-namespace pbcopy"
bind-key -Tcopy-mode-vi 'Escape' send -X cancel

makes them work again.

References:
tmux/tmux#592
tmux/tmux@76d6d36

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.