vim(もしくはemacs)を使ってない自分はすごく損をしているんじゃないだろうかと不安なので一通り使い方を覚えたいと思っています。



しかし僕が探した範囲だと、機能紹介やショートカットの紹介はあっても、実際に「こうやって入門しろ」という情報が見つかりませんでした。


そこで、具体的に「こうやってみれば素晴らしさが分かる」というのがあれば教えてください。もしくはみなさんがどうやって入門し、ステップアップしていったかというお話だけでも結構です。

(前提として私はプログラマで、vim、emacsでファイルを開いて編集->保存ぐらいはできるとします)

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/06/26 08:30:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答19件)

id:felix2007 No.1

回答回数600ベストアンサー獲得回数4

ポイント13pt

viやemacsのすぐれているところは文字コードの判定や変換がわりと正確なことです。ちゃんと設定してやれば、なんでも開けます。

あとは、プログラミング用の色づけかな。

でも、今viやemacsを使ってないということは、windowsですよね。winの場合は、あんまり必要ないのでは。改行とかもdosの方がいいわけでしょ。

id:toyoshi

有難うございます。

2007/06/19 19:35:45
id:ketuname No.2

回答回数4ベストアンサー獲得回数0

ポイント13pt

http://www.linux.or.jp/JF/JFdocs/Emacs-Beginner-HOWTO-2.html

http://nanasi.jp/articles/howto/tutorial.html

vimやemacsのチュートリアルをやりましたか?

以下のキー入力でチュートリアルが始まります。

vim 「:Tutorial」を入力

emacs 「C-h t」 を入力

このチュートリアルで初歩的な操作方法を身につけれると思います。自分はvimでサーバの設定ファイルを編集していくうちに慣れていきました。

id:toyoshi

なるほど、チュートリアルが有効ということですね。ありがとうございます。

2007/06/19 19:36:36
id:YasuyukiMiura No.3

回答回数33ベストアンサー獲得回数7

ポイント13pt

vimについてです。

まずはキャンセルから始めるのがいいのではないでしょうか。困ったときにへんな状態から抜けれるのは大事だと思います。Escがそれにあたります。

そのあとは上下左右に移動するhjklキーになれるが一番かと。矢印キーと行ったり来たりするよりずっと移動が速くなります。

それから編集・移動するためのコマンド(:行番, x, d, y, ...)をいくつか覚えればそれだけで大抵のエディタよりずっと作業しやすいと思います。

そこからは自分が便利そうだと思った事をやっていけばいいと思います。

個人的には、ビジュアルモード(特にCtrl-v)と画面分割(:split, ...)が便利だと思います。




実は

入門vi 第6版

入門vi 第6版

  • 作者: リンダ ラム アーノルド ロビンス
  • 出版社/メーカー: オライリー・ジャパン
  • メディア: 単行本

ViIMproved‐Vim完全バイブル

ViIMproved‐Vim完全バイブル

  • 作者: Steve Oualline 高橋 則利
  • 出版社/メーカー: 技術評論社
  • メディア: 単行本

のどちらかを一通り読んで練習するのがいちばんかもしれません。

id:toyoshi

>それだけで大抵のエディタよりずっと作業しやすいと思います。

まずはそこから始めてみます。

有難うございます。

2007/06/19 19:37:25
id:betelgeuse No.4

回答回数18ベストアンサー獲得回数0

ポイント13pt

vimについては極限状態を考えてみましょう。

----------------

マウスやトラックボールをポートから抜き、タッチパッドは紙で覆い、

コマンドプロンプトを出した状態で

「さあテキストファイルを読むぞ」と自分に言い聞かせます。

----------------

ファイルを開いたら、

ESCを叩いてから、ホームポジションに指を置き

黙々と右手人差し指を押し続ければ、テキストが下に流れていきます。

黙々と右手中指を押し続ければ、テキストが上に戻っていきます。

見るのに飽きたので :q で抜けましょう。

ファイルがカーソルキーもマウスもなしで読めました。

何か賢くなった気分です。

----------------

またファイルを開いたら、

ESCを叩いてから、ホームポジションに指を置き

黙々と右手薬指を押し続ければ、カーソルが右に流れていきます。

行末まで行って止まりました。

逆も当然ありだよな、と人差し指をhに伸ばします。カーソルが戻っていきました。

俺は何をしているんだろう。と空しくなってきたら :q で抜けましょう。

----------------

あまり意味がない気がしたので再度ファイルを開きましょう。

ESCを叩いてから、/ を押して

なんとなく「この単語、よく出てくるよな・・」・というものを打ってEnterを押してみます。

その単語の位置に来ました。それがどうした?

n を押してみます。次のが出ました。

また n を押したら、その次のが出ました。

シフト押しながら n を押してみます。前のに戻りました。

おお、俺はコレで検索も出来るようになったな。

と自己満足して、 :q でファイルを閉じましょう。

----------------

あとはコマンドリファレンスを見て、同じことの繰り返し。

id:toyoshi

長文有難うございます。

なんかブラインドタッチを練習していたころを思い出します。そんなつもりでやれば良いと言う事ですね。大変参考になります。

2007/06/19 19:38:57
id:cou929 No.5

回答回数2ベストアンサー獲得回数0

ポイント13pt

emacsについて、

やはりしっかりと勉強してからでないと、なかなか良さはわからないと思います。

お薦めの本は

入門 GNU Emacs 第3版

入門 GNU Emacs 第3版

  • 作者: Debra Cameron James Elliott Marc Loy Eric Raymond Bill Rosenblatt
  • 出版社/メーカー: オライリー・ジャパン
  • メディア: 大型本

あとこの辺のエントリーも読んでみてはどうでしょうか?

http://d.hatena.ne.jp/kotorikotoriko/20070310/1173510573

http://naoya.g.hatena.ne.jp/naoya/20070114

id:toyoshi

実はこのid:naoyaさんのエントリーをみて、「本読みたくないなー」と思ってこの質問をしていたりします。有難うございます。

2007/06/20 14:30:04
id:znz No.6

回答回数193ベストアンサー獲得回数25

ポイント13pt

とりあえずマニュアルを読み進めてみるのはどうでしょうか。

ステップアップについては、日常的に使いつづけて不便におもった点などを、マニュアルや機能紹介やショートカットの紹介を見て改善したり、便利そうだと思ったものを取り入れたりしています。

id:toyoshi

有難うございます。正攻法で行くという作戦ですかね。参考にさせていただきます。

2007/06/20 14:31:04
id:smotokezuru No.7

回答回数1ベストアンサー獲得回数0

ポイント13pt

私もemacsに移行するときwindowsユーザでしたが、その時に使った方法です。

いきなりmeadowに移行すると設定の仕方とかキーバインドがいっぺんに変わって苦痛が大きすぎたので、キーバインドから徐々に移行するようにしました。

具体的にはXKeymacsというemacsユーザ定番らしきキーバインド変更ソフトを入れます。

  • まずは当時使っていたエディタ(私は秀丸でした)だけで有効にして、
  • 既存とかぶらない(もしくは使わない)C-n,C-p,C-b,C-k等だけキーバインド変更する
  • それに慣れたらC-f,C-s,C-x C-sを有効にして検索と保存にも慣れる
  • さらにC-v,C-y,C-w,M-wを有効にしてコピー&ペーストを移行
  • 小指が痛いからCapsLockとCtrlの配置を交換する
  • ブラウザやExcelでも使ってみる
  • そろそろちょっとずつMeadowで開くようにしてみる

という風にして段階的に移行できました。

この手は後輩を洗脳して移行させる手としても使ってます。

id:toyoshi

>後輩を洗脳して移行させる手としても使ってます。

まさにこの質問ではこんな回答を募集しています!

有難うございます。参考にさせてもらいます。

2007/06/20 14:29:01
id:fuentebella No.8

回答回数269ベストアンサー獲得回数30

ポイント13pt

http://homepage1.nifty.com/niwatori/vi/

viを仕事で使わなくなってから10年近くたちますが、まだ指が覚えています。VBをviで作業できたらどんなに楽かと思っています。

emacsの方は、チャレンジしたけれど中途半端におわり、viモードにして使っていました。

練習方法(大昔にした方法)

1)極力指を見ない、キーボードからも指をなるべく離さないよう心がける (指をキーボードから離さずに作業できるのがviの長所)

2)訳が分からない状態(たとえば、シフトロックが入っているのに気づかず下に行こうとjを押しつづける)になればESCを連打して:wで違う名前で一旦保存。 :qで終了。 心を落ち着かせてから再度チャレンジ。

3)jiklのカーソル移動を指に覚えこませる。

4)よく使うコマンドを覚える。また数字と組み合わせる (3ddなど)

 i o w b 0 $ dd yy p u cwなど

5)検索や置換コマンド / :s を試す。(正規表現を覚える)

6)バッファを使う "ayy など

6) マニュアルをみて、使えるコマンドを増やし、「こんなこともできるんだ」という発見を心がける

id:toyoshi

有難うございます。

>指をキーボードから離さずに作業できるのがviの長所

これを理解するのが肝って気がしてきました。

2007/06/21 10:18:45
id:kei-os2007 No.9

回答回数1ベストアンサー獲得回数0

ポイント13pt

私は以前はK2Editorってエディタ(Windows)を使ってたのですが

vimっぽいキーバインドを自分で作っているうちに覚えました。

いかにしてvimを超えるか、みたいに挑戦して

いちおうvimっぽく、でも自分なりに試行錯誤して作ってて

「これではやっぱりvimは超えられない!!」と諦めた頃に

すんなりvimに移行できた気がします。

自分でキーバインドを作ることで、楽しくマスターできました。

id:toyoshi

有難うございます。参考になります。

僕も今のEclipseにVimなりemacsなりどちらかのキーバインドを適用して覚えていくのがよいかなと思い始めてます

2007/06/21 10:19:46
id:a666666 No.10

回答回数5ベストアンサー獲得回数0

ポイント13pt

「どんなやり方でも良いので、何度でも入門しろ」という方法を提案します。

どちらも歴史があり、奥の深いソフトウェアなので、「どうにか使える」基本的な操作方法を身に着けるのですら、一回の挑戦でこなせるものではありません。(もちろん個人差があります)

僕の経験談になりますが、それぞれのエディタを「覚えよう」と挑戦して、何か壁にぶつかって解決できず投げ出した、という経験を、それぞれ最低10回ずつはしています。(「日本語が化ける」とか、そういうトラブルです)

初めて使ってから、 Vim のほうが一年半、 Emacs のほうは三年くらいたって、ようやく日常の仕事や趣味の際に不便なく使いこなせるレベルになりました。

体系だった学習はしてきませんでした。本を何冊か買ってちょっと読み、思い出したようにチュートリアルを数ヵ月に一度やり、困ったときだけ検索してマニュアルを眺める、など。

「最低限これだけは覚えろ」というリファレンスを丸暗記したり、チュートリアルをなんべんもやったり、オンラインマニュアルや書籍を通読したり、そういう正攻法な学習をこなせればそれが一番近道だろうとは思います。しかし、そんなにうまくいかないものです。

それに、経験を積んではじめてわかる基本の大切さ、というのもあります。僕はいまでもたまにチュートリアルをやり直したりしますが、普段使っていなかった基本的なコマンドをおさらい、というより改めて知って、目からうろこが落ちることもしばしばあります。

一度に覚えられることには限りがあります。知識の丸暗記ならまだ詰め込みがききますが、ソフトウェアの操作方法は暗記しただけでは意味がありません。身体が覚えて無意識に使えるようになるには、時間が必要です。

「すごく損をしているんじゃないか」と不安になったり、なかなか覚えられなくて焦ったりする気持ちはよくわかります。僕も数年間ずっとそういう気持ちを抱えてモヤモヤしていました。「焦ることはない」とは言いません。むしろ、焦っても構わないと思います。不安になるのはおかしいことではありません。

「今日から覚えよう」と使いはじめてみて、うまくいかなくてやめちゃってもいいと思います。やっぱり心残りで、モヤモヤした気持ちになるかもしれませんが、そしたらまた気が向いたときに「今度こそ投げ出さずにやるぞ」とチャレンジしてみたらとうでしょう。最初の一回目でファイルの開きかたを覚えていたら、二回目はそれをとばしてコピー&ペーストのやり方を覚えるのに専念できるかもしれません。

そうして繰り返して、いつか投げ出さないで使いつづけられる日が来るかもしれませんし、二度と使わなくなるのかもしれません。別に使わなくなってもいいと思います。何度かやってみて、他のソフトを使ったほうが便利だな、と身を持ってわかったからこそ、再挑戦する気にならなかった、ということでしょうし。

長くなりましたが、こういう質問をしたくなるような気持ちがある間は、ともかく勉強してみるのがいいんじゃないでしょうか。どんな勉強法よりも、好奇心のほうが重要です、こういうことに関しては。

id:toyoshi

こういう「Just do itだ!」「黙って行け!!」「トト振り返るな!」という後押しが僕には必要だった気がしてきました。

心に響きました。本当に有難うございます。

今日からさっそく始めたいと思います。

2007/06/21 20:36:18
id:yasuho No.11

回答回数7ベストアンサー獲得回数0

ポイント13pt

vimをメインに使っているプログラマです。

入門にはなるかどうか分かりませんが、今から20年ほど前、私がviを覚えた過程を書いてみます。参考になれば幸いです。


きっかけはunixに標準で入っていて、ちょっと覚えてみたかったから。最初はなんて使いづらいエディタなんだと思いました。まずコマンドモードと編集モードが直観的に分からない。:でexコマンドモード、/または?で検索。いきなり投げ出したくなりましたね。


しかし我慢して使うこと二週間。だいぶ操作に慣れてきたころにこのエディタの真価が見えてきたような気がしたのです。最初のうちはこの感覚を指が覚えるまで、がんばって使ってみるしかないと思います。


もちろんリファレンスは必須です。viはコマンドを覚えないと何もできません。最初のうちはマニュアルを見ながら、コマンドキーを押した時に何が起こるのか、実験しながら覚えていくといいでしょう。日本語の含まれていない、英語のドキュメントなどで練習するのがいいと思います。viの真価が発揮できますから。


コマンドはたいてい英単語に対応づけられているので、意味を思い浮かべながら使うと覚えやすいです。例えば、aはappend, dはdelete, iはinsert, uはundo, といった具合。だいたい分かってきたら、Ctrlとの組み合わせや3cwのような複数コマンドへとステップアップしていくといいかな。


コマンドがだいたい分かってきたら、:のコマンドと正規表現といった感じで進めばいいでしょう。このへんまでくれば、あとはもう慣れだけ、かな!?


私の考えるviの素晴らしさは「ホームポジションから手を動かすことなく、最小限のキー操作でテキスト編集ができる」というところに尽きますね。特にプログラミングでは重宝する機能が多いので、プログラマなら気にいる人が多いのではないかと思います。


ただ、ご存じのように大変クセのある操作系ですので、気に入る人は少数ではないかと思います。得意とするプログラムの編集機能であっても、近年のVSのようなIDEの方が使いやすいところも多いです。現に私もvimとVSを状況に応じて使い分けています。


「覚えておくと便利なこともあるよ」ぐらいに考えておくのがいいのではないでしょうか。


最後に私のおススメ本はこれ。


Learning the vi Editor (Nutshell Handbook)

Learning the vi Editor (Nutshell Handbook)

  • 作者: Linda Lamb Arnold Robbins
  • 出版社/メーカー: Oreilly & Associates Inc
  • メディア: ペーパーバック

id:toyoshi

長文有難うございました。ここまで回答を読んでいてemacsにしようと思っていたのがviに傾いてきました・・・

2007/06/21 20:39:08
id:dev_zer0 No.12

回答回数332ベストアンサー獲得回数25

ポイント13pt

Unixユーザがviを使えないことは致命的ですが、

全ての編集をviやemacsのキーバインドで行うのはやりすぎと私は思います。

例えば客先でカスタマイズできないPCとかで通常業務がこなせなかったり、

他人のマシンの操作が出来なくなったりしそうです。

# というか、私がそうでした


GUIを入れずにUnixで色々なサーバを立てる羽目になると

viの操作方法は一通り覚える羽目になります。

id:toyoshi

>全ての編集をviやemacsのキーバインドで行うのはやりすぎと私は思います

参考になります。有難うございます。

2007/06/21 20:45:10
id:guyon No.13

回答回数3ベストアンサー獲得回数0

ポイント12pt

2年前からvimユーザーです。


最初はunixを扱う際にvimを使いこなせていれば便利だろうという事と、

先輩から「vimは使いこなせるようになったら手足のように動いてくれ

るらしいよ」と言われたことから使い始めました。


私の場合は使っている最中に自分の中でステップアップを実感しました。

Java開発などではEclipseも使いますが、基本はvimでPG作業しています。


●第一段階

:Tutorial

を読むだけではなく実際にやってみた。

vimの動き方がわかった。wとeとbが超便利だと気づく。

移動と編集の基本動作を覚えて、矢印キーを封印した。



●第二段階

繰り返し機能やマクロ機能を使ってみた。

同じ事を繰り返すのは面倒なので、ピリオドで繰り返しを使うようにした。

テキスト編集などで一連の動作を繰り返しをするようなことは、マクロを使っ

て繰り返しできないか考える癖をつけた。

結果、面倒くさい事が100@aなどのマクロの繰り返しで、自分が楽になっ

たことに気づき、マクロ動作を考えるのが楽しくなった。



●第三段階

コードを書くときには、vimを使う癖をつけた。

http://www.kaoriya.net/vimdoc_j/index.html

のusr_xx.txtのヘルプを見て、便利そうな機能をちょっとづつ使うようにした。


gfに感動。


その結果ファイルを開きまくって作業するようになった。移動は単語の上で

#を押して、nで移動しまくり。ctrl-oで戻りまくり。


自由に動けるようになってたり、編集しやすくなったので指に馴染んできた

感がした。


が・・・複数ファイル間の切替に困り始めるなど、不便も感じるようになる。


●第四段階

pluginで不便を解消できると知り、tabbar.vimを入れて、バッファ間の切替

が便利になった。調子に乗って、他にも沢山のプラグインを入れまくった結果、

よく使うpluginとあまり使わないpluginがあることに気づく。

plugin関係でvimrcに設定をすることもあるので、vimrcのカスタマイズにも手を出す。


この頃、vimが自分好みの動きや結果を出してくれるようになる。


●第五段階

不便を感じ始めるよりも、もっと便利にしたいと感じはじめる。

vimにはまっていることに気づく。

たまにヘルプを見ると、使っていなかった機能を発見し取り入れる。

レジスタって便利だなとか・・・


1週間に数件はvimscriptアップデートされているので、www.vim.orgをチェックする癖がつく。


以上が、私の実体験を思い出してのステップアップ記録です。

第五段階になるまでは半年から1年くらいはかかった覚えがあります。


少しでも参考になれば、うれしく思います。

id:toyoshi

100点満点の回答です有難うございます!

2007/06/23 02:27:02
id:sankaseki No.14

回答回数2ベストアンサー獲得回数0

ポイント12pt

すでに様々なサイトが紹介されている様なので簡単に

楽をする為に努力することを厭わないならばその扉を開けよ


これから行う操作にはもっと楽な方法があるのではないか?

という疑問を常に持ち、こんなことがしたいなぁと思ったら

ヘルプやFAQサイトを調べて見てください。

必ず今までよりも楽な方法が見つかりますよ。


例えばこんな感じ…

使用ツール:vim

状   況:ある変数がこの先のソースで使用されているかを確認したい

/[確認したい変数] で検索する?

いやいや

検索したい変数の上にカーソルを移動し *

これだけで十分です。

id:toyoshi

>楽をする為に努力することを厭わないならばその扉を開けよ

そのとおりですね、有難うございます!

2007/06/24 01:36:17
id:misosoup No.15

回答回数27ベストアンサー獲得回数0

ポイント12pt

Linuxの良さ、使い方が全然わからなかった頃、上司に「自分のPCにインストールしてみれば自然に覚えるよ」と言われ、自分の家にあった古いPCに自分でLinuxをインストールして使っていくうちに覚えました。

Linuxのおもしろさにハマってしまい、仕事で使うノートPCにもLinuxをインストールし、開発は基本的にviで行うようになりました。

やっぱり手元をほとんど動かさずに一通りの機能が使えるのがうれしいですね。

esc、i、:w、:q、:q!

を覚えればなんとかなります。

おまけで

h、j、k、l

を覚えればちょっとカッコイイかも。


まぁviの弊害として、キーボードから入力中に、暇になるとescをとりあえず叩くクセが付いてしまいましたがw

id:toyoshi

回答有難うございます。

>やっぱり手元をほとんど動かさずに~

この数日で、この段階までは進めたと思います。

これからも頑張ります

2007/06/24 01:37:37
id:chakoku No.16

回答回数15ベストアンサー獲得回数2

ポイント12pt

<キー操作の観点で>

vi/emacsはカーソルを動かすキーバインドが存在し、編集効率を高める効果があります。(他のエディタでも同様だったらすみません)(emacsだったら、Ctrl-N,Ctrl-A etc..)

上下左右のカーソルキーでカーソルを動かすのはいちいち指をホームポジションから動かさないといけないので効率が落ちると思いますが。。

<emacsの便利な点>

emacsの場合、自分でemacs-lispでマクロを組めるので文書処理やら、ネットワーク処理やら、emacs環境内で何でも好きなことができます。

文書整形はperlを使う場合が多いかもしれませんが、emacsでもlispで組めば好きに清書できます。

lispという少し癖のある言語が壁になるかもしれませんが、マクロが組めるようになると仕事の効率も高まります。

ちなみに、自分は20年近くemacs(& meadow)を使っていますが、emacs無しには仕事もままならず、生きていません。。(笑)

id:toyoshi

>自分は20年近くemacs(& meadow)を使っていますが

20年!!

重みのある貴重なご意見有難うございます!

2007/06/24 01:39:49
id:chakoku No.17

回答回数15ベストアンサー獲得回数2

ポイント12pt

先ほど回答したもの(chakoku)ですが、少し質問を誤解したところがありました。すみません。(再編集できないので。。)

便利に思うアピールポイントですよね。。であれば、ぜひとも編集用キーバインドを覚えてみてください。

emacsの場合、編集時のおもなキーバインドは以下です。

バッファ内移動

[ESC][<] バッファの先頭

[ESC][>] バッファの末

行単位の移動

[Ctrl]+[n] 次の行 (next line)

[Ctrl]+[p] 手前の行 (prev line)

[Ctrl]+[a] 行の先頭 (a? beg of line)

[Ctrl]+[e] 行末 (end of line)

文字単位の移動

[Ctrl]+[f] 次の文字(forward char)

[Ctrl]+[b] 前の文字(backward char)

スクロール

[Ctrl]+[v] ページスクロール(下へ)

[ESC][v] ページスクロール(上へ)

ketuname さんか紹介しておられますが、emacsの場合(も?)tutorialがありますので、それを使えばすぐに覚えられます。

ただ、[Ctrl]キーはかつて(VT100やらSunのEWS)は[A]キーの横にあった(今の[CapsLock])ので、しっくりくるのですが、今のキーボードはCtrlが左の一番下になっており、使い勝手が悪いのです。

このため、Happy Hacking Keyboard([A]の隣が[Ctrl])が売られていたり、[CapsLock]と[Ctrl]を入れ替えるソフトが出回っています。

キーバインドのルールで文書編集できるようになってもあんまりありがたみが無いなーというのであれば、エディタに望んでおられる点がvi/emacsの特性と違ってる可能性があるので、他の有名どころをいろいろ探されるのもいいかもしれません。

id:toyoshi

うおおおお、丁寧な回答有難うございます。

「バッファ」ってのがemacsの特殊なところですね・・・頑張って理解します。

さっそくCapsLk(これっていい場所にある割りに使わないですよね)をCtrlに変更しました!

2007/06/24 01:42:54
id:Bez No.18

回答回数2ベストアンサー獲得回数0

ポイント12pt

Vim documentation:help

http://www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/

上記のサイトにhtml化された日本語ドキュメントがあります。

翻訳済みオンラインヘルプが一番下からダウンロードできますので

:helpで英語が出てくるのが嫌なら入れ替えてみてはどうですか?

vimdoc.zipを展開して出てきたファイル全部を、

Linuxなら/usr/share/vim/vim70/doc/

Windowsなら\vimのインストールディレクトリ\runtime\doc\

へ放り込んだら日本語ヘルプにできるはず。

Linuxの場合は環境によってパスが変わるかもしれませんが。

僕はhjklキーとか基本的な移動や、編集コマンドを覚えた後は

これを見たりして、少しづつ便利なものを自分に取り込んでいます。

習うより慣れろとも言いますし、

焦らずに日頃からテキストやコード書くときに

ぼちぼちと使っていけばいいと思います。

毎日使っていれば、自然と体の一部みたいになりますよ、きっと。

ある程度使えるようになってくると

カスタマイズが楽しく感じられる…気がします。

僕も使いはじめてまだ半年くらいですが、

使いこなせている気はしません。

ですが手段が目的化しては意味ないですし、

自分にあった方法でのんびりやるのが一番だと思います。

id:toyoshi

>Vim documentation:help

おー!有難うございます。

>僕も使いはじめてまだ半年くらいですが、

>使いこなせている気はしません。

僕もあせらず頑張ります。体験に基づく話を有難うございました。

2007/06/25 12:44:29
id:qb_dp No.19

回答回数1ベストアンサー獲得回数0

ポイント12pt

vimもemacsも使います。

使用比率はvim <<< emacsです。

よくvimはエディタ、emacsは統合環境と言われますが、

簡単に例えると

vimは木、emacsは森

といった感じでしょうか。

なんかトラブルがあった時、emacsは入ってなかったり

ぶっこわれてしまってる事があってもviはまず入ってるし、

何かあった時使える可能性がより高い。

あと、emacsはデフォルトのままだと使えない

などという理由でunix系で最低限覚えといたらいいのは

viという事を聞いたので、当初自分もvimから始めました。

(この先人たちのアドバイスに関しては今でも的を得ていると思います。)

vimの洗練されたキーバインドに比べて、

emacsは指がつりそうなくらい変態的なキーバインドなんで

当初はこんなもん使うやつの気が知れんって思ってました。

ところがどっこい、emacsではエディタはもちろん、

ウェブブラウザ、ターミナル、メール、音楽、カレンダー、todo、日記、アウトライン機能、テキストのhtml化(パブリッシュ)、wiki、テキストの読み上げ、しまいにはwebサーバ機能やテキストのモールス信号化などそんなもん使うんかい!?ってなつっこみが入りそうな思い付く限りのありとあらゆる機能を実現してしまうばかりでなく各使用状況にあわせた”モード”を持っています。

やりたければvi系のキーバインドにするモードもあります。

はてなに楽々投稿できるhatena-modeだってあります(笑)

各種プログラミング用のモードもあります。

またマクロで自動的に自分好みのセッティングに一発で

切替えたり、操作をさせるという変態連携技が可能なのです!

まぁ、何言ってるのかわからない場合はとにかく極めつくせない

ほど奥が深く無限の可能性を秘めていると思っていただければ結構です。

そんなこんなでいろんなところで予言されていたように

自分も最初の思いとは裏腹に今はemacs中毒者になりました。

だからといって決してvimを否定しません!

何故なら最初に述べた理由はもちろんの事、

emacs上でもvimのキーバインドは多少なりとも

生きてくるからです。エディタだけの部分を見るなら

今でもvimの方が使いやすいと思っちゃいますね。

あとデフォルトのエディタとしてvimが設定されている

事が多いと思うので、ファイルがvimで勝手に開いたりする事があります。

まぁ、環境変数を切替えればいいんですけど、

そんな事わからない初心者にとっては、いきなりvimで開かれたら

たまったもんじゃありません。編集すらできないと思います。

(最近はnanoが開く場合もありますが。。。)

まぁ、そういった事で遠回りかもしれないですけど、

最初は先人達の言う通り素直にvimかなと思ってます。

で、余裕が出てきたらemacsにトライと。

まぁ、こんだけ書いててなんなんですけど、

windowsユーザーであれば、わざわざこういった匠の技を

目指すような苦労?する必要もないと思いますよ。

損しているかどうか。。。むむむ、そのあたりは

個々人の価値観ってなもんがあるんで、emacsに

こんな時間たくさん費して損した!指つったじゃねーか!

って嘆きアンチになる人もいれば

こんな世界があったんだぁ!うひょ〜!と喜び中毒になる人もいるわけでなんともいい難いですね。まぁ、たぶんその分岐点は

その人がどれほど到達しえたか途中で挫折したか

ってなあたりだと思うんですけどね。

いずれにせよ、ある程度の覚悟と忍耐がいると思いますよ。

そんな自分も途中で何度挫折しそうになったかわかりません。

全ていっぺんにやろうとすると爆発しそうになるから

自分が必要なものだけ、少しずつやって行くのがいいと思います。

もし挑戦されるならがんばって下さいね!

id:toyoshi

>最初は先人達の言う通り素直にvimかなと思ってます。

>で、余裕が出てきたらemacsにトライと。

重い意見ですね~

viで編集できるのは常識レベルということですね。

非常に参考になりました。有難うございます。

2007/06/25 12:58:52
  • id:shimarakkyo
    職場のFedoraCore3環境下で他に手ごろなエディタがなくてvimもemacsも使ってましたけど。い〜や〜、使っていなくても「すごく損をしてる」って事はないと思いますよー。

    強いて挙げればエディタの選択肢が増える事と、ファイルの比較が簡単に出来る事(Kdiffとか、別のソフトを立ち上げなくてもバッファに入れて比較出来る)。。。ぐらい?

    すいません軟弱者なもんで、Xcodeみたく親切な機能が至れり尽くせり、鯛やヒラメの舞踊り、の方が好きなんです。

    ものすごーく批判を浴びそうな意見なのでコメントで。(^_^;)

    ステップアップですが、ひたすらそればっか使っていたら自然と一通りは出来る様になりました。同僚が全員、vimかemacsに長けていた為いくらでも質問に答えてくれたのも手っ取り早く上達でけた一因ですが。
  • id:toyoshi
    >「すごく損をしてる」って事はないと思いますよー。
    こういう意見も僕にとってはとても貴重です。
    vim,emacs最強!ってのは「DTPなら絶対マックだよ」というような神話の一つなのかなという不安もありますので・・・
  • id:a14
    >vim,emacs最強!ってのは「DTPなら絶対マックだよ」というような神話の一つなのかなという不安もありますので・・・
    「真空管アンプって最高!」とか「時計はやっぱり機械式だね」と通じる所はあります。
    GUIが使えなった時代の遺物をあえて覚える必要はないですよ。
    機能的には最新の統合開発環境が遥かに優れていて使いやすいです。
  • id:toyoshi
    >GUIが使えなった時代の遺物をあえて覚える必要はないですよ。

    そうなの?やっぱりそうなの?
  • id:kotorikotoriko
    プログラムには使っていませんが。
    良いことの一つに、モニタが小さくとも、まともに使えるというのがあります。
    あとは惰性ですね。
  • id:shimarakkyo
    fuentebella さんの回答を読んで思い出しちゃった。

    そういえば職場に恐ろしいぐらいタイピングが速いviを使うプログラマがおって(その人、コピーペーストするより直接打つ方が速いんです)、その人のキーボードは真っ黒です。文字や記号が一切プリントされてないの。体が憶えているんでしょうね。そういう人にはviはいいんだろうな、と思います。
  • id:udon-umama
    へたれ専門学校生ですがすこし、
    vimはShellと連携することで便利さを発揮するので
    Winではむしろ使い勝手が悪いと思います、emacs(WinだとMeadowでしたっけ?)もそれ1つでなんでもする気ならいいですが、GUIソフトばかりのWinではやはり使い勝手が悪いです、使うならやはりUnix環境ですねー
  • id:toyoshi
    昨日から矢印キーを封印するところから始めました。
    モニターにショートカットを貼り付けています。
    コピペは不便に感じますが、ホームポジションから移動しないことがこんなに楽だったんだと感動しています。
    これからもあせらずにマスターしたいとおもいます。本当にみなさん有難うございました。
  • id:sankaseki
    コピペが不便なのでしたら下の2つがお勧めです。

    ●テキストのコピー、削除の履歴を順々に参照する

    YankRing.vim というスクリプトを使用することで出来る様になります。

    参考URL
    http://nanasi.jp/articles/vim/yankring_vim.html

    ●クリップボードの内容をvim上で使用する
    逆(vimでヤンクした内容をクリップボードとして使用する)も可能

    vimrcに以下の1行を追加を追加してください。
    set clipboard=unnamed

  • id:h1r05h1
    自分は2年ほどまえに自宅のWindowsマシンが壊れて、LinuxマシンだけになったのがきっかけでEmacsを使いはじめました。

    「Emacsっていいな」と最初に思ったのはカーソル(ポイントといいますが)の移動ショートカットでした。
    昔Windowsで秀丸を使っていたころも、そういうショートカットはあったのかもしれませんが、自分はそこまでマニュアルを熟読してませんでしたので。
    テキストをコピペする作業で全くマウスを使う必要がないことが最初に気に入りました。

    次に「Emacsやっぱりいいな」と思ったのはバッファの切り替えでしょうか。
    バッファ切り替えのときに、バッファ名を補完して選べるため、たくさんテキストファイルを瞬時に切り替えながら作業できるようになりました。
    これも秀丸では経験できなかったことで、とても気に入りました。

    最近は各プログラミング言語用のモードの細かい機能に少しずつ慣れながら、快適さをどんどんふやしていけているのが楽しいです。





  • id:toyoshi
    >sankaseki
    有難うございます。さっそく見せてもらいました。
    こういう拡張がvim/emacsの魅力ですね!
  • id:toyoshi
    >h1r05h1
    ぜひ回答に入れて欲しかったです。
    >次に「Emacsやっぱりいいな」と思ったのはバッファの切り替えでしょうか。
    バッファってのがまだ理解できていないので、まさに次の僕のステップです。有難うございました。
  • id:chakoku
    >バッファってのがまだ理解できていないので、まさに
    >次の僕のステップです。有難うございました。

    以下ご参考まで

    バッファって何か自分もちゃんと理解していませんが、Eemacs/meadowでは、バッファ機能を使って、
    「複数のファイルを一度に開いて、分割ウインドウで
    扱える」という作業ができます。
    (emacsでなくても普通のエディタなら当たり前かも)

    Ctrl-x Crtl-b で今存在するバッファ一覧が出ます。
    Ctrl-x Ctrl-fで複数のファイルを読み込むと、それぞれの
    ファイル用にバッファが割り付けられます。
    バッファを渡り歩くには、
    バッファ一覧のウインドウで、V(or b or v)と押すか、
    Ctrl-x b <buffer_name> と、buffer_nameを指定します。
    ファイルを保持するバッファの場合、buffer_nameは
    ファイル名です。
    buffer_nameに限らず、全ての入力は補完されますので、
    先頭数文字で後はスペースで候補が出ます。

    ウインドウ分割はCtrl-x 2です。各ウインドウにおいて、見たいバッファを割り付ける事で、複数ファイルを分割ウインドウで
    編集できます。

    使う人の環境や目的がそれぞれ違うのでemacsがベストとは
    思いませんがエディタ(vi/emacs/秀丸?/etc)は仕事をする
    上で、作業効率を大きく変えるので、いろいろ使ってみられて
    一番フィットするのを見つけてください。

    ではでは

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません