vi 2nd
レス数が900を超えています。1000を超えると表示できなくなるよ。
vi原理主義者の集い 2nd。
歴代スレは>>2。関連スレ・サイトは>>3。 :x :q :q! :w の順に覚えるべき。
:wq は害があるので覚えない方がよろしい。 順番で言ったら:q!が最優先だと思うが。
vi知らずに起動してしまった場合、パニックでいろいろやらかしても
ESCと:q!だけ知ってればエスケープできるし。 >>817
閉じるのは:q、それが効かない場合には:q!と:wqとを選ぶ、と教えるんだよ
ZZは常用させると保存しちゃいけないときに保存しちゃうし
体系的にほかのコマンドとの関連がないから覚えにくい あ、いやその場合も:wqは要らんか
:wの後に改めて:q、と教えるほうが良いな
何れにしろZZや:xは教えるべきじゃない :x は、保存の意思を持って使用するコマンド。
その結果、ファイルが更新されていなければ
不用意にタイムスタンプをいじらないから合理的。
:wq で終了、と刷り込まれてる人は
ファイルの内容を見るためにviを起動して
:wq で終了してタイムスタンプ更新しちゃうから最悪。 >>821
常用しちゃうとそれを終了に使っちゃうわけよ
だから保存と終了を兼ねるコマンドは教えてはならない
保存は:w、終了は:q、破棄は:q!と教えるべきかと >>822
ちがう。
最初から、保存したい時は :x
保存したくない時は :q で、駄目だったら破棄覚悟で :q! と教える。
:x で、保存したいファイルが保存されなかったということはない。
:wq は廃止するべき。 >>822
ハゲ同意
意図しない保存を防ぐ為に、:wと:qを使い分ける。
viに限らず、WinやMacのエディタやエクセルなどのソフトでも保存と終了は使い分ける。 >>822
>>823
どっちも合理的。
>>824
> viに限らず、WinやMacのエディタやエクセルなどのソフトでも保存と終了は使い分ける。
同意できない。 >WinやMacのエディタやエクセルなどのソフトでも保存と終了は使い分ける。
とっくの昔にautosaveなのだが… >>823
じゃあ、保存だけのために終了するのかい?
保存だけを単品でするクセを付けたほうが良い。
終了するときだけ保存、というのはやめたほうが良いよ。
何時間も編集してたのがdだらどうすんのさ。 >>827
もともとの話の前提が違う。
元の話は >>810 に対する反論。
言いたいことは「:wqは使うな」
vi初心者にviの終了コマンドを教える時に、
「保存して終了なら :x」
「保存せず終了なら :q を試して駄目なら :q!」
と教えろという話。
viを終了せずに保存する話はしていない。 >>827
viを使い方としては特殊だろw > 何時間も立ち上げっぱなし >>826
そのautosaveとctrl+sは機能が違うよね。
autosaveでオリジナルファイルを勝手に更新されたら、たまったもんじゃない。
それは、クラッシュした時の保険だよ。 >>810-830
お前ら、どうでもいいだろそんな話。
スレ伸びてると思ったら、大概にしろお前ら。
低レベルの話題しかできないなら、保守だけしてろよ。 タイムスタンプなんてあやふやなものに頼ってる人と一緒に作業したくないな。
共同編集するならバージョン管理使う。エディタの仕事じゃない。 >>832
タイムスタンプが確固たるものではないことは同意だが、
だからと言って無編集のファイルのタイムスタンプを :wq で不用意に更新していい
という理由にはならない。
あ、ちなみに共同編集でバージョン管理は当然使ってるし。 >>829
常用エディタとして使うと結構、長時間起動するもんよ
まあ無保存でってのは無いだろうけどさ
んで、やっぱ保存と閉じるのは別物だと思う
その上で、:w →:q とすべきであって
:x や ZZ で覚えてしまうと「viは閉じる=保存のエディタなのか」と誤解されかねない
:wq は :w →:q をセットにしたものだよ、と体系的に覚えられるのが利点
「保存するという明確な意思がある」なら尚更タイムスタンプなんて更新する前提だろ
保存するという明確な意思があるのに、無変更ってそれどんな場合だよ >>834
「保存するという明確な意思がある」なら :x でいいじゃん。
なんでタイプ数の多い :wq 使うの?
> :w →:q をセットにしたものだよ
:w と :q をセットで使うのは無駄。セットで使ってはいけない。 >>835
同じような機能を覚えるのがめんどうです。
ZZは、初心者が終了できない地獄に陥ったときに、簡単で覚えやすい為だけにあると思う。 >>836
なんだ、viの機能使いこなしてないユーザーのたわごとだったか。
結論「:wq は使うな」 >>837
始めから初心者に教える場合の話をしてただろ >>821 の考え方だと、ファイルの内容を見ただけなのに :x で閉じてしまう。 >>841
それでOKだが。
>>821 には「保存の意思を持って」とちゃんと書いてある。
ファイルの内容を見ただけなのに :wq で閉じてはいけないという主張だよ。 >>842
いや見るだけなら保存の意思なんて無いじゃん。
保存の意思が無いなら :wq だって使うべきではないよ。
>>821 は上段と下段で前提が変わっちゃってるのよ。 >>843
前提は >>810 に対する反論で、:wq ではなく :x (原文はZZだが)を
教えろという主張
ファイル開いて時間が経って
多分編集はしてないはずだけどもしも編集していたら保存はしたい
でも編集してなければ無闇にファイルを触らないで欲しい
という状況は良くあることで
そういう時にいつも :x を使えということ >>844
う〜ん…その状況だとまず :q じゃね?
:wq の利点は、そこから :q や :w に発展できることであって、理想はその :w や :q だと思うのよ
ZZ から教えてしまうと、ZZ 単体で学習が止まってしまって、発展しない
結果としてZZの常用になりがちになってしまう
でもZZは保存コマンドであって終了コマンドではないのよ、常用すべきじゃない(それは :wq も一緒)
:w や :q に辿り着けるようなものにすべきだと思うのが俺の主張かな >>845
発展の方向が逆だよ。
:x のあと、:q や :w を(:wqよりも)先に教えるから。(:wqは教えないけど)
:wqを先に教えて :qと:wに発展? させることはない。
それに、:wqなんてコマンドが使えるなら、
:we file2 とかも使えるの? とか、横道にそれちゃう。
:wqコマンドはviの設計ミスだね。 >>846
:x → :q や :w は発展ではなく、完全に別のコマンド体系じゃん。
もちろん :wq だって別のコマンドではあるんだが、覚えやすい。
:we は試してみれば判る話だろ。 >>847
完全に別のコマンドというか、独立した別のコマンドを教えたいんだから
問題なし。なんで「発展」とやらにこだわるの?
>:wq だって別のコマンドではあるんだが、覚えやすい。
「覚えやすい」が理由かよw
ということは :wq の害悪性については認めたんだなw >>848
害悪さで言えば :wq も ZZ も害悪だと思う。 >>848
何度も書いたが、:wqやZZ、:xで落ち着いてはいけない。
でも:xやZZというコマンドを最初に説明してしまうと、それが常用のコマンドとの誤解を与え兼ねない。
:wqの場合「実は:wと:qってコマンドがあって、これが元になってるのだよ」っていう風に素直に進めるの。 もっと言えば、:wq、:x、ZZのいずれも教えてはならない、と思う。
ただ、あえて最初に挙げられた両者のどちらかと言うならば、:wqのほうが:wと:qにすんなりたどり着けるだろう、ということ。 :x は常用のコマンド。
ZZは入力がわかりにくいし、
:x file とか
:x! とかに相当する動作ができないので使わない。
繰り返すが、
:x は常用のコマンド。 :x file ねえ… :w file → :q じゃダメなのかい
:x だけ教えられた初心者は保存せずに終了したい場合や
現在のファイルに上書きした上で他のファイルにも書き込みたい場合はどうするんだ?
結局 :w や :q も教えなくちゃならなくなるじゃないか。
vi の基本操作だけでも手一杯の時期なんだから、覚えるコマンドは少なく、かつ汎用性のあるものが良い。
保存と終了がセットのコマンドは、それがセットの場合にしか使えない。
:w と :q をセットで教えるほうが、いくらでも応用が効くよ。 …ちょっと例えば悪いか。いずれにしろ :x は
保存と終了を兼ねるという用途でしか使えない。
それは確かによく使う組み合わせかも知れないが
それだけでは保存だけ、終了だけの場合に対応できない。
保存だけって操作はよく使うだろ?終了だけの操作もよく使う。
だったら、セットのコマンドなんて教えずに、両方を教えたほうが汎用的。 >>856
勘違いしてもらっては困るが、
俺は :x :q(!) :w を教えて :wq を教えるなという主張だよ。
「保存だけ(:w)、終了だけ(:q)」を教えないなんて言ってない。 >>853
:wq → :w :q って、この場合1例しか成り立たない特例だよ。
1例しかない特例に「発展」(笑)とかの妄想的意味づけするのはアホ。
:se ≠ :s :e
:vi ≠ :v :i
だし。
もちろん、:se :s :e :vi :v :i は実在するexコマンド。 >>858
そうか、んじゃ俺の最初の人に対する答えは「どっちもダメ」だな。
>>857
う〜ん、:x は何故教えるの? >>860
それじゃなくて、:w と :q と :q! を教えれば充分なのに
それに加えて :x を教えるべきというのはどうして?という話。 >>862
例えば複数のソースファイルを複数のxterm上で別々にviで開いて
複数ファイルに跨って編集して、そのすべてを終了する場面。
本人は全体を編集したつもりでも個別の一部のファイルは
編集されていないものもある。そんな時、:x で終了すれば
タイムスタンプの更新が最小限に抑えられ
その後の makeも合理的になる。 >>863
ああ、今まで全く理解に苦しんでたが、それで貴方の主張が飲み込めた。
要はシステム管理・設定ファイルの編集とかでなく、開発用のエディタとしての本格的利用を前提にしてるのね。
…ただ、複数編集や make のためのタイムスタンプって、既に俺の前提では応用の域なんよね。
編集したつもりなのだから、更新されても make の時間的都合だけで実害はないかと。
もちろん開発用に本格的に使うなら覚えて欲しいが、それは応用操作であって
vi をとりあえず使えるようになるための基礎としては
:x も :wq も不用意な保存を招く、むしろ害悪なコマンドだと思うの。 >>862
:wは必ず書き込んでタイムスタンプ変更してしまう。
:xは必要だから、かなり初期に作られたコマンド。 >>864
:xに害はなく、むしろ:wに害がある。 >>866
つまり、保存するときは逐次終了するのが良いと? >>867
それはまた別の話だ。
別の話をするなら、「終了しない:x」みたいなコマンドが欲しい。
今は、Ctrl-Gで編集の有無を確認して、編集有りの場合のみ :w する、
ということをしてる。 :w!があるんだから、:wは必要な時だけ書きこむことになっていればよかった。 その辺はedスクリプトとの互換性の問題があるから変えられなかったと思われ
edは「qして書き込んでないよって言われたら書きこめば?」って考えだと思われ >>868
全部:qで閉じれば良くね?
編集したときに:wしてたら、それで閉じれないファイルって保存し忘れたファイルだけでしょ >>868の言っているのは編集途中の保存でしょ。
さすがにそこまでタイムスタンプ保存にこだわることはないと思うが。 編集途中なら編集したかどうかって数秒前の話だと思うのだけど… >>873
いいや。
>>863 の言うように複数のファイルを複数のviで同時に編集していたら、
そのうちのどれを実際に編集たかは自明ではなくなる。 >>874
ってことは、貴方と俺では保存のタイミングが相当に違いそうだなあ Emacs使いが小さなファイルならviのほうがええか、と思って何日かかけてこのスレ見てたら
いきなり伸びててタワラ。
上のほうで何度もタブー視されてるが、とりあえずvim使っときゃいいんだよな?とは言ってもvimインストールした時に20MBぐらい使ったのはうぇえ?って思ったが。
オリジナルのvi使う理由ってやっぱ軽いから?nviも入れてみて違いを体感できるような感じではなかったのでとりあえず考えるのもだるいのでvim使うと思うけど。 >>877
最初から入ってるのを使えばよろし
最近はnanoしか入ってないのとかも確かにあるが
大概はnviかvim-tinyかオリジナルか独自版のviが入ってると思われ 基本のviをマスターしておけば、どこのunixに行っても生きていける。
その基本のviについて質問です
カーソル位置から、次の単語の直前までを大文字化、もしくは小文字化する操作ってありますか?
vimやelvisなら v移動コマンド~ や g~移動コマンド で出来るようなのですが
nvi ではどちらも通用しなかったので、vi 全体で通用する方法はあるのかな、と疑問に思ったのです
字数数えて 数字~ ってするしかないですかね…? >>883
一括処理をしたいワケではなくて、編集中にやりたいんですよね ~ の一般化された方式である置換が r / R / s / S / c / C と分化している事を考えると難しそうね >>882
大文字と小文字を入れ替えるだけでいいなら set tildeop して ~w。 >>887
nviやvimならse tildeopでいいんだが、
無印viではse tildeopも使えない。 vi 共通となると難しそうですね…とは言え
tildeop は知らなかったので有難いです >>3,4修正
viソースコード
http://ex-vi.sourceforge.net/
質問
上記viでインサートモードでの^HとBSが共に効きません
$HOME/.exrcには
remap ^? ^H
remap! ^? ^H
とやってるんですがこれじゃダメなんでしょうか?
(^? ^H はコントロールコードです) >>892
bash
ash
で試しましたが消せません
何でだろう
BusyBox の vi だと消せるのに…… orz viってCRLFのCRを一括で消すことはできても
新たに一括でCRを入れる方法は無いですよね? >>894
linuxだったら unix2dos コマンド使う >>895-896
何分考えて何をしたらそういうAになるんだ? >>895 >>896 はしったかということでFA /: : : : : __: :/: : ::/: : ://: : :/l::|: : :i: :l: : :ヽ: : :丶: : 丶ヾ ___
/;,, : : : //::/: : 7l,;:≠-::/: : / .l::|: : :l: :|;,,;!: : :!l: : :i: : : :|: : ::、 / ヽ
/ヽヽ: ://: :!:,X~::|: /;,,;,/: :/ リ!: ::/ノ l`ヽl !: : |: : : :l: :l: リ / そ そ お \
/: : ヽヾ/: : l/::l |/|||llllヾ,、 / |: :/ , -==、 l\:::|: : : :|i: | / う う 前 |
. /: : : //ヾ ; :|!: イ、||ll|||||::|| ノノ イ|||||||ヾ、 |: ::|!: : イ: ::|/ な 思 が
/: : ://: : :ヽソ::ヽl |{ i||ll"ン ´ i| l|||l"l `|: /|: : /'!/l ん う
∠: : : ~: : : : : : : :丶ゝ-―- , ー=z_ソ |/ ハメ;, :: ::|. だ ん
i|::ハ: : : : : : : : : : : 、ヘヘヘヘ 、 ヘヘヘヘヘ /: : : : : \,|. ろ な
|!l |: : : : : : : : :、: ::\ 、-―-, / : : :丶;,,;,:ミヽ う ら
丶: :ハ、lヽ: :ヽ: : ::\__ `~ " /: : ト; lヽ) ゝ
レ `| `、l`、>=ニ´ , _´ : :} ` /
,,、r"^~´"''''"t-`r、 _ -、 ´ヽノ \ノ / お ・
,;'~ _r-- 、__ ~f、_>'、_ | で 前 ・
f~ ,;" ~"t___ ミ、 ^'t | は ん ・
," ,~ ヾ~'-、__ ミ_ξ丶 | な 中 ・
;' ,イ .. ヽ_ ヾ、0ヽ丶 l /
( ;":: |: :: .. .`, ヾ 丶 ! \____/
;;;; :: 入:: :: :: l`ー-、 )l ヾ 丶
"~、ソ:: :い:: : \_ ノ , ヾ 丶 viで、2乗とか分数とかルートとかはどうやって入力するのですか?
x^2 を ^2 じゃなくて小さい2をxの右上に書きたい
a + b / c + d で、斜線でなく、上に a + b 下に c + d 間に長い--------- にしたい
√ab で、√の上の屋根を ab のところまで引きたい
以上お願いします。 viでっていうかプレーンテキストで、ってこと?
なら無理だ。 solaris10に超久々触ったんだが
viってggでトップに行けないんだっけ? >>906
サンクス
やっぱそうだったか
しばらく使ってなかったので何か変な事しちまったのかと思った
客先の本番系だったのでちと焦った 今までexモード(コマンド)って過去の互換性だけに残ってる要らない機能だと思ってた。
exコマンド使ったらすごく便利。
今まで損してた。
こんなのオレだけ? >>903
roff系コマンド、Latex、plain2 のいずれかを使えばできるはず。
使った事がないのでよく分からない。 Visual な Vim は vi と認めたくない(錯乱 誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
JI5Q4SWAW5 知り合いから教えてもらったパソコン一台でお金持ちになれるやり方
時間がある方はみてもいいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
UUAHR レス数が900を超えています。1000を超えると表示できなくなるよ。