vi 2nd
■ このスレッドは過去ログ倉庫に格納されています
vi原理主義者の集い 2nd。
歴代スレは>>2。関連スレ・サイトは>>3。 HP-UXのviがどういう挙動をするのかわたしは知りません、
って意味じゃないのかな。 emacsのスレは36まで逝ってるのにviはまだ2なのか・・・ viは、vi(本家)、nvi、vimとスレが分散しているのと、
vi自体が完成されていてそれ以上の話題が出にくいことが理由。
とマジレス。 vimのが最近は多数派だしな
emacsほど魔改造できるわけでもないし(それが良いところでもあるんだけど)
.exrcの内容を貼ってみるとか?
と言いつつ俺自身も素のviなんて今ほとんど使わないから
.nexrcや.vimrcならともかく.exrcなんて最近作った記憶すら無いのだが… 1つの端末で3つのファイルをごちゃごちゃ編集するとき
例)
/home/user/file1.sh
/home/user/file2.cgi
/home/user/file3.c
user$ vi ~/file*で :w :nで1個ずつやるか
user$ vi ~/file1.sh のあと Ctrl+Z と %1〜3を駆使する
以外にviらしい編集方法ないですか 自己レスだけど
:e file2.cgi
:e#
とすればいいんですね・・・
:rew
のこともたまには思い出してあげてください
ファイル数多いと辛いけどな! >>744
亀レスだが、もしかしてhpterm使ってない?
もしくは超低速回線で、Windows PCのTeraTermからloginしてたり。
マジレスするとHP-UXなんて窓から投げ捨てて、Linux PCで仕事した
方が幸せに成れるよ。たいてい最初からvim入ってるし。 busybox vi なんだけど
~/.exrc を読んでくれない
busybox-1.18.4
vi.cにはexrcを読むよ。みたいな事書いてるんだけど >>759
そう。HP-UX。
速度は分かんないけど専用線越しに、TeraTermで繋いでる。
コマンドプロンプトのtelnetでも同じ事象。
他にも色々おかしいところあるのだけど、やっぱHP-UXってダメな子なの? Macのターミナル上のvimについてなんですが挿入モードのときカーソルを細い縦線にすることはできないのですか?
常にカーソルが1文字分の幅があって右左どちらに挿入されるのかわかりにくいです… >>767
MacVimみたいに挿入モードと通常モードで切り替わるようにできないでしょうか?
>>765
誰かのメールシグ姉ちゃんに有ったけど、
「それはptyの仕業なんだよ」
ESC+キー入力、なのかエスケープシーケンスなのか、HP-UXのpty越し
には区別付かない。他にも色々問題有ったような。
リモートログインせずに、直接HP9000のコンソールで作業するか、
HP9000なんて窓から投げ捨ててLinux PCに移行しろ。 ファイルをエディットしていざセーブしようとしたら
パーミッションがないとかでエラーになってセーブできません
慌てて隣のPCからtelnetしてファイルをプロンプトでchmodしたのですが
それでもセーブでエラーが出て書き込めません
1時間以上の作業がパー??
数行ずつマウスでコピペして文字救出しかないですか? >>772
:w /var/tmp/foo とか :w /tmp/foo とか :w ~/foo とか >>773
パスで指定してみましたがセーブできません >>775
分かってると思うけど、書き込めるところに退避しろってことだよ >>776
chmod +w したので書き込めるファイルです。
>>774
マウントは問題ないはずです。chmod +w はできたので。
でもセーブできません>< あんた馬鹿ぁ?
viを起動する時点で書込めなかったら、viはずっと書込み不可って憶え続ける。
だから、
:w! 別名
ってしなきゃならない。ってかchmod +wしたのなら、
:w!
だけで書き込めなイカ?
もしくはCVSで正しくcoできてないとか、誰か(たいてい自分自身)と共有open
してしまってるとか。 :set noreadonly
で読み込み専用フラグを落としてから
:w
とか >>779
できましたあぁぁ!!!感謝!!!!!
他のハズレ回答の知ったかさん乙です(笑) ウチの vim ちゃんは chmod 444 したファイルは :w /tmp/foo で保存出来るし、
:w! すれば書き込めるわ。しかも :w だけだとちゃんと "E45: 'readonly' option is
set (add ! to override)" って知らせてくれる。
素の vi だと違うのかな? >>780
他人を笑う前に、自分の勉強不足を恥じろ。
お前の泣き言はすべてマニュアル読めば解決する話。
Read onlyのファイルで泣きべそかいて2ちゃんで厨質とか小学生でもしないぞ。
ああGW真っ最中だったかw viでhtmlを書きだしたんですが改行を消す方法が解りません。
<html>
<head>
これを
<html><head>
にしたいんですけど<html>_ ←ここでDELでもダメ
ここでBSでもCtrl+Hでもダメ→ _<head>
上記の '_' はカーソル位置です
viはbusyboxです
よろしくお願いします >>785
速い回答ありがとうございます
shift+jして空白が入ったところをxで出来ました
半角空白が一個入るんですね
>>786
gJでいけない?あれvimだけだっけ。 >>770
cmap w!! %!sudo tee > /dev/null % しかしshift+jしたときにスペースを入れることの価値が
未だに分からん これなかったら、CとかPerlみたいに文末記号があるソース編集するとき困る。 >>789
おまえ、英語の文章書いたことないだろw
スペース入れたくなきゃ、:j! な。(常識) >>791
意味分からんかったが、もしかして手動で改行入れてるタイプなの? 電子計算機ばっか使ってないで、たまにはタイプライタに戻ってみな。 edだと jでスペース入らないんだな。
スペースを入れるようになったのは exからか。 >>796
いや、せっかくvi使ってんのに、例えば横約80文字くらいの文章書くときに
その幅に合わせて手動で文中に改行入れたり消したりと、ご苦労なことだなぁとさ >>798
> 例えば横約80文字くらいの文章書くときに
えらく前時代的な仮定だなw
>>798
ワープロで、単語の途中で改行にならないように
行単位で書式いじる非効率な奴の事を思い出した vi ってホントコマンドをマスターするとかなり効率的に文字が入力出来るね。
マウスを使わなくても何でも出来るから快適w
ほーんとviが大好きになっちゃいますたw 質問良いでしょうか?
現在行から、マーク(仮にmとします)した行までの各行の先頭に#を挿入するにはどうすれば良いでしょうか?
要するに範囲をコメントアウトってことです この人は何て素敵な名前なんだろう・・
http://vihart.com/
vi と関係無いけど pi を無くそうという運動があるらしいね >>804
マークの位置によっては逆に :'m,s/^/#/ とかやる必要もあるみたいですね
ありがとうございます、できました >>806
お礼の返事が遅いと思ったらそんなところで悩んでたのかw >>807
遅くてすみません…確かに私は範囲に対して編集するとき
範囲の開始行でマークを付けて、後ろから指定することが多いです(dとか>とか)
でも本当に役に立ちました、お陰で答えに辿り着くことができました あ、俺もだ。
forループもカウントダウンして、0と比較して終了条件にすることが多いな。 初心者向けのテキストに:wqでなくZZを教えてるものが多い気がするがなぜだろう。
慣れたらまったく使わなくなるのに。 >>810
ん?
慣れたら :x だろ?
:wq は更新がなくても強制書き込みするから糞コマンド。使わない方がよろしい。 >>811
:wq というか、:w で上書きしない方がクソ仕様だろ。 >>810
設定ファイル弄るときにはZZのが好きかな
ミスって設定読まずに起動するしかない場合に
コロンは場所が違っちゃったりするからね
でも俺も、少なくとも初心者向けとしては:wqのが体系的に覚えられて良いと思う 初心者こそZZ(or :x)だろ
mtimeが書き換わる:wqが癖になる必要はない。 >>815
:w、:q、:q!、:wqをセットで覚えて使い分けるべきってことさ :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 も害悪だと思う。 ■ このスレッドは過去ログ倉庫に格納されています