Giter Club home page Giter Club logo

dotfiles's Introduction

Ninrod’s emacs, vim, zsh and tmux dotfiles

https://img.shields.io/badge/license-GPLv3-blue.svg

  • Minimalism, speed and power while working inside the shell.

“You are your dotfiles.” – Friedrich Wilhelm Nietzsche

“Show me your dotfiles and I’ll tell you what kind of programmer you are.” – Karl Marx

Screenshots

Ubuntu: emacs and vim

https://raw.githubusercontent.com/ninrod/dotshots/master/ubuntu.png

terminal

https://raw.githubusercontent.com/ninrod/dotshots/master/2017-02-vim-tmux-zsh.png

Note

These are my personal configuration files, which are in a constant state of change as I develop my environment across several systems so I can’t guarantee that these configurations will work for you, at all. Still, it can be useful and instructional to look around and take bits and snippets to use within your own configuration files. Feel free to open issues though, if the config did not work for you. I’ll try to help if I can.

Install Instructions

  • On linux, I recommend xfce-terminal. Failling that, try to use any truecolor terminal.
  • Secondly, this is for unix systems: GNU/Linux, OSx, BSDs. I don’t know anything about windows.
  • configure your terminal to use the gruvbox theme. There’s a ninrod/themes repo that can help you with that.
  • recommendation: I use and recommend the excelent Fantasque Sans Mono font.
  • now get vim 8+ with +clipboard.
  • get tmux 2.5+
  • get zsh 5.4+ and make sure that /bin/zsh is valid. (if not: $ cd /bin && sudo ln -s $(command -v zsh) zsh)
  • cat /etc/shells and verify that zsh appears on the list. If not, sudo vi /etc/shells and append /bin/zsh
  • get ag (you can brew install ag on OSx).
  • if you’re on OSx, brew install these:
    1. brew install coreutils (mainly because BSD ls CLICOLOR sucks).
    2. brew install reattach-to-user-namespace (Mainly because of the open utility. more info here).
    3. brew install diff-so-fancy
  • Kind remark: for the moment (until I change the script to back it up for you), I’ll overwrite your ~/.gitconfig file, so if you have something important in it, now would be the perfect moment to back it up.
  • [optional] get emacs 25.2+ (this is optional, everything will work fine if you don’t use emacs)

Shell time

now lets write some shell commands.

  • note: the install.zsh script basically does this:
    1. mounts symlinks on your home folder;
    2. creates ~/.options/shell-options.zsh file, if not existent
    3. sources the ~/.options/shell-options.zsh file
    4. overwrites your .gitconfig (so back it up if you have something important)
    5. tries to configure your git information, if applicable.
    6. fetches vim and zsh dependencies
  • now open you shell and don’t forget to set up your git information (vim ~/.options/shell-options.zsh)
$ git clone https://github.com/ninrod/dotfiles && cd dotfiles && make
$ vim ~/.options/shell-options.zsh
$ exec zsh
  • That’s it, your’re all set.
  • protip: make update will update all dependencies.

On installing new plugins

You may notice that I do not use any plugin manager, just a tiny little function I wrote called ningrab. For now, if you want to include a new plugin, search for the *-deps.zsh files in the boot directory. The files should be self descriptive. Just add a newline like this in, for example, vim-deps.zsh file:

ningrab githubuser/awesomeplugin

and then run make in the ~/.dotfiles directory. The plugin will be fetched from github and placed in the correct location for you.

Emacs: the timeless and infinitely powerful editor

I maintain my configuration using an org-mode file, through org-babel. So you can see it in it’s full glory here.

VIM: Powerful shell text editor. Tweaked with plugins.

To check out what binds and plugins I use in this config, my vim directory is authoritative.

TMUX custom binds

checkout the keybinds.tmux file for binding setup.

LICENSE

GNU General Public License v3
Copyright (c) 2015-2021 Filipe Silva (ninrod)

LINKS

first commit

dotfiles's People

Contributors

ninrod 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  avatar  avatar

dotfiles's Issues

break boot.org

it is reaching 2k lines. break into more manageable pieces.

inconsistent paste behaviour within visual block selection

given

a 1 1
b 1 1 

a b c
d e f

if you block select and yank the ones and then visually select b-c-e-f and paste, it will not only overwrite the selection but also screw up the paste creating one extraline and spill the paste over that line like this:

a 1 1
b 1 1

a 
d 
1 1
1 1

this does not happen from nvim -u NORC.

vim HEAD works all right.

unlink evil from melpa

grab it directly from github, possibly using quelpa-use package.

reason: test the various pull requests.

fix whitespace mode

I just want that the trailing whitespaces appear as dot, not the normal whitespaces.

configure-space

document emacs pain points

basic editing operations

  • diw in a sequence of spaces eats \n if applied in a line break.
  • vt' and vt" donot work.
  • yiw does not move cursor to beggining of text object.
  • does emacs have virtual columns?
  • the star operator is broken when subword-mode is active.

Completions

  • tab completion with dabbrev-expand ignores case.

Missing plugins

  • wellle/targets.vim (evil-targets)
  • terryma/multiple cursors (evil-multiple-cursors)
  • junegunn/easyalign (evil-align)

faulty plugins

  • evil-surround is not capable of repeating.

terminal

  • clipboard integration
  • truecolor support
  • dinamycally alter cursor shape based on state

fix cursorshape.vim for mintty

cursor shape code is set to work specifically with iterm2. fix this.

use standard xterm escape codes. see nin-vi-mode.zsh.

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.