>>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 ってことは、貴方と俺では保存のタイミングが相当に違いそうだなあ
ここの奴らなら目玉焼きの調味料で3スレ余裕だな
Emacs使いが小さなファイルならviのほうがええか、と思って何日かかけてこのスレ見てたら
いきなり伸びててタワラ。
上のほうで何度もタブー視されてるが、とりあえずvim使っときゃいいんだよな?とは言ってもvimインストールした時に20MBぐらい使ったのはうぇえ?って思ったが。
オリジナルのvi使う理由ってやっぱ軽いから?nviも入れてみて違いを体感できるような感じではなかったのでとりあえず考えるのもだるいのでvim使うと思うけど。
何言ってんの?
>>877 最初から入ってるのを使えばよろし
最近はnanoしか入ってないのとかも確かにあるが
大概はnviかvim-tinyかオリジナルか独自版のviが入ってると思われ
基本のviをマスターしておけば、どこのunixに行っても生きていける。
ありがとう、名言だな。
その基本のviについて質問です
カーソル位置から、次の単語の直前までを大文字化、もしくは小文字化する操作ってありますか?
vimやelvisなら v移動コマンド~ や g~移動コマンド で出来るようなのですが
nvi ではどちらも通用しなかったので、vi 全体で通用する方法はあるのかな、と疑問に思ったのです
字数数えて 数字~ ってするしかないですかね…?
tr,sed,perlとかではだめなの?
わからないなら黙ってろ
>>883 一括処理をしたいワケではなくて、編集中にやりたいんですよね
~ の一般化された方式である置換が r / R / s / S / c / C と分化している事を考えると難しそうね
>>882 大文字と小文字を入れ替えるだけでいいなら set tildeop して ~w。
>>887 nviやvimならse tildeopでいいんだが、
無印viではse tildeopも使えない。
vi 共通となると難しそうですね…とは言え
tildeop は知らなかったので有難いです
:x
>>3,4修正
viソースコード
http://ex-vi.sourceforge.net/ 質問
上記viでインサートモードでの^HとBSが共に効きません
$HOME/.exrcには
remap ^? ^H
remap! ^? ^H
とやってるんですがこれじゃダメなんでしょうか?
(^? ^H はコントロールコードです)
stty erase '^h'
>>892 bash
ash
で試しましたが消せません
何でだろう
BusyBox の vi だと消せるのに…… orz
viってCRLFのCRを一括で消すことはできても
新たに一括でCRを入れる方法は無いですよね?
何分考えてそう思ったん?
>>894 linuxだったら unix2dos コマンド使う
%s/$/^M/
では駄目だよ。
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 のところまで引きたい
以上お願いします。
viでっていうかプレーンテキストで、ってこと?
なら無理だ。
solaris10に超久々触ったんだが
viってggでトップに行けないんだっけ?
ggはvim方言だな。1G使え。
>>906 サンクス
やっぱそうだったか
しばらく使ってなかったので何か変な事しちまったのかと思った
客先の本番系だったのでちと焦った
:set