Saturday, March 19, 2016

dotfiles



http://blog.coderzh.com/2016/03/19/dotfiles
dotfiles 主要是指用户 home 目录下的点文件,这类文件一般是一些配置文件,比如 vim 的配置文件 .vimrc,zsh 的配置文件 .zshrc 等。通过设置这些配置文件,可以实现出很强大的功能,比如有不少人通过配置 .vimrc,把 vim 活生生变成了一个功能强大的 IDE。还有一些偷懒的程序员在 .profile 之类的文件里设置了大量命令的 alias。以至于你还没看清楚他敲的第一个命令,他已经敲了三四个命令了。
为了让 dotfiles 生效,主要有两种方式:
  1. 通过一个脚本,把所有 dotfile 文件 rsync 到 HOME 目录。
  2. 使用软链,让 HOME 目录的 dotfile 文件指向你目录的 dotfile 文件。
第一种方式适合机器初装,但是假如你有两台机器,希望配置能方便的进行同步,第二种方式是更好的选择。
$ ln -s ~/dotfiles/.vimrc ~/.vimrc
但是,假如你的 dotfile 文件很多,手工去维护那些软链也是一件麻烦的事情。而程序员又是最不能忍受麻烦的,于是造了各种轮子去维护和管理这些 dotfiles 。
有些人把软链的管理写成一个 Shell 脚本,也有人做成特定的工具。比如:rcm、 YARD、 dotfilesmackup ……

mackup

在对比了各种 dotfiles 工具后,我最终选择了 mackup。理由主要如下:
  1. 使用方便,配置起来非常简单。
  2. 社区贡献了大量现成的软件的 dotfiles 配置,可以直接使用。




Labels

Review (572) System Design (334) System Design - Review (198) Java (189) Coding (75) Interview-System Design (65) Interview (63) Book Notes (59) Coding - Review (59) to-do (45) Linux (43) Knowledge (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (31) Big Data (29) Product Architecture (28) MultiThread (27) Soft Skills (27) Concurrency (26) Cracking Code Interview (26) Miscs (25) Distributed (24) OOD Design (24) Google (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) System Design - Practice (20) Tips (19) Algorithm (17) Company - Facebook (17) Security (17) How to Ace Interview (16) Brain Teaser (14) Linux - Shell (14) Redis (14) Testing (14) Tools (14) Code Quality (13) Search (13) Spark (13) Spring (13) Company - LinkedIn (12) How to (12) Interview-Database (12) Interview-Operating System (12) Solr (12) Architecture Principles (11) Resource (10) Amazon (9) Cache (9) Git (9) Interview - MultiThread (9) Scalability (9) Trouble Shooting (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Cassandra (8) Company - Uber (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Design (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Mac (7) Machine Learning (7) NoSQL (7) C++ (6) Chrome (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Python (5)

Popular Posts