Recommended
KEY
KEY
PDF
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
PPTX
PPTX
PPTX
EWD 3トレーニングコース#28 従来のMUMPSコードをewd-xpressと統合する
PPTX
EWD 3トレーニングコース#28 従来のMUMPSコードをewd-xpressと統合する
PPTX
高速な挿入と検索が可能なSkip Graphの改良
PPTX
WindowsMobile開発を256倍快適にする言語 Lua
PPT
Sigmod11 outsource shortest path
PPTX
Pub/Sub model, msm, and asio
PDF
2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」
PDF
Nias cafe24 poster 'Fascination of Plants Day'
PDF
2011.12.10 関数型都市忘年会 発表資料「最近書いた、関数型言語と関連する?C++プログラムの紹介」
PDF
絶対使いたくなるAppexchangeアプリとそのアーキテクチャー
PDF
Symantec Appliances Strategy Launch
PDF
PPT
PPTX
カプセルホテル施設におけるカスタマージャーニーマップによる業務改善
PDF
PDF
150806 カスタマージャーニーマップワークショップ
PPTX
NVMe でハァハァしようよ #sapporocpp
PDF
PPTX
CppCon2016 report and Boost.SML
PDF
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
PDF
PDF
Boost.Spirit.QiとLLVM APIで遊ぼう
PDF
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」
PDF
PPT
More Related Content
KEY
KEY
PDF
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
PPTX
PPTX
PPTX
EWD 3トレーニングコース#28 従来のMUMPSコードをewd-xpressと統合する
PPTX
EWD 3トレーニングコース#28 従来のMUMPSコードをewd-xpressと統合する
PPTX
高速な挿入と検索が可能なSkip Graphの改良
Viewers also liked
PPTX
WindowsMobile開発を256倍快適にする言語 Lua
PPT
Sigmod11 outsource shortest path
PPTX
Pub/Sub model, msm, and asio
PDF
2011.7.3 札幌C++勉強会#2「C++のマクロはどこまで関数をいじれるのか」
PDF
Nias cafe24 poster 'Fascination of Plants Day'
PDF
2011.12.10 関数型都市忘年会 発表資料「最近書いた、関数型言語と関連する?C++プログラムの紹介」
PDF
絶対使いたくなるAppexchangeアプリとそのアーキテクチャー
PDF
Symantec Appliances Strategy Launch
PDF
PPT
PPTX
カプセルホテル施設におけるカスタマージャーニーマップによる業務改善
PDF
PDF
150806 カスタマージャーニーマップワークショップ
PPTX
NVMe でハァハァしようよ #sapporocpp
PDF
PPTX
CppCon2016 report and Boost.SML
PDF
C++でNVMeと(*´Д`)ハァハァ 戯れていたら一年経ってた。
PDF
PDF
Boost.Spirit.QiとLLVM APIで遊ぼう
PDF
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」
Similar to Linuxにおける開発環境
PDF
PPT
PPTX
PDF
PPT
PDF
PDF
PDF
PDF
PDF
(初心者向け) Vim の機能紹介@nagoya.vim #1
PPTX
ODP
Windowsユーザのlinux入門(20130126)
PDF
PDF
PDF
PDF
KEY
Emacs 使いが Vim を使ってみた(ちょっとだけGit)
PPTX
PDF
Vim script と vimrc の正しい書き方@nagoya.vim #1
PDF
More from Tomohiro MITSUMUNE
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PPT
PPT
Linuxにおける開発環境 1. 2. 3. 開発環境 GUI (Windows) マウス操作を主体とした直感的な操作 文字だけでなく画像を利用し、動作を明確化 インストールしてすぐ使える 設計で想定されたことしかできない 重い、遅い CUI (Unix, Linux) 覚える事が多くて、敷居が高い 多くのことを自分で設定する必要がある 軽い、早い 4. Windows>Linux での 開発環境の問題 シームレスな開発ができない Windows 側でコード修正 scp, sftp, svn とかで Linux 側にアップロード 変更の度に deploy 作業が生じるため、効率悪 文字エンコード , 改行コードの違い アップロード後に「動かねー」と叫ぶ理由の 1 つ 5. Linux での開発 Linux 環境での開発効率向上アイテム zsh screen vim (or Emacs) 開発効率が上がると 早く帰れる 友人 / 家族 / 恋人と団欒 趣味の時間 リア充への第一歩! 6. zsh Unix のコマンドシェルの 1 つ bash + tcsh + ksh = 「究極のシェル」 主な機能 コマンド補完機能 プロンプト表示 スペル修正機能 コマンドラインスタック 拡張されたファイル選択 参考記事 [http://journal.mycom.co.jp/column/zsh] 7. 8. プロンプト表示 RPROMPT コマンドライン右側に出るプロンプト カレントディレクトリとか出すと便利 コマンドが長くなってくると勝手に消える local GREEN=$'%{\e[1;32m%}' local BLUE=$'%{\e[1;34m%}' local DEFAULT=$'%{\e[00;m%}‘ PROMPT=$BULE'[${USER}@${HOSTNAME}] %(!.#.$) '$DEFAULT RPROMPT=$GREEN'[%~]'$DEFAULT 9. 10. コマンドラインスタック M-q 入力中のコマンドを一時保存できる ./configure --prefix=/usr/local/php-5.2.5 --with-config-file-path=/etc --enable- と、打った後に chmod 744 /usr/local/php-5.2.5 と、したいときに有効 スタックなので 2 重 3 重に格納することも可能 11. その他便利な機能 - コマンド コマンドシェルのミススペルを指摘 setopt correct cd 打つのがメンドクサイ setopt auto_cd 勝手に pushd setopt auto_pushd ディレクトリスタック内をユニークに保つ setopt pushd_ignore_dups 12. その他便利な機能 - スクリプト処理 data000 ~ data255 というファイル作成 touch data{000..255} sample.sql 以外の sql ファイル削除 rm *.sql~sample.sql カレント以下のシンボリックリンク削除 rm **/*(@) 13. screen GNU screen 1 つの端末から複数の端末を仮想的に同時に扱えるようになる 主な機能 同時に複数の端末を扱えるようになる バックスクロールでログが見れ、コピペもできる 柔軟な接続機能 14. うれしい機能 バックスクロール autodetach セッション終了時にプロセスをバックグラウンドへ 突然回線が切れても大丈夫 1 プロセスに複数 attach も可能なので、違う端末からでも全く同じ環境での作業が可能になる 画面分割 vim や emacs のように仮想ターミナルを水平分割 なんちゃってデュアルディスプレイ 15. .screenrc ( 設定ファイル ) escape ^z^z hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w" autodetach on startup_message off # copy mode 時のバッファ量を設定 defscrollback 3000 scrollback 3000 term xterm-256color markkeys "h=^B:l=^F:$=^E" # ウィンドウ分割設定 bind -c REGION 2 split bind -c REGION 1 only bind -c REGION 0 remove bind -c REGION o focus bind -c REGION ^ resize bind x command -c REGION 16. vim テキストエディタ Unix 系 OS には大抵標準で入ってます 主な機能 マルチバッファ ウィンドウ分割 動的単語補完 400 以上の文法に対応した highlighting 40 以上の言語に対応したオートインデント ctags を利用したタグジャンプ 独自スクリプト実装 (vim script) 17. vim の問題点 操作が変態的 hjkl で移動 さまざまなモード ( normal, visual, insert ) どうやって習得するか チュートリアルモードが用意されている vimtutor とタイプするといきなり開始 日本語で良いチュートリアルだと思うのでオススメ 18. 基本操作 - モード 3 種類のモード ノーマルモード デフォルトモード カーソル移動、文字の編集、コマンド入力 インサートモード 文字を挿入 ビジュアルモード 文字を範囲選択 ノーマル インサート ビジュアル 19. 基本操作 - カーソル移動 カーソル移動 h ← j ↓ k ↑ l -> 0 行頭にジャンプ $ 行末にジャンプ ^ 行の最初の文字へジャンプ H 表示画面の 1 行目へジャンプ M 画面中央へジャンプ L 表示画面の最下行へジャンプ % 対応する括弧へジャンプ gg ファイルの先頭へジャンプ G ファイルの末尾へジャンプ gj 表示行下に移動 gk 表示行上に移動 20. 基本操作 - 編集 編集 x 1 文字切り取り dd カーソル行を切り取り yy カーソル行をヤンク D カーソル位置から行末を切り取り p カーソルの後ろに貼り付け P カーソルの前に貼り付け J 行連結 ( インデントは削除 ) gJ 行連結 ( 空白はそのまま ) ~ 大文字 / 小文字を切り替える >>, << カーソル行をインデント , 逆インデント <C-a>,<C-x> カーソル位置の数字の加減 u アンドゥ <C-r> リドゥ :w[!] [file] 上書き保存 (! を付けると readonly でも上書き保存、 file 名指定の場合は名前を付けて保存 ) :q[!] 終了 (! を付けると変更点があっても保存せず強制終了 ) 21. 基本操作 - インサートモード ここで軽くまとめると 操作がパズル的 突き詰める楽しさがある インサートモード i カーソルの前からインサート I カーソル行の行頭からインサート a カーソルの後ろからインサート A カーソル行の行末からインサート o カーソル行の下に新しい行を作りインサート O カーソル行の上に新しい行を作りインサート 22. 基本操作 - ビジュアルモード ビジュアルモードと編集を組み合わせると非常に強力 コピペ カット & ペースト 置換 範囲置換 範囲を選択後、「 :s/foo/bar 」で範囲置換 ビジュアルモード v 文字単位のビジュアルモード V 行単位のビジュアルモード <C-v> 矩形ビジュアルモード gv 最後に利用したビジュアルモードを復元 23. 基本操作 - その他 検索 / keyword keyword を検索 n 次の候補に移動 N 前の候補に移動 置換 :%s/ from / to /[g] 全行に対してパターンマッチング (g を付けると複数マッチ ) :m,ns/ from / to /[g] m 行目から n 行目の範囲に対してパターンマッチング 画面分割 :sp 画面を水平に分割 :vs 画面を垂直に分割 <C-w>[h,j,k,l] 分割したウィンドウ間を移動 :only カーソルがあるウィンドウ以外を閉じる ファイル操作 :e [file] file を開く ZZ 保存して閉じる :ls バッファ一覧を表示 :bn, :bp バッファ間を前後に移動 ヘルプ :h [command] command のヘルプを表示 24. 単語補完機能 インサートモード時に利用可能 キーワード補完 <C-x C-n>, <C-x C-p> 開いているバッファ内から補完 タグ補完 <C-x C-]> ctags ファイルによる補完 ファイル名補完 <C-x C-f> ファイル名による補完 コマンドライン補完 <C-x C-v> vim のコマンドラインから補完 行全体補完 <C-x C-l> バッファ内から行全体による補完 オムニ補完 <C-x C-o> インテリジェンスな補完 25. 26. 27. vim プラグイン 機能拡張するための仕組み 中身は vim スクリプトで記述 vim 起動時にオートロードされる Firefox Extension みたいなもの 種類は 2 つ グローバルプラグイン 全種類のファイルで利用される ファイルタイププラグイン 特定ファイルのみで利用される 公式サイトで公開されている 28. minibufexpl.vim タブエディタ風にバッファを管理 vim デフォルトのバッファ管理は貧弱 配布元 http://www.vim.org/script.php?script_id=159 設定 :let g:miniBufExplMapWindowNavVim = 1 :let g:miniBufExplMapWindowNavArrows = 1 :let g:miniBufExplMapCTabSwitchBuffs = 1 29. surround.vim テキストオブジェクト操作を拡張 配布元 http://www.vim.org/scripts/script.php?script_id=1697 拡張されたところ 対象とする文字列自体を削除したり置換 ds, cs, ys, vs というコマンド 囲っている HTML タグ自体を削除したり置換 インサートモードから使える <C-G>S で利用 30. 31. 32. 33.