Vim6 Part10
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@w3m
NGNGhttp://www.vim.org/
前スレ
http://pc5.2ch.net/test/read.cgi/unix/1086135625/
関連情報は>>2-7あたり。
0015KoRoN@Vim%Chalice ◆8XALICEsdk
NGNGcvs -z3 -d :pserver:anonymous@cvs.sf.net:/cvsroot/vim co vim7
0016名無しさん@お腹いっぱい。
NGNGmp3でアップされてる
さすがに30MB/43分の内容を聞き取るのはなぁ…
0017名無しさん@お腹いっぱい。
NGNGア・リ・ガ・ト(はぁと
0018名無しさん@お腹いっぱい。
NGNG:cnoremap <esc> <esc>
とマップしたあと
:ls<esc>
と入力すると、lsを実行せずにコマンドラインを抜けてほしいので
すが、lsを実行してしまいます。
:cnoremap <cr> <cr>:aaa
とマップしたあと
:hoge<cr>
と入力すると、
E492: エディタのコマンドではありません: hoge
と表示され、aaaが入力されません。
001918
NGNG>ピングは実行されないということに注意してください。これは Vi
>コンパチブルです。
2つめはこれでした。
0020名無しさん@お腹いっぱい。
NGNG1つ目も help に
*c_<Esc>*
<Esc> When typed and 'x' not present in 'cpoptions', quit
Command-line mode without executing. In macros or when 'x'
present in 'cpoptions', start entered command.
とあり、macro ってのはどうも Key mapping のことみたいだからいいんじゃない?
0021名無しさん@お腹いっぱい。
NGNG0023名無しさん@お腹いっぱい。
NGNGどなたかデバッグお願いします。
重宝している機能なので。
0024名無しさん@お腹いっぱい。
NGNGうちのformat.vim子ちゃんは賢く働いてくれてますが。
0025KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG直しました。1.7alpha-2です。
http://www.kaoriya.net/testdir/format.vim
>>24
実は症状を狙って再現させるのはちょっとだけ難しいんです。私がテストに使った
ケースでは、KaoriYa版に付いて来るREADME_j.txtの最初のパラグラフをtw=60で整形
すると「gv,im」で切れます。
0026名無しさん@お腹いっぱい。
NGNGありがとうございます。
直っているみたいです。
よく考えたら、どうすればバグになるか言っていませんでしたね ^^;
お察しのとおり、tw を設定したあとで、整形しています。
どうもありがとうございました。
0027名無しさん@お腹いっぱい。
NGNGこれ以上重くなるのは勘弁
0028自分用メモ+誰かの幸せの為に
NGNGruntime/ftplugin/python.vim にはっ付ける
-- ここから
function! FoldLevel(lnum)
let line = getline(a:lnum)
let re = '^\(\s*\)\(\S*\).*'
let sps = substitute(line, re, '\1', '')
let mrk = substitute(line, re, '\2', '')
let lvl = strlen(sps)/4
if mrk==#'class' || mrk==#'def' || mrk==#'for' || mrk==#'while' ||
mrk==#'if' || mrk==#'else' || mrk==#'elif' || mrk==#'try' || mrk==#'except' || mrk==#'finally'
return '>' . (lvl+1)
elseif !strlen(line)
return '='
else
return lvl
endif
endfunction
execute 'setlocal foldexpr=FoldLevel(v:lnum)'
setlocal foldmethod=expr
--ここまで
書き込みエラーがでたので if 文のところで改行してます。
0029名無しさん@お腹いっぱい。
NGNGこれはそれ以上のなにかがあるん?
0030名無しさん@お腹いっぱい。
NGNG0031名無しさん@お腹いっぱい。
NGNG>>29
def foo():
a = 10
b = 20
が fdm=indent だと
def foo():
+-- 2 行:a = 10----------
>>28 だと
+-- 3 行:def foo():----------
ちょっと、幸せ。
0032名無しさん@お腹いっぱい。
NGNGif 文を途中で改行するやり方、
let lvl = strlen(sps)/4 ← の 4 を softtabspace? から値を取得するには
どうしたらいいのかしら?
暇な人、ぼそっと教えてくれると嬉しいわ。
0033名無しさん@お腹いっぱい。
NGNGなるほど。
漏れはdocstringの一行目が表示されるんでindentで
満足してた(適切に書かれている場合限定)。
0034名無しさん@お腹いっぱい。
NGNG> 直接 runtime/ftplugin/python.vim を直接編集しないですむやり方と、
vimfilesにコピーしてそれ編集すれば良いんじゃね
0035名無しさん@お腹いっぱい。
NGNGsofttabstop なら &softtabstop
0036名無しさん@お腹いっぱい。
NGNGそうか。そういう考えもあるか。
>>34
.vimrc とかに書くってこと?
>>35
出来た!ありんがとん!
0037名無しさん@お腹いっぱい。
NGNG:h vimfiles ぐらいしろよ
0038名無しさん@お腹いっぱい。
NGNGttp://pcmania.jp/~moraz/tools/vimscript/vimscript.html
0039名無しさん@お腹いっぱい。
NGNG'\(.\)\(.\)', '\1', '')
をsjisに変換しようとすると、
iconv: filename: cannot convert
'
のように失敗するのですが、何か理由でもあるのでしょうか?
0040名無しさん@お腹いっぱい。
NGNGメッセージだけ見るとクォーテーションが間違ってる
004139
NGNGコマンド
$ iconv -t sjis filename
上の行を含む日本語ファイルを開いたときに文字化けを起こしたから、
どこでおかしくなってるか調べてたんですよ。
0042名無しさん@お腹いっぱい。
NGNGhttp://www.kaoriya.net/doc/TextEditorCriticism.html
これ見るとさ、コロンはVimよりEmacsの方を高く評価しているって事?
それならEmacs使えばいいのにな
0043名無しさん@お腹いっぱい。
NGNGモダンなC++のスタイルなら割とコードは理解し易いはずだし
0044名無しさん@お腹いっぱい。
NGNG0045名無しさん@お腹いっぱい。
NGNGコロンは阿呆だからemacsも使えないんだってw
0046名無しさん@お腹いっぱい。
NGNG調べてるというならどの文字かぐらいとっとと確定すりゃいいのに…
理由は、sjisならJISX0201なんでまあそれでおかしくないんだろう、
というだけかと。誰も困ってないのは別の(ry
0047名無しさん@お腹いっぱい。
NGNGVim: 終了しました.
Vim: 2重のシグナルのため, 終了します
Segmentation fault
仕上げ段階だったんで、かなりビビったよ。
0048名無しさん@お腹いっぱい。
NGNGどうすればいいですか?
0049KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG:h foo まで打ったときに <CTRL-D> してみてください。
0050名無しさん@お腹いっぱい。
NGNGなにこのKoRoNの受け答え
これでまともに人間関係構築出来ているのかこの人?
0051名無しさん@お腹いっぱい。
NGNG0052名無しさん@お腹いっぱい。
NGNGそんなの今更(ry
0053名無しさん@お腹いっぱい。
NGNGだがそれを匿名で愚痴ってる50の人間関係も激しく気になる
0054名無しさん@お腹いっぱい。
NGNGましてや反省する必要もない
ああいう受け答えされたんなら「あーそーかもね」で
最新Keymapのリファレンス貼ればすむ話
つーかT-CodeなんてVimが人間的に思えるくらい
気違いじみた入力方法だわ
0055名無しさん@お腹いっぱい。
NGNGただあの言い様がなぁ・・・
0056名無しさん@お腹いっぱい。
NGNG0057名無しさん@お腹いっぱい。
NGNGbbbbbb " hoge
ccc " huga
eeeee " var
を
aaa " comment
bbbbbb " hoge
ccc " huga
eeeee " var
のように整形したいのですが、
vimで簡単にできる方法ってありますか?
0058名無しさん@お腹いっぱい。
NGNG:%s/^\([^ ]\+\) \+"/\1^I"/
などいかが。
0059名無しさん@お腹いっぱい。
NGNGttp://vimshell.wana.at/
0060名無しさん@お腹いっぱい。
NGNG0061名無しさん@お腹いっぱい。
NGNG0062名無しさん@お腹いっぱい。
NGNGしかし、これってスクリプトじゃないのね
試すのマンドイなぁ
0063名無しさん@お腹いっぱい。
NGNG0064名無しさん@お腹いっぱい。
NGNGVimの開発者さん?
0065名無しさん@お腹いっぱい。
NGNGDebianで6.3.030にパッチして15分くらい使ってみたけれど、んー
どうだろう。
スクリーンショットにあるようにウィンドウを自由に分割できるみたい
なのはちょっといいかもしれないけれど、常用しているscreen(1)で
上下には分割できるし、今のところはビビッとは来ないかな。
0066名無しさん@お腹いっぱい。
NGNG> スクリーンショットにあるようにウィンドウを自由に分割できるみたい
> なのはちょっといいかもしれないけれど、常用しているscreen(1)で
> 上下には分割できるし、今のところはビビッとは来ないかな。
それと同じツッコミが本家のMLでもあったよ。
「だけど、gvim はscreenが使えないでしょ?」とか(w
0067名無しさん@お腹いっぱい。
NGNG0068名無しさん@お腹いっぱい。
NGNG> command line there isn't really popular.
だって。
0069名無しさん@お腹いっぱい。
NGNG0070名無しさん@お腹いっぱい。
NGNGどいう意味?
0071名無しさん@お腹いっぱい。
NGNGってこと
0072名無しさん@お腹いっぱい。
NGNGそりゃgvimでscreenはできないよなー w。
X使えるほど裕福なハードじゃないんで、gvimには思いが至らなかったです。
偏ったショートインプレでスマソ。たしかにgvim使っている人にはvimshellで
ウィンドウを割れるのは便利だと思う。
というわけで、gvim使いのインプレ街。
0073名無しさん@お腹いっぱい。
NGNGvim6 は重くないの?
0074名無しさん@お腹いっぱい。
NGNGPenII 333とかPen 133なんですが、vimは快適に動きますよ。
fdm=marker指定してfoldしているファイル開く時はもっさり
するけれど、vim無しには生活できません。プラグインは、
追加で二つ三つしか入れていないし、ローマンアルファベット
しか扱わないからかもしれませんけれど。
0076名無しさん@お腹いっぱい。
NGNG0077名無しさん@お腹いっぱい。
NGNG| mattn です...
|((((〜〜、
|((((((_ ).
|\)/^~ヽ|
| 《 _ |
|)-(_//_)-|)
|厶、 |
||||||||| /
|~~~_/
| )
|/
|
|
0078名無しさん@お腹いっぱい。
NGNGたぶん年内にはソース読めると思う。いまは別のソースに嵌まってて
0079名無しさん@お腹いっぱい。
NGNGWindowsユーザはUnix/Linux系の人と違って、シェル(コマンドプロンプト etc)が
あまり使われていないということ。
プログラマーの人はさすがに違うだろうけど。
けど、vimだしなぁ、、、
0080名無しさん@お腹いっぱい。
NGNG何がうれしいのか正直わからん。
vimならvim+screenのほうが断然便利だし、
gvimにしてもちょこっとしたシェル作業は:!で十分だし
長いシェル作業はmlterm+screenでやった方がいい。
だいたいvimshell上で出力された文字列を、
他のバッファでc-n c-p補完できないし、
かといってvimshellのバッファで編集作業できないみたいだし、
結局はvim+screenでいいや、と。
0081名無しさん@Vim%Chalice
NGNGfileencodings=ucs-bom,ucs-2le,ucs-2,iso-2022-jp-3,utf-8,cp932
という環境でHeadlineを使っていますが、一部文字化けするサイトがあります。
その中の1つ、例えばYomiuriでは、<!-- ▼バナ−ここから▼ -->
の「−」の変換に失敗してるようで、この部分を「ー」と書き換えるとOKでした。
「あ〜どうせまたiconvが変換できないんだな…」と思ったんですが、
気になるのは、iconv -f CP932 -t EUC-JP <file>とすると上記個所で変換失敗するんですが、
iconv -f SHIFT-JIS -t EUC-JP <file> だとOKなんです。
fencsにshift-jisを加えれば文字化けするサイトは無くなるんですが、
気になることが2つ。
1つは、Chaliceスレ Vol.3 #390 でKoRoNさんがそうするべきではない
という類のことを言ってること。
http://www.google.co.jp/search?q=cache:dGVciblbLr8J:pc5.2ch.net/test/read.cgi/software/1046263908/390+chalice+shift-jis&hl=ja&ie=UTF-8&inlang=ja
もう1つはそもそもcp932とshift-jisは、ほとんど同じものだと思っていたんですが、
http://www.kaoriya.net/bbs/bbs.cgi?bbs=bbs&article=564
とか見てみても、やっぱり違うものだったりするんでしょうか。
現状は、Headlineを使う時だけfencsにshift-jisを加えるようにしていますが、
正しい対処方法としてはどのようなものになるんでしょう?
ちなみにlibiconvはglibcのiconv.hを上書きしてくれるので、Linuxでは
極力導入したくありません。
0082KoRoN@Vim%Chalice ◆8XALICEsdk
NGNGSHIFT-JISはJISという厳格に定義されたコードを、8ビットを使って表現できるように
したものであって、CP932はそれをベースにMSが改変したコードですから、厳密には異
なっています。また、コード変換時にどれをどこにマッピングするかは、実は完全に定
義されているわけではありません。そのため細部はiconvの実装によって異なってきま
す。
libiconvでは過去にcp932とsjisが微妙に違いました。sjis指定時には0x7eのチルダや
0x5cの円記号等が全角にコンバートされてしまうという、Windows環境では致命的な問
題がありました。現在はわかりませんが、Vimへのlibiconv導入当時はそういう事情
で、cp932にせざるを得なかったのです。またWindowsで使うということから考えても、
cp932を選択することにはvim-devへの提案として説得力がありました。
GNU libcのiconvでは、私が今までに目にした変換にまつわるトラブルを総合してみる
と、むしろcp932よりもsjisを恒常的に使ったほうが良いような感想を抱いています。
設定方法としてはfencs内のcp932をsjisに置換すればよいでしょう。
KaoriYa配布のvimrcでは、より多くのプラットホームで利用可能なlibiconvを基準とし
ていますから、cp932を使い続けているというわけです。もっとも一番良いのは既に
行っているiso-2022-jp-3の選択のように、ランタイムで判断することなのですが、手
元にGNU libc iconvが動いている環境と、テストしている時間がないのでそのままに
なってます。
008381
NGNG詳細な解説、ありがとうございました。
勉強になります。
> GNU libcのiconvでは、私が今までに目にした変換にまつわるトラブルを総合してみる
> と、むしろcp932よりもsjisを恒常的に使ったほうが良いような感想を抱いています。
> 設定方法としてはfencs内のcp932をsjisに置換すればよいでしょう。
fencsにcp932とsjisを両方指定するのはダメなのでしょうか?
前述のheadlineの例では、fencsを
fileencodings=ucs-bom,ucs-2le,ucs-2,iso-2022-jp-3,utf-8,cp932,shift-jis
とすることで回避できています。
なにか他の理由でこれがマズいとしても、
> KaoriYa配布のvimrcでは、より多くのプラットホームで利用可能なlibiconvを基準とし
> ていますから、cp932を使い続けているというわけです。もっとも一番良いのは既に
> 行っているiso-2022-jp-3の選択のように、ランタイムで判断することなのですが、手
> 元にGNU libc iconvが動いている環境と、テストしている時間がないのでそのままに
> なってます。
私の手元にはlibiconv環境(NetBSD)とlibc iconv環境(Linux)があるので、
テスト方法のヒントぐらい示して頂ければ協力できると思います。
0084KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG両方試すというのは間違っていませんが、なんか気持ち悪いですね。
# cp932とsjisどちらでも変換できるが、微妙に結果が違ってcp932のほうは好ましくな
# い。そんな例があったら、なかなか問題が判別しにくいかもしれません。もっともそ
# んなことあるのかさえ不明ですが。
> 私の手元にはlibiconv環境(NetBSD)とlibc iconv環境(Linux)があるので、
> テスト方法のヒントぐらい示して頂ければ協力できると思います。
KaoriYa付属のvimrcでiso-2022-jp-3を判定している箇所を参考にしてください。その
例ではdjがeuc-jpに変換できるかどうかで、対応の可否を判断していたと記憶してい
ます。このように特定の変換が成功するかどうかをチェックすることで、どちらを使う
か決定できます。なにかiconvの実装によって特徴的な変換パターンを見つけて貰える
と助かります。
そもそも、ちゃんとしたコード判定ルーチンと変換ルーチンをセットで作ったらどうな
んだ、という話なんですが… orz
0085名無しさん@お腹いっぱい。
NGNGいい方法はないでしょうか?
0086名無しさん@お腹いっぱい。
NGNGcat -n で(ry とかではダメなの?
あとは、行の先頭に行番号を挿入するようなスクリプトを書くとか、、、
0087名無しさん@お腹いっぱい。
NGNG:%s/^/\=line(".")." "/
:%!nl
とかもある
0088名無しさん@お腹いっぱい。
NGNG%!cat -n
選択
コピー
アンドゥ
のような順になりますよね。
これだとコマンド作りにくいし、選択→コマンド実行
の順の方が操作しやすいなーと思ったんですが。
0089名無しさん@お腹いっぱい。
NGNGある正規表現にマッチする部分のみを取り出すにはどうすればよいだろう?
取り出すと言っても曖昧だけど、例えば別バッファに集めるとか、
マッチしない部分を全部消去するとか(元の内容を保たなくてもよいとしよう)
例えばHTMLソース内の <a .\{-}>.\{-}</a> のみを抜き出す、とか。
0090名無しさん@お腹いっぱい。
NGNG0091KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG一回検索した直後に、新規バッファに全体をコピペしてから、こんなコマンドで。
:%s//\r&\r/g
:v//d
0092名無しさん@お腹いっぱい。
NGNGまぁKoRoN氏が答えているのでスレ違いではないという事なんだろうが
いつもはフィルターつかえとかエディタでやる事じゃないとか説教垂れるのに
どういう風の吹き回しやら・・・
0093名無しさん@お腹いっぱい。
NGNG0094名無しさん@お腹いっぱい。
NGNGVimで出来る事 → 親切に教える
Vimで出来ない事 → Vimではそう言う事はしないとキレる
ま、いつもの事
0095名無しさん@お腹いっぱい。
NGNG> Execute the Ex command [cmd] (default ":p") on the
> lines within [range] where {pattern} does NOT match.
なるほど... "where {pattern} does NOT match" に対する動作は
(行単位とはいえ)ちゃんと用意されてたのか。 Thx > KoRonさん
# 直接 :%s/regex/\r&\r/g → :v//d にしときます
Vimでできるんならそれでいいじゃん >>90 >>92
別にApacheのログ集計をしようってんじゃない。
0096KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG要件をこれ以上手軽に満たせるならば、逆に教えていただきたいです。おねがいしま
す m(_ _)m
0097名無しさん@お腹いっぱい。
NGNG|
|
-aa.c
|
|
-bb.c
aa.cとbb.cが参照関係にあった場合、タグ作成して各ソースからタグジャンプって
出来ないですよね??
やる方法合ったら教えてください・・。
(タグファイルの中身見ると相対パスで記録されているようですが、絶対パスのタグを作る方法って
あるんでしょうか・・?)
0098名無しさん@お腹いっぱい。
NGNGふつーにtags使ってできるじゃん
0099名無しさん@お腹いっぱい。
NGNG--tag-relative=yes
で絶対パスのタグは作れるけど、そんなの使わなくてもできるじゃん
010099
NGNG--tag-relative=no
だ。
0101名無しさん@お腹いっぱい。
NGNG0102名無しさん@お腹いっぱい。
NGNG0103名無しさん@お腹いっぱい。
NGNG0104名無しさん@お腹いっぱい。
NGNG0105名無しさん@お腹いっぱい。
NGNG0106名無しさん@お腹いっぱい。
NGNG0107名無しさん@お腹いっぱい。
NGNGg/re/pなのは>>104が書いてある通り。
viじゃなくてed(1)のコマンドだよ。
で、ここはvimスレだ。
くだ質スレか「viが元ネタ」だと思うならviスレで質問汁。
0108名無しさん@お腹いっぱい。
NGNGどういうふうに記述すればいいのでしょうか?
0109KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG<S-Space> とか <C-Space> って書いてください。ただしCUI端末などの、そもそも
Vimにキーコード自体が飛んでこない環境下では機能しないので注意してください。
0110名無しさん@お腹いっぱい。
NGNG次の行(n行目)から3行にわたって(n+2まで)、s/foo/bar とか。
0111名無しさん@お腹いっぱい。
NGNG0112108
NGNGどうもありがとうございます。
環境がCUI(mlterm+vim)でした。
なるほど、<S-Space>で指定してもうまくいかなかったのは、
キーコードが飛んでこなかったからなのですね。
0113名無しさん@お腹いっぱい。
NGNGstatuslineを書き換えていたのですが
%Bの部分がfencがS-JISだろうがEUCだろうがUTF-8だろうが関係なく
S-JISのキャラクタコードを返すのに気づきました。(ちなみにgaも一緒でした)
これってfencに従ったコードで返してくれる方法はないのでしょうか?教えてください。
ちなみには書き換えたものは以下の通りです。
statusline=%<%F%h%r%w%m%=%([%{&fileencoding}]%)%([%{&fileformat=='dos'?'DOS':''}]%) [%B] %c%V,%l/%L
0114名無しさん@お腹いっぱい。
NGNG使ってできなくはない…のかな?
■ このスレッドは過去ログ倉庫に格納されています