2014年7月22日火曜日

Cygwin設定メモ

インストール

Cygwinの公式サイトからインストーラをダウンロードし実行
setup.exe時にインストールする追加パッケージは以下

  • wget, wget-debuginfo
  • vim, vim-common

設定

基本設定

ルートパス変更

vim /etc/passwd

/home/username
↓
/cygdrive/c/Users/username

※ P.S 20150929
/etc/passwd と /etc/group がない場合は以下のコマンドで生成してください

mkpasswd -l > /etc/passwd
mkgroup  -l > /etc/group

cd / && ln -nfs /cygdrive/c/
cd / && ln -nfs /cygdrive/e/

SSH用の設定ファイル作成

mkdir .ssh
touch .ssh/config
vim .ssh/config

ServerAliveInterval 15

作業用ディレクトリ作成

mkdir -p ~/data/repo
mkdir -p ~/Documents/work

bashの設定ファイル作成 

touch .bashrc
vim .bashrc

#!/bin/sh

alias ls='ls --show-control-chars --color'
alias tmuxclean='rm -rf /tmp/tmux'
alias ifconfig='ipconfig | nkf -w'
alias tailf='tail -f'
alias ps='ps -efW'

if [[ "$OSTYPE" =~ "cygwin" ]];then
  # Chocolatey
  alias choco="echo -ne '\n' | cmd /c choco"
  alias cinst='cmd /c cinst'
  alias cup='cmd /c cup'
  alias cuninst='cmd /c cuninst'
fi

touch .bash_profile
vim .bash_profile

#!/bin/sh

if [ -f $HOME/.bashrc ]
then
  source $HOME/.bashrc
fi

.bashrc と .bash_profile の改行コードをLF、文字コードをUTF-8にする

bash補完時のignore-case設定

vim /etc/inputrc

set completion-ignore-case on

カーソルの色を変更する

左上のアイコンから -> Options -> Looks -> Colours -> Cursor でCyanぽい色に変更する

apt-cyg

wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg
wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
mv apt-cyg /usr/bin
chmod +x /usr/bin/apt-cyg

apt-cyg install openssh automake gcc-core libevent2.0_5 libevent-devel ncurses libncurses-devel pkg-config make vim git procps emacs util-linux
apt-cyg install ruby subversion
apt-cyg install libgmp-devel libcrypt-devel curl

gem install bundler

※P.S 20150929
Cygwin のバージョンが2以上の場合は apt-cyg のソースコードを直接編集する必要があります
http://kakakikikeke.blogspot.jp/2015/09/md5-sum-did-not-match-exiting.html

emacs

mkdir -p ~/.emacs.d/backup
mkdir -p ~/.emacs.d/site-lisp
touch ~/.emacs.d/site-lisp/init.el
vim .emacs

package.el

cd ~/.emacs.d/site-lisp
wget http://repo.or.cz/w/emacs.git/blob_plain/1a0a666f941c99882093d7bd08ced15033bc3f0c:/lisp/emacs-lisp/package.el
emacs ~/.emacs.d/site-lisp/init.el

(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
(add-to-list 'package-archives  '("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)

package.el が 404 で見つからない場合は以下から取得する
http://kakakikikeke.blogspot.jp/2015/10/emacs23-package-el.html

package-install でインストールするパッケージ一覧

  • パッケージのインストール方法
    M-x package-install [package-name]
    or
    M-x package-list-packages
    iでインストールするパッケージを選択してxでインストールを実行する
  • require
    • anything
    • anything-config
    • anything-match-plugin
    • auto-complete
    • flycheck
      • gem install ruby-lint
      • 各言語ごとに必要なsyntax checkerはインストールすること
    • twittering-mode
    • php-mode
    • markdown-mode
    • highlight-symbol
  • options
    • flymake
    • w3m
    • Navi2ch
  • emacs ~/.emacs.d/site-lisp/init.el
;;; .init.el --- init config emacs

;;; Commentary:
;;;; Author: kakakikikeke
;;;; Version: 0.1

;;; Code:
; for package.el
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/"))
(add-to-list 'package-archives  '("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)

; for anything
(require 'anything-startup)
(keyboard-translate ?\C-h ?\C-?)
(add-to-list 'anything-sources 'anything-c-source-emacs-commands)

; for auto-complete
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/elpa/auto-complete-20140618.2217/dict")
(ac-config-default)
(setq ac-use-menu-map t)
(define-key ac-menu-map "\C-n" 'ac-next)
(define-key ac-menu-map "\C-p" 'ac-previous)

; for flymake
(add-hook 'after-init-hook #'global-flycheck-mode)

; for twittering-mode
(require 'twittering-mode)
;(setq twittering-proxy-use t)
(setq twittering-use-master-password t)

; highlight-symbol
(require 'highlight-symbol)
(setq highlight-symbol-colors
      '(
        "DarkOrange" "DodgerBlue1" "DeepPink1"
        "goldenrod3" "orchid2" "chartreuse3"
        "yellow3" "firebrick1" "green2"
        "IndianRed3" "SeaGreen3" "turquoise1"
        "SlateBlue2" "medium orchid" "sea green"
        ))
(global-set-key "\C-x," 'highlight-symbol-at-point)

;;; init.el ends here

nkf

http://sourceforge.jp/projects/nkf/downloads/59912/nkf-2.1.3.tar.gz/ からブラウザを使ってダウンロード
cd ~/Downloads
tar zvxf nkf-2.1.3.tar.gz
cd nkf-2.1.3
make && make install

tmux

http://sourceforge.net/projects/tmux/files/tmux/tmux-1.9/tmux-1.9a.tar.gz/download?use_mirror=jaist からブラウザを使ってダウロード
https://tmux.github.io/ の Download から最新版をダウンロードしてください

tar zvxf tmux-1.9a.tar.gz
cd tmux-1.9a
./configure && make && make install

touch ~/.tmux.conf
emacs ~/.tmux.conf
これを記載する

git

git config –global color.ui true

vim ~/.gitconfig

[alias]
    tr = log --graph --pretty='format:%C(yellow)%h%Creset %s %Cgreen(%an)%Creset %Cred%d%Creset'

percol

apt-cyg install python-setuptools
easy_install https://pypi.python.org/packages/source/p/pip/pip-1.4.1.tar.gz
pip install percol
mkdir ~/.percol.d
touch ~/.percol.d/rc.py
emacs ~/.percol.d/rc.py

percol.view.PROMPT  = ur"<bold><yellow>Let's percol ></yellow></bold> %q"

# Emacs like
percol.import_keymap({
    "C-h" : lambda percol: percol.command.delete_backward_char(),
    "C-d" : lambda percol: percol.command.delete_forward_char(),
    "C-k" : lambda percol: percol.command.kill_end_of_line(),
    "C-y" : lambda percol: percol.command.yank(),
    "C-t" : lambda percol: percol.command.transpose_chars(),
    "C-a" : lambda percol: percol.command.beginning_of_line(),
    "C-e" : lambda percol: percol.command.end_of_line(),
    "C-b" : lambda percol: percol.command.backward_char(),
    "C-f" : lambda percol: percol.command.forward_char(),
    "M-f" : lambda percol: percol.command.forward_word(),
    "M-b" : lambda percol: percol.command.backward_word(),
    "M-d" : lambda percol: percol.command.delete_forward_word(),
    "M-h" : lambda percol: percol.command.delete_backward_word(),
    "C-n" : lambda percol: percol.command.select_next(),
    "C-p" : lambda percol: percol.command.select_previous(),
    "C-v" : lambda percol: percol.command.select_next_page(),
    "M-v" : lambda percol: percol.command.select_previous_page(),
    "M-<" : lambda percol: percol.command.select_top(),
    "M->" : lambda percol: percol.command.select_bottom(),
    "C-m" : lambda percol: percol.finish(),
    "C-j" : lambda percol: percol.finish(),
    "C-g" : lambda percol: percol.cancel(),
})

other

ant

wget http://ftp.kddilabs.jp/infosystems/apache//ant/binaries/apache-ant-1.9.4-bin.tar.gz
tar zvxf apache-ant-1.9.4-bin.tar.gz
mv apache-ant-1.9.4 /usr/bin/
cd /usr/bin
ln -nfs /usr/bin/apache-ant-1.9.4/bin/ant ant

maven

wget http://ftp.kddilabs.jp/infosystems/apache/maven/maven-3/3.2.2/binaries/apache-maven-3.2.2-bin.tar.gz
tar zvxf apache-maven-3.2.2-bin.tar.gz
mv apache-maven-3.2.2 /usr/bin
cd /usr/bin
ln -nfs /usr/bin/apache-maven-3.2.2/bin/mvn mvn

jq

http://kakakikikeke.blogspot.com/2015/03/cygwin-jq.html

Tips

uname -a でcygwinのバージョンを確認することができる
ps -efW でWindowsで動作しているプロセスの一覧も確認できる

0 件のコメント:

コメントを投稿