トップページunix
986コメント327KB

Vim6 Part10

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@w3mNGNG
Vim 6.xに関する話題、Part10です。
http://www.vim.org/

前スレ
http://pc5.2ch.net/test/read.cgi/unix/1086135625/

関連情報は>>2-7あたり。
0213名無しさん@お腹いっぱい。NGNG
>>212
古い上に正しくない情報を広めるのはやめてもらえないか。
>>207
DOSプロンプトとコマンドプロンプトを捨てて、
cygterm/telnet/ssh + teraterm/putty のいずれかに
移行すべし。

0214名無しさん@お腹いっぱい。NGNG
>>205
eclipse --inputmode vi
はどのバージョンから使えるんですか?
2.1.2だとだめだった。
0215名無しさん@お腹いっぱい。NGNG
EclipseはポストEmacs
http://pc5.2ch.net/test/read.cgi/unix/1088869202/
0216名無しさん@お腹いっぱい。NGNG
Vim ユーザーは、英和,和英,国語,漢和辞書を引くとき、
どうしているのでしょうか?
0217名無しさん@お腹いっぱい。NGNG
もちろん指でページをめくります。





紙でないのも引きたいしとには、
過去ログをあさるといろいろ出てるよ。
0218名無しさん@お腹いっぱい。NGNG
少しお力を貸していただきたいのですが
<td>Bj52樟</td>と記述してある箇所があるとして
これを<td><font color="blue">52樟</font></td>としたいのですが
方法はありますのでしょうか?
:1,$s/Bj/<font color="blue">/g 見たいな感じででいけるだろうという安易な考えでうってしまったため
数千にわたる箇所を修正しなくてはいけなくなってしまいました
すいませんが このようなことをする方法を教えていただけないでしょうか?
すいません よろしくお願いしたします
0219名無しさん@お腹いっぱい。NGNG
:%s@<td>Bj\([^<]*\)</td>@<td><font color="blue">\1</font></td>@g

とかそういうこと?


ここで修行を積むと良いかもしれないんδ。

正規表現
http://pc5.2ch.net/test/read.cgi/unix/1039165754/
0220名無しさん@お腹いっぱい。NGNG
:からのコマンドをテキストファイルに書いといて
それをいっきに実行するってできる?
0221名無しさん@お腹いっぱい。NGNG
vim -s xxx
0222220NGNG
>>221
ごめん あんがと
そいうことじゃなくて
vimで編集中にやりたいんだよ
おしえちくり
0223名無しさん@お腹いっぱい。NGNG
>>222
スクリプトでは?
:source hoge.vim
0224名無しさん@お腹いっぱい。NGNG
>>222
コロンコマンドが描いてある行で(もちろん:も含めて描いてある)
"ayy@a
0225名無しさん@お腹いっぱい。NGNG
開いているファイル中の

1 改行コードCRLF を LFに置換
2 <br> など を <br>とLFに置換

ってどうやるんでしょうか。
:s//g で改行コードの指定法がわからん。
0226名無しさん@お腹いっぱい。NGNG
>>225

1 :set ff=unix
2 :%s/<br>/<br>\r/g

で、どう?
0227名無しさん@お腹いっぱい。NGNG
嘘つき
0228名無しさん@お腹いっぱい。NGNG
vimが終了しません。
コマンドモードでq!を打っても
wqと打っても
ZZと打っても
終了しません。
ヘルプミー
0229名無しさん@お腹いっぱい。NGNG
>>228
電源切っとけ
0230名無しさん@お腹いっぱい。NGNG
>>228
CapsLock が効いてる、に 20ガバス
0231名無しさん@お腹いっぱい。NGNG
つーか環境も一切書かないその質問じゃ誰もまともに答えないと思う
0232名無しさん@お腹いっぱい。NGNG
ざっくりkillか、プロセスの終了して、
また、その現象が起きるようなら、クリーンな環境にしちゃうのがいいと思う。
0233228NGNG
原因わかっちゃいました〜。
":"を打ち忘れてました。
自己解決したオレって天才なのかもしれません。
0234名無しさん@お腹いっぱい。NGNG
>>233
ZZで終了するのに:は不要と釣られてみるテスト
0235名無しさん@お腹いっぱい。NGNG
:%s/^M$//
^M は Ctrl-V Ctrl-M とタイプイン
0236名無しさん@お腹いっぱい。NGNG
>>216
ebook.vim
0237名無しさん@お腹いっぱい。NGNG
>>236
eblook
0238225NGNG
>>226
:%s/<br>/<br>\r/g
だめですた。
>>235
thx!
0239名無しさん@お腹いっぱい。NGNG
選択範囲を印刷しようとして、
:'<,'>hardcopy
したら E613 エラーになりました。printfont がダメです。
gvimrc:174: set printfont=MS_Mincho:h12:cSHIFTJIS

昔は、
set printfont=MS_明朝:h12:cSHIFTJIS
だったのに。こっちにしたら印刷できました。
0240名無しさん@お腹いっぱい。NGNG
いったんクローズしたファイルをまたオープンしたときに、前回と同じ場所(行)で
開くようにするにはどうしたらいいのですか?
0241名無しさん@お腹いっぱい。NGNG
>>240
faq
vimrc_example.vim
0242KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>239 使用しているOSは何ですか?
0243239NGNG
Windows Me です。
0244218NGNG
>>219
すいません
ありがとうございました
たまに アクセス規制中だといわれて書き込めなくなるんですよ
遅くなってすいませんでした
ほんとにありがとうございました
0245名無しさん@お腹いっぱい。NGNG
あるファイルをvimで編集して、何回か:wしていると、最初のうちは問題ないが、後から、
既にこのファイルが書き換わってるけど本当に保存するのって
出るのですが、一人でしか作業してないのでどう考えても書き換わってるはずはないんですね。
このvimのファイルが書き換わっているかどうかはどこで判定しているのでしょうか?
最終変更時間でしょうか?

多分、原因というか一番怪しいのは、そのファイルが置いてある場所が他のマシンからsmbfsされているディレクトリなのです。
編集している環境はWindows上です。

予想するに、いったんファイルが書き込まれたらsmbfsが、そのファイルのatimeを更新するから
vimがそれに反応するのかなーとか適当に思ってるのですが、smbfsはnoatimeがきかないので
にっちもさっちもいかず・・・。

かなりマイナーな例ですが識者の方いたらアドヴァイスお願いします。
0246名無しさん@お腹いっぱい。NGNG
:w!
で解決ですよ!!
0247KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>245
> 最終変更時間でしょうか?
stat->st_mtimeを見てますね。src/fileio.cのcheck_mtime()です。恐らくサーバの
時計がいくらか進んでいるのではないでしょうか?。

私ならntpを使って、sambaが動いている計算機の時計に、ローカルのそれをあわせる
ようにします。
0248名無しさん@お腹いっぱい。NGNG
winのgvim6.3を使ってます
Sambaで共有しているネットワークドライブ上のファイルを編集保存すると
4913みたいな数字のファイル名で空ファイルが同じディレクトリに読みとり専用で勝手に作られます
ローカルのファイルを編集保存してもそのような事は起こりません
Sambaでwritable=yesにしてあるので読み書きには問題ないはずなのですが…
0249名無しさん@お腹いっぱい。NGNG
ファイルを保存するときに丸文字を使っているので
fenc=euc-jp
を使用するとエラーになります。
fenc=euc-jisx0213
を使用すれば問題ないのですが、いちいちeuc-jisx0213って打つのが面倒です・・・。
以前(Vim6.2の頃までだったと思う)は、
fenc=euc-jp
で保存しても自動的に
fenc=euc-jisx0213
になったと思うのですが、最近のバージョンではそうしなくなったのでしょうか?6.3を使ってます。
また、ファイルエンコーディング名にエイリアスみたいなものは付けられるでしょうか?
たとえば、fenc=euc-jpでfenc=euc-jisx0213を意味するようにとか。
0250KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>249
> fenc=euc-jpで保存しても自動的にfenc=euc-jisx0213になったと思うのですが、

過去にそのような動作だったことは一度もありません。何か別の機能と勘違いされて
いるのでしょう。またエンコード名にエイリアスを付けることはできません。キータ
イプが面倒ならば短い名前のコマンドを定義してしまうのが良いでしょう。
:command! AsEuc :setlocal fenc=euc-jisx0213
0251名無しさん@お腹いっぱい。NGNG
ft=cで
#include <stdio.h>
この行を>>でインデントできないのは何かの罠?
0252名無しさん@お腹いっぱい。NGNG
hoge.cとかでファイルを編集していると
int main( void){<RET>
    ココ
    ↑ココにインデント?されてしまいます
1時的にインデントを無効にするにはどうしたらいいのでしょうか?
:set noautoindent
では できませんでした
0253名無しさん@お腹いっぱい。NGNG
:set nocindent
0254名無しさん@お腹いっぱい。NGNG
>>253
ありがとうございました
noc
と指定しなくてはいけないんですね
0255名無しさん@お腹いっぱい。NGNG
ddやx等の操作をヤンクに貯めないで行うことはできないのでしょうか?
xはviモードで<BS>で可能なのですが1文字削除するのにviモードに移動するのがめんどくさいです
0256名無しさん@お腹いっぱい。NGNG
ブラックホールに抛り込め
0257KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>255-256 ブラックホール = :help "_
0258255NGNG
ありがとうございます
コマンドとしては用意されてないんですね
今までもブラックホールかちょっと間なに消したか保存したいときは
ラストサーチに入れたりしてたのです
どもでした
0259名無しさん@お腹いっぱい。NGNG
:dis で表示したレジスタ一覧からのペーストって簡単にできないのでしょうか?
:dis で表示し確認してEnter押して"xpとかするのは、
めんどくさく、またペースト時には表示が消えてしまうので、
ときたま間違ったレジスタの内容をペーストしてしまったりするので、、、
0260名無しさん@お腹いっぱい。NGNG
>>259
釣りか?
1文字も数秒間覚えてられないやつなんていないだろ
0261名無しさん@お腹いっぱい。NGNG
>>259
"1p した後に u と . を目的のが出るまで繰り返す
0262名無しさん@お腹いっぱい。NGNG
>>261
すっげ
なんでかわんの?
おしえちくり
0263名無しさん@お腹いっぱい。NGNG
すいません
レジスタの話になっているので便乗質問なのですが
レジスタの中身をはきしたい場合はどのようにすればいいのでしょうか?
例えば "/レジスタに入っていると強調表示されるので
たまに邪魔になります こういったときなどに破棄したいのです
すいませんが 教えてくださいお願いします
0264名無しさん@お腹いっぱい。NGNG
:noh
0265263NGNG
>>264
ありがとうございます
確かにハイライトを消せばいい話なのですけど・・
レジスタの中身を破棄することってできないんですかね?
0266名無しさん@お腹いっぱい。NGNG
終了するときに破棄するなら
:set viminfo='0,\"0,/0,:0
とか。
0267名無しさん@お腹いっぱい。NGNG
~/.viminfo に保存しないだけの話だが。
0268名無しさん@お腹いっぱい。NGNG
let @{a-zA-Z...} = ""
ex:
let @0=""
0269名無しさん@お腹いっぱい。NGNG
>>268はなにやってんの?
0270名無しさん@お腹いっぱい。NGNG
>>259
:disの後、:insertとかどう?
<c-r>xとかで結果を見ながら入力できる。
めんどくささは消えないが。
0271名無しさん@お腹いっぱい。NGNG
.oh
.ph
.qh
.rh
.sh
.th
.uh
.sh
.vh
一番上から'{'で移動するとなぜか.shで止まる。なぜ???
0272259NGNG
みなさんどうもありがとうございます。
>>270 でのやりかたがいちばん自分ではやりやすそうです。

しかしいろいろ試していたら
:disを押してからレジスターの内容一覧が表示されて
数秒固まってしまうようになってしまいました...
0273名無しさん@お腹いっぱい。NGNG
>>272
その固まるときの
解決策教えて欲しい?
0274259NGNG
>>273
教えていただきたいです
0275名無しさん@お腹いっぱい。NGNG
やだ
0276271NGNG
solarisの/bin/viとnviとjvimでも.shで止まった。
0277271NGNG
.shはroffの節だから'{', '}'の移動で止まるようだ。
0278名無しさん@お腹いっぱい。NGNG
>>259
:dis|let @" = getreg(nr2char(getchar()))
0279名無しさん@お腹いっぱい。NGNG
Vimのコマンドにエイリアスってかけれないの?
0280名無しさん@お腹いっぱい。NGNG
>>279
はぃぃ?
0281名無しさん@お腹いっぱい。NGNG
例えば 3dd"+pとかをなんか別名つけたいのよ
0282名無しさん@お腹いっぱい。NGNG
mapで何か都合悪いの?
0283名無しさん@お腹いっぱい。NGNG
作るコマンドが頭大文字固定なのがムカつくな
そんな糞みたいなルール外してくれ
0284名無しさん@お腹いっぱい。NGNG
mapはだめ
0285名無しさん@お腹いっぱい。NGNG
>>282
具体的にかいてみて
0286名無しさん@お腹いっぱい。NGNG
やだよ〜ん
0287名無しさん@お腹いっぱい。NGNG
インデントなど全てのオプションを向こうにしたいのですが
どうしたらいいのでしょうか?
すいませんが教えてください
0288名無しさん@お腹いっぱい。NGNG
nvi でも使った方がいいと思う。
0289名無しさん@お腹いっぱい。NGNG
>>287
向こうって、どっち?
0290名無しさん@お腹いっぱい。NGNG
>>287
se cp
0291名無しさん@お腹いっぱい。NGNG
# rm -f ~/.vimrc ~/.gvimrc
0292名無しさん@お腹いっぱい。NGNG
# rm -rf /usr/share/vim
0293名無しさん@お腹いっぱい。NGNG
(´-`).。oO(面白いと思ってウキウキで書いているんだろうなぁ・・・
0294名無しさん@お腹いっぱい。NGNG
# rm -f 293
0295KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>287
その「全てのオプションを向こう(無効)にしたい」というのがあまりに漠然とし過ぎ
ていて、どんな回答をしても条件を満たせそうにないのですが、とりあえず

    vim -u NONE -U NONE --noplugin

で起動してください。これが素の状態です。あとは :help options を読みながらコ
ツコツ設定して行くのが良いでしょう。
0296名無しさん@お腹いっぱい。NGNG
foo bar

カーソルはfの上。

dwやywでは'b'の前のspace文字まで含むのに、cwだとspaceが含まれないのはナゼ?
wコマンドの定義(次の単語の先頭文字へ移動)と違う気が。

ceでこの上記のような動作になるなら納得できるんだが。
0297名無しさん@お腹いっぱい。NGNG
:h cw
0298名無しさん@お腹いっぱい。NGNG
なんかsystem関数の出力先の問題でfilterとかうまく動かないんですけど
だれかうまく動かす方法教えてもらえませんか?
:r!grep aho *
とかすると
grep aho * >c:\Documents and Settings\hoge\VIO.tmp 2>&1
を実行するみたいなんですけど、出力結果は
c:\Documents
に出力されて、VIO.tmpは空だとか言われます。
元々はDOCUME~1だったような気がするんだけど、なんで短い名前を使わなくなったんだろ。。。
0299名無しさん@お腹いっぱい。NGNG
>>298
環境変数 TMPかTEMPがc:\Documents and Settings\hoge\になってない?
たぶん ディレクトリ名にスペース使ってるからエラーになると思われ
0300名無しさん@お腹いっぱい。NGNG
>299
ありがとう
今日PC立ち上げてみたらTEMPもTMPもDOCUME~1表記になってて
grepも無事できました。
多分、TMPかTEMPがc:\Documents and Settings\hogeになってたんだろうけど
今となっては何故なのか不明です。。。
0301名無しさん@お腹いっぱい。NGNG
se wrapの状態で右に1カラム空いた状態でコントロール文字(例:^A)を打ち込むと
^とAが分かれて表示されてしまいます。
しかし、カーソル位置は^Aが全て次の行に表示されているかのような位置にいます。

これは仕様ですが?バグですか?ウチの環境のせいですか?
0302名無しさん@お腹いっぱい。NGNG
どうすればカレント行の色を変えたりアンダーラインを付けることが出来ますか?
0303名無しさん@お腹いっぱい。NGNG
>>301
バグだな。そのあとさらに続けて文字を入力するとカーソル位置が
1つ進んでしまう。
0304名無しさん@お腹いっぱい。NGNG
質問させてください
現在テキストファイルに
[hoge]
hogehoge
[hoge2]
hogehoge
と、言う記述が2000行くらいあるのですが見難い為、2行おきづつ改行したいのですがどうするのでしょうか?
[hoge]
hogehoge

[hoge2]
hogehoge
上の例で言うとこういうことをしたいです
おしえてくださいお願いします
0305304NGNG
説明に少し追記です
[hoge]
hogehoge
となっていると書きましたが
[]がないところもあるので
[^\[]じゃできません
ですので 2行おきに改行と言う方法しかないと思います
スイマセンがよろしくお願いします
0306名無しさん@お腹いっぱい。NGNG
Vimにキーボードマクロなどのマクロってないの?
0307名無しさん@お腹いっぱい。NGNG
perl とか awk とか sed でやるのが簡単だと思う。
スクリプト摺れで聞いてみな。
スクリプト(フィルタね)が完成したら、カレントディレクトリにおいといて、
%!./そのスクリプト
でできる。
0308304NGNG
>>307
ありがとうございます
やっぱりVimのコマンドではできないのですね
私は今 とりあえず応急的に
catで行番号をつけて それが2で割り切れる行末にマークをつけて
それをVimで改行に置き換えました
sedでそいうことってできるのかなぁ・・  勉強が足りないな私は・・
awkは使えないのです・・
0309名無しさん@お腹いっぱい。NGNG
:%s/^\(.*\):/[\1]\ /
とかをやったとき
最後の":"に引っかかってしまうのですけど
1個目の":"に引っ掛けるにはどうしたらいいのですか?
0310名無しさん@お腹いっぱい。NGNG
:%s/^\([^:]*\):/[\1]\ /
0311名無しさん@お腹いっぱい。NGNG
>>308
2行置きに改行を入れる行動をレジスタに登録して、後は@で再生させればヨクネ?
0312名無しさん@お腹いっぱい。NGNG
>>306
超ある。
■ このスレッドは過去ログ倉庫に格納されています