近年Vimは過大評価されている? 181
ストーリー by hylom
最近vimでの行番号表示の仕方を覚えました 部門より
最近vimでの行番号表示の仕方を覚えました 部門より
insiderman 曰く、
さくら匿名ダイアリーの「最近のvim偏重主義に思うこと」なる投稿がはてなブックマークで話題を集めている。かつてはサーバー管理者が使用するエディタと言えばvi(Vim)とEmacsだったが、最近ではVimだけが妙にもてはやされすぎているのではないか、という論調だ。
確かにはてなブックマークでは妙にVim関連の話題が目に付く一方、Emacsに関する話題はほとんど見かけない。まあGitHub製のエディタであるAtomやAdobeのBraketsの話題はそれなりに見かけはするので、Emacsがあまり話題になっていないだけのような気もしないでもないが、しかし確かに制約が多くレガシーなVimがこれら2010年代製エディタと同程度に話題になるのは不思議ではある。
タレコミ子はVim(vi)は最小限の編集機能は覚えているものの、リモートログイン時の設定ファイル編集等にしか利用していないためあまり思い入れはないのだが、今更Vimを、特にWindowsで利用するメリットはどこにあるのだろうか? 皆様に伺いたい。
過大評価っつーより (スコア:2)
本命emacs、対抗馬vimみたいな特集をSDあたりでガンガンやっちまったせいじゃないの?
viは入ってないと困るけど、vi以上のことは求めてないし。子タコだから。
それよりW8以降のメモ帳の挙動変化をどうにかしてくださいよ。もうエディタとして使い物にならないよ。
Re:過大評価っつーより (スコア:1)
ですよね
viの良いところは初めて入るとこでもほぼあるってとこで
個人用にカスタマイズしたプロファイルを前提としたvimとかは
用途が別物な気がします
LinuxをCUIでいじるならvi覚えとけ
↓
普段からviに慣れるためにvimつかっとけ
てな感じでvimの機能評価とは別次元の話な気がします
仕方ない (スコア:2, 参考になる)
指が覚えて勝手に動くとかいう次元ではなく、脳が Vi の編集コマンドで思考するようになります。
件のブログでは、日本語に向いてないとか言ってますけど、プログラムだろうが日本語の文章だろうが全く差はありません。
シェルのコマンドラインエディタも zsh で bindkey -v 一択、readline の vi モード相当のbash とかでは全然物足りないぐらい。
Emacs でも nano でも、考えながらなら使えますけど、一旦 Vi の編集コマンドで考えた結果があって、それを自分で翻訳しなおして編集するような感じになり、とても効率が悪い。
そうなってしまうと Windows 上でも Eclipse だろうと Visual Studioや Word/Outlook も Vi キーバインドのプラグインないと使えないという事になっちゃうんです。
まぁ、プログラム書くときはプロポーショナルフォントじゃないと辛いので本物(?)の Vim は、Linux のコンソール直接触るときしか使いませんが。
いいか悪いかっていうと、悪い状態だよなぁと思うので、後輩とかには Vi は覚える必要あるけど常用するなと教えてますが。
Re:仕方ない (スコア:2)
まぁ慣れればviとEclipse(デフォルトキーバインド)を行ったり来たりもできるよ。たまに間違えるけど笑
慣れだよ。
#Emacsは覚えられなかったorz
Re:仕方ない (スコア:1)
プログラマにもプロポーショナルフォント派は一定いるんですよ。
「じゃないと辛い」まで行くとちょっと過剰に思いますが。
Re:仕方ない (スコア:1)
最近の一部言語での、やたらに文字数の多いクラス名・関数名・プロパティ名その他は、固定ピッチよりプロポーショナルピッチの方が見やすいのかな……と思ってみたり。
Vim≠vi (スコア:2)
Vim なんて所詮 vi クローンの1つでしかないのに、
Vim(vi) と書いてる所もあれば vi(Vim) と書いてる所もあるようなタレコミ文こそが、
Vim の過大評価感というか Vim 以外の vi を認めないような傲慢さを感じますね。
#そんな私は nvi 使いな FreeBSD ユーザー。nvi-m17n は UTF-8 対応してないというのが目下の悩み。
Re:Vim≠vi (スコア:1)
Plamo Linuxも、nviのm17n拡張を採用しています。
nviを使い込んでいると、vimでさえ鬱陶しくなるので、
他のディストリを触るときに、まず最初にやるのは、
nviのインストールです。:-P
Plamo-6.xから、UTF-8も編集できるようになった模様。
Re:Vim≠vi (スコア:1)
この書き込みをみて、Plamoを入れてみた。
/usr/bin/viがシェルスクリプトになってて、
nkfでUTF-8の判定と変換してた。悲し。
Re:Vim≠vi (スコア:1)
「vi と nvi」は「rogue と Rogue Clone(固有名詞)」のような、「本物そっくりを目指したクローン」だと思いますが、
「vi と Vim」は「rogue と nethack」というぐらい別物になってると思います。
「nethack は rogue クローンではなく、rogue ライクゲーム」であるように、
「Vim はviクローンエディタ ではなく viライクエディタ」と言うべきかも。
Re:Vim≠vi (スコア:1)
私自身は確認してないんですが、OpenSolaris の vi は昔ながらの本物の vi だったはず。
nvi は、BSD からAT&T 由来のコードを排除する過程で生まれた、
「AT&T由来のコードを使っていないvi」という立ち位置のviクローンであり、
そういう経緯から BSD 系の多くは nvi になってますけど、
そういう問題の無い SystemV 系は本家viでしょう。
Re:Vim≠vi (スコア:1)
いや逆でしょう
viそのものがBSD用に開発されたex由来ですからsystemVにはBSDから移植されたはずです。
Re:Vim≠vi (スコア:2)
さらに元をたどると、「ex は AT&T UNIX 用のテキストエディタである ed 由来」であり、edのソースを流用しているので、
「viはBSD用に開発されたテキストエディタ」ですけど「vi には AT&T由来のコードが混入
」しています。
で、AT&T由来のコードを排除するという4.4BSDのリリースで生まれたのがnvi。
Re:Vim≠vi (スコア:1)
そういうことですかややこしい。
元はV6かV7当たりですか
一応4.xBSD&SysV派生系の混沌としていた時代は知ってるつもりでしたがそこまでは知りませんでした。
#ベンダーによってコマンドのパスや挙動が微妙に違うのに悩まされた事を思い出しました。
鯖管理に使うならとりあえずed覚えとけって… (スコア:2)
言われたんですけど。edの実体がどうとかって話は別にして。
もちろん普段使いは有り物をデフォルト設定で使ってます。
環境持ち歩くのめんどくさいですし出先の環境で何かしたい時とかとまどうし。
触れる機会がなくならないからじゃないの (スコア:1)
viはサーバの設定などで嫌でもふれる。その中から一定数のvi好きができる。
emacsは興味を持って使い始める必要があり、使ったことがある人は少ないので、好きになる人も少ない。
(私は大学でmule使わされて、興味もちました)
Re:触れる機会がなくならないからじゃないの (スコア:2, おもしろおかしい)
>viはサーバの設定などで嫌でもふれる。
嫌で/もふれる
と区切って読んでしまった俺はどうなってるんだ・・・寝てきます。
Re:触れる機会がなくならないからじゃないの (スコア:1)
その場の手仕事をたいてい否定してくれちゃったりする無謬主義な上役がいる場合
書き換えおよび手戻り用sed スクリプト実行手順書を作らせてレビューした上で
再鑑して…となるのかと思いきや
なぜかやっぱりviを使うあたりいまだに納得できる説明を得られないで今に至る。
さくら匿名ダイアリー (スコア:1)
さくら匿名ダイアリーってなんやねん
さくら匿名ダイアリーとは (スコア:1)
匿名のさくらなんですかね?
反論がきてる (スコア:1)
http://anond.hatelabo.jp/20151225003934 [hatelabo.jp]
個人的には言いたいこと全部書いてくれた感じ。
てか、「鼻持ちならないUNIXプログラマー」を戯画化した釣り投稿じゃないの。匿名ダイアリーだし。
Macbook (スコア:1)
MacBookではcommandキーが使えるからVimが便利なんだ、って人はいましたけどホントですか?
自分は昔はemacs使ってたけど最近はさっぱり使ってない。ネットやメールで文章書くときにemacs風キーバインド使えてればそれで満足な感じ。
「ではvi訓、詠唱始めッ!!!!」 (スコア:1)
何のためにUNIXを起動する?
――viを操作するためだ!!
何のためにviを操作するんだ!?
――viの使い心地を実感するためだ!!
viは何故起動されるんだ!?
――viがインストールされていることを確認するためだ!!
お前がemacs使いにすべき事は何だ!?
――匿名掲示板で炎上祭り!!!
viは何故インサートモードがある!?
――emacsのオカマ野郎がモードレスだからだ!!
インサートモードとは何だ!?
――書き終わるまで入り、出た後は修正しない!!
viとは何だ!?
――emacsより軽く!emacsより速く、emacsより小さく、そして何よりも使いやすい!!
vi使いが食うものは!?
――ステーキとウィスキー!!
ロブスターとワインを食うのは誰だ!?
――弱虫オカマのemacs使い!!
お前の師匠は誰だ!?
――/bin/cat!!スクリーンエディタなどとは気合いが違うッ!!
viはWindowsと相性がいいのかも (スコア:1)
WindowsでViVi [dyndns.org]を使っています。viキーバインドも使えるエディターです。
Windows定番のショートカットであるCtrl+X(カット)、Ctrl+C(コピー)、Ctrl+V(ペースト)、Ctrl+Z(アンドゥ)、Ctrl+S(セーブ)、Ctrl+O(オープン)などがそのまま使えるので、うっかりやらかしても大丈夫。Alt+F(ファイルメニュー)、Alt+E(編集メニュー)なども問題ない。
Emacsも使えなくはないけれど、ときどき無意識にWindowsショートカットを使ってしまうと、驚きの結果が待っている……。
個人的には、EmacsとTeXには深入りしないことにしています。あれにはまると、何から何までその中でやろうとして、そこから出てこれなくなるので(偏見?)。
vimが一番合ってる感 (スコア:1)
コーディング環境が結局vi(vim?)になるのは以下の消去法的理由です。
- スクリプト言語 perl/ruby/python/javascript の順で一通り使うので個々のIDEは使えない。
- インストールしなくていい(時々rootになれない場合あり。あとインターネットから隔離されてる場合も)
- 開発対象の仮想マシンがころころ変わるので標準的なvim以外使えない
- フリーのしか(基本)使えない
vimの場合、とりあえずNeoBundleでインストールしたプラグインでhilightしてくれるので、一応用が足ります。
しかも個々のプログラムは小さいので、探してインストールして
習熟している間に作業は終わってしまう。。
と考えると、vimにする理由は単に「自分の条件では便利だから」ぐらいの消極的理由です。
私にはWindowsで使いたい理由はわかりません。。秀丸な人なので。。
とりあえずTeXについてはEmacsですね (スコア:1)
EmacsならPDFからジャンプとかできるから校正の時とか使いづらいことない。(そういう問題じゃない)
https://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Emacs#v19f2543 [mie-u.ac.jp]
サーバー管理で仕方なく使ってるぐらい (スコア:0)
もっぱらデスクトップな環境では別のもの使ってることが多い
#というかたいてい言語にそったIDEについてるやつ
Vimが過大評価されているというよりも (スコア:0)
個人的には、Vimコミュニティのノリというか雰囲気についていけない
#うまく表現できんが
ブログのネタとしてvim の設定が話題になってるだけでは? (スコア:2)
流行っていると言っても,はてなやqiitaで目にするだけで
ブログのネタとして vim の設定を話題にしているだけのように思います
個人的には vi はデフォルトの設定で使うべきで,自分用のカスタマイズは emacs ですべきだと思います
理由は,サーバーの保守作業ではデフォルトの vi を使うことが多いからです
サーバーが障害でダウンしました.早く復旧させたいんだけど vi がデフォルト設定で使いにくくて
復旧作業が捗りません,とか言う奴がいたらイラッとしませんか?
Re:ブログのネタとしてvim の設定が話題になってるだけでは? (スコア:1)
緊急時のテキスト編集にかぎらず、コード書きや、文章書きなど通常時のテキスト編集でもっぱらVimを使っています。そのためメインの作業環境では、ある程度.vimrc [bitbucket.org]をカスタマイズしてます。プラグインは1-2のファイルタイププラグイン(Emacsのメジャーモード相当)しか入れていません。これは私にとってbash+find+grep+デフォルトのファイル名補完で充分だからであって、便利に感じる人は使えばいいと思っています。
これはあまり現実的な心配事ではないように思います。復旧作業中のテキスト編集は、せいぜいファイルを開いて一部編集して ZZ ですよね。このような作業では、uniteなど高機能プラグインの出る幕ではありません。ノーマルモードのコマンドを大々的にリマップしているのであれば話は別ですが(※1)、そうでなければふだんの操作とたいして変わらないはずですし、実際私も困ったことはありません(※2)。
※1 こういった設定をするvim使いはおそらく稀です。ノーマルモードのコマンドこそがvi(m)のvi(m)たる所以ですから。
※2 1ウィンドウのみ開いている状態でステータスラインが表示されないのは唯一気になります。そのため、常にステータスラインを表示させる、 :set ls=2<CR> は指が覚えています。
Re:ブログのネタとしてvim の設定が話題になってるだけでは? (スコア:1)
サーバー保守作業の効率化?のためだけに普段の不便を取るんですか?
普段は、別のエディタ(emacs)を使うって読めませんか?
Re:ブログのネタとしてvim の設定が話題になってるだけでは? (スコア:1)
どこに書いてあるんですか?なぜそのように解釈する必要があるのですか?
カスタムするならemacsだけにしろとしか言ってないですよね?
私はvimもemacsもどうでもいい人間ですが、元のコメントは大前提として、そのようなニュアンスを言外に含んでいると理解します。
もちろんどこにも書いてないですが、書いてなくても読み取るのが行間を読むということです。
emacsを使わないならemacsをカスタマイズする意味はありません。
vimではなくemacsのカスタマイズを勧めている点で、そう明言していなくても、普段はemacsを使う(使えばいい)という意識が元発言者にあるのがわかります。
その意見に納得できるかどうかは人それぞれでしょうし、あなたは納得しないでしょうけれど。
オフトピ(-1) (スコア:1)
ストーリーから逸脱するコメントで恐縮ではありますが…
「混ぜるな危険」
よくわからんけど (スコア:0)
よくわからんけど、マウスはおろかカーソルキーにさえ手を持って行く必要がないので、手をホームポジションからできるだけ動かしたくないずぼらな人に人気があるとか?
でも、これってVim (vi)だけの特長じゃないよね。
Re:よくわからんけど (スコア:1)
(▼▼メ){なんだって?!
Re:よくわからんけど (スコア:1)
viとそのクローンほとんどすべてで共通だったと思う。
むしろ例外があれば希少種だからぜひ知っておきたい。
Re:よくわからんけど (スコア:1)
そうですね。素通しであってそれはほとんどTTYドライバのお仕事なんですよね。
Re:よくわからんけど (スコア:1)
素でわかっていないんですが、コマンドラインから起動しないときは
それでEscキーと同じ効果が得られる?
マニュアルなどでも記述されている正しい操作?
// 馴染んでいる環境でそれやると編集作業が台無しだから試さない。
Re:よくわからんけど (スコア:1)
そもそも、emacsはlispインタプリタの塊ということで、当時(90年代なかばまで)のマシン内では物凄いメモリを消費してたんですよね。(GUI抜きで十数メガバイトとかそういう事も少なくなかった)。
私のTownsは8MBytesしかメモリ積んでなくて、頻繁にスワップしてましたね(^_^;
でも、使い勝手いいしエディタ内でmakeコマンド流せたし必須だった感じが。
Re:よくわからんけど (スコア:1)
EMACS = Eight Megabytes And Constantly Swappingというのを思い出しました :-)
テキストエディター (スコア:0)
として優秀すぎたせいで、Vim以外のソフトウェアでテキストを編集する時にもVim風の操作ができないと我慢できなくなる。
しかし全部のソフトウェアがViモードを備えているわけではない。
そうするとVim上で、使いたいソフトウェアの機能を実装するしかないのだ。
モーダルなのめんどくさい (スコア:0)
Re:なにいってんのこの人… (スコア:1)
bash や zsh は bindkey も、set -o vi もどちらでも出来るけど、zsh は set -o vi と bindkey -v で差分があるので vi な人は bindkey 使ってる人の方が多いんじゃないかな。
後期の bsh でも bindkey
ash と何でも取り込む bash/zsh で set -o vi が使えるか。
本当に何の役にもたちそうにない知識だ。
Re:なにいってんのこの人… (スコア:1)
set -o [ibm.com]説に一票。
// AIX だと set -o gmacs などという変種もあるらしい。
Re:大漁だな (スコア:2)
政治ネタが伸びるよりはマシでしょう
Re:大漁だな (スコア:1)
そういえば宗教ネタのほうがレイヤは高いですね
[Q][W][E][R][T][Y]
Re:コード編集に強制されたことある (スコア:1)
筆か鉛筆かボールペンか、定規があるか無いか、下敷きが歩かないか、程度の違いはある。
nvi と vim 程度の違いなら筆のグループとして扱っても良いだろう
異論は認める。
[Q][W][E][R][T][Y]
Re:vi は [t]csh だろぅ (スコア:1)
Linuxもあと3年ぐらい経ったらPowerShell全盛になっていたりして…
// AIXのSMITみたいなのがPowerShellとコラボすればそれも大いにありえるのだが
Re:あれもそうでしょ? (スコア:1)
WordStarといえばダイアモンドカーソル。
MS-IMEでも、変換候補を選択するときに、文節移動がCtrl-S/Ctrl-Dで、前候補・次候補の選択がCtrl-R/Ctrl-Cになっています(VJEキーバインドの場合)。前候補・次候補がCtrl-E/Ctrl-Xじゃないのが気持ち悪いけど。
そんなところだけ使っている私は元WordStar 6.0(だったっけ)ユーザー。
Re:vi のデフォルト設定+α (スコア:1)
>よね?
いいえごめんなさい。
lineモード以外なら必要に応じて[ESC]^G[ESC]で行番号確認ができるので
むしろ許される状況であれば :set nonu を個人的にはすることが多いです。
現在行番号の確認をする時はいつも挿入追加上書きの操作以外の瞬間なわけで。
残余のの:set :ab や :!map やctagもviかvimでそれぞれ十人十色であろうし。
// 現在column番号確認の操作ってvimではどうするんでしたっけ?viにはない。