vi 2nd

このエントリーをはてなブックマークに追加
859名無しさん@お腹いっぱい。:2011/07/28(木) 12:58:36.49
>>858
そうか、んじゃ俺の最初の人に対する答えは「どっちもダメ」だな。

>>857
う〜ん、:x は何故教えるの?
860名無しさん@お腹いっぱい。:2011/07/28(木) 13:14:30.53
>>859
>>821

話がループしてきたね。
861名無しさん@お腹いっぱい。:2011/07/28(木) 13:35:42.01
そろそろサマリを。
862名無しさん@お腹いっぱい。:2011/07/28(木) 13:42:03.51
>>860
それじゃなくて、:w と :q と :q! を教えれば充分なのに
それに加えて :x を教えるべきというのはどうして?という話。
863名無しさん@お腹いっぱい。:2011/07/28(木) 14:01:30.84
>>862
例えば複数のソースファイルを複数のxterm上で別々にviで開いて
複数ファイルに跨って編集して、そのすべてを終了する場面。
本人は全体を編集したつもりでも個別の一部のファイルは
編集されていないものもある。そんな時、:x で終了すれば
タイムスタンプの更新が最小限に抑えられ
その後の makeも合理的になる。
864名無しさん@お腹いっぱい。:2011/07/28(木) 14:45:16.66
>>863
ああ、今まで全く理解に苦しんでたが、それで貴方の主張が飲み込めた。
要はシステム管理・設定ファイルの編集とかでなく、開発用のエディタとしての本格的利用を前提にしてるのね。

…ただ、複数編集や make のためのタイムスタンプって、既に俺の前提では応用の域なんよね。
編集したつもりなのだから、更新されても make の時間的都合だけで実害はないかと。

もちろん開発用に本格的に使うなら覚えて欲しいが、それは応用操作であって
vi をとりあえず使えるようになるための基礎としては
:x も :wq も不用意な保存を招く、むしろ害悪なコマンドだと思うの。
865名無しさん@お腹いっぱい。:2011/07/28(木) 16:05:27.63
>>862
:wは必ず書き込んでタイムスタンプ変更してしまう。
:xは必要だから、かなり初期に作られたコマンド。
866名無しさん@お腹いっぱい。:2011/07/28(木) 16:06:35.82
>>864
:xに害はなく、むしろ:wに害がある。
867名無しさん@お腹いっぱい。:2011/07/28(木) 17:58:54.80
>>866
つまり、保存するときは逐次終了するのが良いと?
868名無しさん@お腹いっぱい。:2011/07/28(木) 18:12:55.06
>>867
それはまた別の話だ。


別の話をするなら、「終了しない:x」みたいなコマンドが欲しい。
今は、Ctrl-Gで編集の有無を確認して、編集有りの場合のみ :w する、
ということをしてる。
869名無しさん@お腹いっぱい。:2011/07/28(木) 18:23:17.46
:w!があるんだから、:wは必要な時だけ書きこむことになっていればよかった。
870名無しさん@お腹いっぱい。:2011/07/28(木) 18:26:17.05
その辺はedスクリプトとの互換性の問題があるから変えられなかったと思われ
edは「qして書き込んでないよって言われたら書きこめば?」って考えだと思われ
871名無しさん@お腹いっぱい。:2011/07/28(木) 20:19:52.32
>>868
全部:qで閉じれば良くね?
編集したときに:wしてたら、それで閉じれないファイルって保存し忘れたファイルだけでしょ
872名無しさん@お腹いっぱい。:2011/07/28(木) 20:24:56.19
>>868の言っているのは編集途中の保存でしょ。
さすがにそこまでタイムスタンプ保存にこだわることはないと思うが。
873名無しさん@お腹いっぱい。:2011/07/28(木) 20:30:44.00
編集途中なら編集したかどうかって数秒前の話だと思うのだけど…
874名無しさん@お腹いっぱい。:2011/07/28(木) 20:51:01.88
>>873
いいや。

>>863 の言うように複数のファイルを複数のviで同時に編集していたら、
そのうちのどれを実際に編集たかは自明ではなくなる。
875名無しさん@お腹いっぱい。:2011/07/28(木) 21:22:58.79
>>874
ってことは、貴方と俺では保存のタイミングが相当に違いそうだなあ
876名無しさん@お腹いっぱい。:2011/07/29(金) 00:06:03.49
ここの奴らなら目玉焼きの調味料で3スレ余裕だな
877名無しさん@お腹いっぱい。:2011/07/29(金) 11:02:04.72
Emacs使いが小さなファイルならviのほうがええか、と思って何日かかけてこのスレ見てたら
いきなり伸びててタワラ。
上のほうで何度もタブー視されてるが、とりあえずvim使っときゃいいんだよな?とは言ってもvimインストールした時に20MBぐらい使ったのはうぇえ?って思ったが。
オリジナルのvi使う理由ってやっぱ軽いから?nviも入れてみて違いを体感できるような感じではなかったのでとりあえず考えるのもだるいのでvim使うと思うけど。
878名無しさん@お腹いっぱい。:2011/07/29(金) 11:10:48.65
何言ってんの?
879名無しさん@お腹いっぱい。:2011/07/29(金) 17:21:08.56
>>877
最初から入ってるのを使えばよろし
最近はnanoしか入ってないのとかも確かにあるが
大概はnviかvim-tinyかオリジナルか独自版のviが入ってると思われ
880名無しさん@お腹いっぱい。:2011/07/29(金) 20:40:19.77
基本のviをマスターしておけば、どこのunixに行っても生きていける。
881名無しさん@お腹いっぱい。:2011/07/30(土) 12:54:53.75
ありがとう、名言だな。
882名無しさん@お腹いっぱい。:2011/07/30(土) 15:51:23.46
その基本のviについて質問です

カーソル位置から、次の単語の直前までを大文字化、もしくは小文字化する操作ってありますか?
vimやelvisなら v移動コマンド~ や g~移動コマンド で出来るようなのですが
nvi ではどちらも通用しなかったので、vi 全体で通用する方法はあるのかな、と疑問に思ったのです
字数数えて 数字~ ってするしかないですかね…?
883名無しさん@お腹いっぱい。:2011/07/30(土) 16:12:25.00
tr,sed,perlとかではだめなの?
884名無しさん@お腹いっぱい。:2011/07/30(土) 16:18:49.91
わからないなら黙ってろ
885名無しさん@お腹いっぱい。:2011/07/30(土) 16:20:21.92
>>883
一括処理をしたいワケではなくて、編集中にやりたいんですよね
886名無しさん@お腹いっぱい。:2011/07/30(土) 16:23:49.21
~ の一般化された方式である置換が r / R / s / S / c / C と分化している事を考えると難しそうね
887名無しさん@お腹いっぱい。:2011/07/31(日) 11:19:42.40
>>882
大文字と小文字を入れ替えるだけでいいなら set tildeop して ~w。
888名無しさん@お腹いっぱい。:2011/07/31(日) 11:49:24.97
>>887
nviやvimならse tildeopでいいんだが、
無印viではse tildeopも使えない。
889名無しさん@お腹いっぱい。:2011/07/31(日) 20:33:14.87
vi 共通となると難しそうですね…とは言え
tildeop は知らなかったので有難いです
890名無しさん@お腹いっぱい。:2011/08/26(金) 11:19:31.00
:x
891名無しさん@お腹いっぱい。:2012/01/18(水) 06:17:09.44
>>3,4修正
viソースコード
http://ex-vi.sourceforge.net/

質問
上記viでインサートモードでの^HとBSが共に効きません

$HOME/.exrcには

remap ^? ^H
remap! ^? ^H

とやってるんですがこれじゃダメなんでしょうか?
(^? ^H はコントロールコードです)
892名無しさん@お腹いっぱい。:2012/01/18(水) 06:57:22.86
stty erase '^h'
893名無しさん@お腹いっぱい。:2012/01/18(水) 08:57:49.84
>>892
bash
ash
で試しましたが消せません
何でだろう
BusyBox の vi だと消せるのに…… orz
894名無しさん@お腹いっぱい。:2012/02/15(水) 01:55:20.22
viってCRLFのCRを一括で消すことはできても
新たに一括でCRを入れる方法は無いですよね?
895名無しさん@お腹いっぱい。:2012/02/15(水) 08:55:14.10
何分考えてそう思ったん?
896名無しさん@お腹いっぱい。:2012/02/15(水) 09:35:18.83
>>894
何をしたらそういうQになるんだ?
897名無しさん@お腹いっぱい。:2012/02/15(水) 12:07:05.12
>>894
linuxだったら unix2dos コマンド使う
898名無しさん@お腹いっぱい。:2012/02/15(水) 12:10:46.39
%s/$/^M/
では駄目だよ。
899名無しさん@お腹いっぱい。:2012/02/15(水) 18:44:08.09
>>895-896
何分考えて何をしたらそういうAになるんだ?
900名無しさん@お腹いっぱい。:2012/02/17(金) 21:42:01.07
>>895 >>896 はしったかということでFA
901名無しさん@お腹いっぱい。:2012/02/18(土) 00:05:23.08
>>900
そう思っとけばぁ〜
902名無しさん@お腹いっぱい。:2012/02/18(土) 00:42:56.13
     /: : : : : __: :/: : ::/: : ://: : :/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   ヾ 丶
     "~、ソ:: :い:: :     \_  ノ ,    ヾ 丶
903名無しさん@お腹いっぱい。:2012/04/28(土) 18:11:02.63
viで、2乗とか分数とかルートとかはどうやって入力するのですか?

x^2 を ^2 じゃなくて小さい2をxの右上に書きたい
a + b / c + d で、斜線でなく、上に a + b 下に c + d 間に長い--------- にしたい
√ab で、√の上の屋根を ab のところまで引きたい

以上お願いします。
904名無しさん@お腹いっぱい。:2012/04/30(月) 23:50:07.64
viでっていうかプレーンテキストで、ってこと?
なら無理だ。
905名無しさん@お腹いっぱい。:2012/08/11(土) 16:20:38.97
solaris10に超久々触ったんだが
viってggでトップに行けないんだっけ?
906名無しさん@お腹いっぱい。:2012/08/11(土) 16:38:55.23
ggはvim方言だな。1G使え。
907名無しさん@お腹いっぱい。:2012/08/11(土) 16:57:21.63
>>906
サンクス
やっぱそうだったか
しばらく使ってなかったので何か変な事しちまったのかと思った
客先の本番系だったのでちと焦った
908名無しさん@お腹いっぱい。
:set