Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

dotfiles(.vimrcとか.emacs.d)の展開を簡単にするコマンドを作ってみた

$
0
0

自分のdotfiles(.vimrcとか.emacs.d)をGitHubのリポジトリにて管理しているんですが、cloneした後に中のファイルをホームディレクトリへ移動するのが面倒だなぁと常々思っていました。コマンド一つでホームディレクトリにシンボリックリンクとして展開できるようなものを作ってみたので、紹介します。


3ステップ

npmからchestコマンドのインストール

$ npm i -g chest

ホームディレクトリに移動して、リポジトリを .chestという名前でgit clone

$ cd
$ git clone git@github.com:your/dotfiles.git .chest

$ ls 
.chest

$ ls .chest
README.md .emacs.d .chestignore .git .gitignore .tmux.conf .vim .vimrc .zshrc

シンボリックリンクとして、.chest内のファイルを展開する

$ chest open
.emacs.d .chest .tmux.conf .vim .vimrc .zshrc

これでおわりです。


その他

.gitディレクトリとか、展開したくないファイルがある

.chestignoreっていうファイルに記述すると、chest openコマンドで展開されないようになります

.chestignore
README.md
.git
.gitignore

上書きはしない

ホームディレクトリに既に同名のファイルがある場合は、エラーを出してスキップします。上書きはしません。

$ ls
.chest .emacs.d

$ ls .chest
.emacs.d

$ chest open
File already exist: .emacs.d

Windows

たぶんサポートできたんですが、Windows持ってないので誰かテストしてくれると助かります。。

// 今月中に買う予定です :smiley_cat:

他の使い方について

展開したファイルを元に戻したり、ファイルを追加する機能などもあります。詳細は-hにて。

$ chest -h
  Usage: chest <command>


  Commands:

    put [files...]   Put specified config file in the chest
    take [files...]  Take specified config file from the chest into the project root
    list             Show list of config files in the chest
    open             Place config files from the chest into the project root as symbolic links
    close            Remove symbolic links created by "open"

  Options:

    -h, --help     output usage information
    -V, --version  output the version number

実は2年くらい前に作ったコマンドなんですが、自分のdotfilesの管理と相性が良さそうだったので .chestignoreの機能を追加してみた感じでした :blush:
http://qiita.com/t-sato/items/b09cc96a67200a451e1c#2-4


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>