トップページunix
1001コメント285KB

Vim Part16

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2009/01/16(金) 00:56:51
Vim 6以降に関する話題、Part16です。
http://www.vim.org/

前スレ
Vim Part15
http://pc11.2ch.net/test/read.cgi/unix/1202050038/

関連情報は>>2-8あたり。

0607名無しさん@お腹いっぱい。2009/08/13(木) 10:05:50
:echo &filetype
ですた
0608名無しさん@お腹いっぱい。2009/08/13(木) 10:06:11
>>606
set ft?
0609名無しさん@お腹いっぱい。2009/08/13(木) 10:13:59
>>608
おお。こっちのほうがタイプ量が少なくていいですね。どうも。
0610名無しさん@お腹いっぱい。2009/08/13(木) 17:40:49
>>603
通常インストールだと
set omnifunc=pythoncomplete#Complete
はftplugin/python.vimに記述してないか?
記述してある場合はvimrcにautocmdで書き込んでも書かなくても同じ

.vim/ftplugin/python.vim
が後に読み込まれるので、.vimは各自で異なるが、そこで
if !has("gui_running")
setlocal omnifunc=
endif
でどうだろ
0611名無しさん@お腹いっぱい。2009/08/14(金) 11:25:00
>>585
詳しく教えてください お願いしますm(_)m
0612名無しさん@お腹いっぱい。2009/08/14(金) 11:36:05
>>611
ttp://yukihiro.nakadaira.googlepages.com/#vimdoc
06136032009/08/15(土) 22:45:38
>>610
ありがとうございます!! その方向からうまくいけそうです。
0614名無しさん@お腹いっぱい。2009/08/17(月) 22:32:23
vimを開いた状態で特定のvimrcを読み直すことできますか?
0615名無しさん@お腹いっぱい。2009/08/17(月) 22:41:33
sourceすればいいんじゃね?
0616名無しさん@お腹いっぱい。2009/08/17(月) 22:41:49
>>614
:help :source
0617名無しさん@お腹いっぱい。2009/08/18(火) 20:45:42
nowrapのときにカーソルを動かさないで横スクロールってできますか?
0618名無しさん@お腹いっぱい。2009/08/18(火) 21:31:21
>>617
無理。
強いて言えばzlとか。
0619名無しさん@お腹いっぱい。2009/08/18(火) 21:50:30
論理改行が好きならいっそwrapで使う

物理改行が好きなら桁数を決めて
gvimrcなりターミナルのサイズをカスタマイズしてそれを超えないように努める
君も80桁教に入信しようぜ
0620名無しさん@お腹いっぱい。2009/08/19(水) 01:22:08
>>618
>>619
どうもです
でかいCSVファイルとか見るときに使いたかったんでnowrapじゃないと辛いんですよね
まぁwとかでカーソル移動しちゃうのは諦めます
0621名無しさん@お腹いっぱい。2009/08/19(水) 20:30:58
vimでphp開発したいんですが、vim+phpのデバックの王道ってどのようなものがあるんですか?
0622名無しさん@お腹いっぱい。2009/08/20(木) 13:11:39
xdebugが最適

NERD_tree.vim
taglist.vim
showmarks.vim
savevers.vim

DIFF と EXTAG

http://d.hatena.ne.jp/i_ogi/20070321/1174495931

こんなところかなぁ。

0623名無しさん@お腹いっぱい。2009/08/20(木) 15:51:26
あと マウススクロールに
mapしたいんだけど UPとDOWNって割り当てできないだっけ
C+Kでも値でなくてさぁ・・・
06246122009/08/20(木) 16:58:55
>>622
有難う御座います
さっそくググってみます
0625名無しさん@お腹いっぱい。2009/08/20(木) 17:10:57
set guitablabel=%<%t\ %m 
これってけっこういいね。
0626名無しさん@お腹いっぱい。2009/08/20(木) 21:22:41
>>621
http://d.hatena.ne.jp/koziy/20080102/1199248974
on linuxだけど、macでも出来た。
winは知らん。
0627名無しさん@お腹いっぱい。2009/08/22(土) 13:17:14
入力補完で.を含むキーワードも補完候補にさせるにはどうすればよいの?
0628名無しさん@お腹いっぱい。2009/08/22(土) 13:21:36
ホームページを書くことになった。
遅ればせながら、project.vim を使ってみた。便利だ。


副産物として、vimwiki の存在を知った。
ちょっと、遅かった。_| ̄|○
0629名無しさん@お腹いっぱい。2009/08/22(土) 13:25:47
>>627
set isk=@,48-57,_,.

see
:h 'isk'
0630名無しさん@お腹いっぱい。2009/08/22(土) 23:16:33
あれ、cmigemo って kensaku と入力しても出力パターンに「けんさく」が出なくて
kennsaku で出るのか。
migemo とはちゃうのね。

スレ違イかな
0631名無しさん@お腹いっぱい。2009/08/27(木) 18:22:07
ステータスラインの色を変更したい
挿入モード時
解除時
ビジュアルモード時
色を変えたいです。
0632名無しさん@お腹いっぱい。2009/08/27(木) 20:11:36
>>631
autocmd InsetEnter * highlight StatusLine guifg=red
autocmd InsetLeave * highlight StatusLine guifg=white
とか試してみ
けれど
highlight StatueLineNCとの兼ね合いでうまくいかんかもしらん
0633名無しさん@お腹いっぱい。2009/08/28(金) 00:00:53
>>632
ありがとうございます!!!
0634名無しさん@お腹いっぱい。2009/08/28(金) 03:14:06
ファイルを開いてる時に現在どのsyntaxファイルを使用しているのか調べる方法はありませんか?
0635名無しさん@お腹いっぱい。2009/08/28(金) 03:48:53
:scriptnames
かな
0636名無しさん@お腹いっぱい。2009/08/28(金) 04:46:06
>>635
ありがとうございました。

色付けはfiletype.vimとsyntax/*.vimが紐づいてたんですね。
0637名無しさん@お腹いっぱい。2009/08/28(金) 20:19:52
vim人口ふえないかな
0638名無しさん@お腹いっぱい。2009/08/28(金) 23:25:25
それは非windows人口の増加にかかっているのかな
0639名無しさん@お腹いっぱい。2009/08/29(土) 00:54:33
>>634
> ファイルを開いてる時に現在どのsyntaxファイルを使用しているのか調べる方法はありませんか?

:set syntax? でオプション'syntax'の中身を見れば現在のsyntax名が分かる。
値が cpp なら syntax/cpp.vim が読み込まれてる。

syntaxがバッファ毎に異なれば'syntax'オプションの中身も変わる。
0640名無しさん@お腹いっぱい。2009/08/29(土) 19:58:19
WEB+DB PRESS今月号(Vol.52)にvimの特集があった。
ttp://gihyo.jp/magazine/wdpress/archive/2009/vol52
0641名無しさん@そうだ選挙に行こう2009/08/30(日) 04:21:44
vim自慢しようぜ
おいらのは タブ保存復帰 firefoxみたく windowサイズ保存
オムニ保管 バックアップ連番管理。
0642名無しさん@そうだ選挙に行こう2009/08/30(日) 10:07:29
gVim を起動させた時,ウィンドウ位置とサイズを指定させることはできますか?
0643名無しさん@そうだ選挙に行こう2009/08/30(日) 10:59:18
X(1)のgeometryで指定しては。
0644名無しさん@そうだ選挙に行こう2009/08/30(日) 11:33:21
geometry で希望が家内ました! 643 さんありがとうございます! 多謝!!
0645名無しさん@お腹いっぱい。2009/09/03(木) 17:48:21
すいません<body>や</body>
これを一発で削除するやりかたをおしえてください
dta とか なんかそういうので!!
0646名無しさん@お腹いっぱい。2009/09/03(木) 21:18:11
>>645
<> は残るけど

di>
0647名無しさん@お腹いっぱい。2009/09/03(木) 22:13:55
>>645
da<
でどう?
0648名無しさん@お腹いっぱい。2009/09/03(木) 23:32:43
>>645
surround.vim 入れてたら、
ttp://www.vim.org/scripts/script.php?script_id=1697

dst で今中にいるタグを削除できる。
<body>
*1
<div id="wrapper">
*2
</div>
</body>

カーソル位置、*1 なら <body>と</body>
*2 なら <div id="wrapper">と</div> が消える
0649名無しさん@お腹いっぱい。2009/09/04(金) 09:59:14
みんなサンクス。
書き込みに参考してやってみる!
0650名無しさん@お腹いっぱい。2009/09/04(金) 10:03:11
da<が結構よかったです
ditなんて便利ですね<font>@@@</font>
@@@が消えるから
0651名無しさん@お腹いっぱい。2009/09/04(金) 12:12:15
ルーラーか、ファイル開いた直後のコマンド行に、ファイルのエンコードを表示ってできる?
0652名無しさん@お腹いっぱい。2009/09/04(金) 12:39:46
statuslineやrulerformatに%{&fenc}を忍ばせるとか
0653名無しさん@お腹いっぱい。2009/09/04(金) 13:22:31
>>652
やってみるわ。
0654名無しさん@お腹いっぱい。2009/09/04(金) 14:09:00
できた。色々やってみて

set statusline=%t\ %m%r%h%w[%Y][%{&fenc}][%{&ff}]%=%c,%l%11p%%

こんな感じでおちついた。
0655名無しさん@お腹いっぱい。2009/09/05(土) 01:11:05
どうもmksでタブ保存するけど
バッファが変更できないってエラーでる。。詳細あとで書くので、
わかる人がいたら教えてください。
0656名無しさん@お腹いっぱい。2009/09/05(土) 02:27:30
ちょっとお知恵を拝借したいです。
以下、空白文字の代わりにアンダースコアを書きます。

class Test(object):
__def method(self, argument):←ここでEnterを押して
____この行に空白文字を4つ、自動的に挿入できるようにするにはどうすればいいでしょうか。

vimrcは今こうなっています。

"---------------------
autocmd FileType python setl autoindent
autocmd FileType python setl tabstop=2 expandtab
autocmd FileType python setl smartindent indentexpr=2 cinwords=if,elif,else,for,while,try,except,finally,def,class
"---------------------

現在の行のインデントに対して、smartindentがインデントを追加するようにしたいのだけど、うまくいかない。
ご存知の方、教えてください。
06576552009/09/05(土) 03:04:13
vim72-kaoriya-w32j\.vim_last_session の処理中にエラーが検出され
ました:

行 125:

E163: 編集するファイルは1つしかありません

行 244:

E163: 編集するファイルは1つしかありません

".htpasswd"

".htpasswd" 1L, 21C

".htaccess"

".htaccess" 5L, 167C

".htaccess"

".htaccess" 5L, 167C
こういうエラーです。
0658名無しさん@お腹いっぱい。2009/09/05(土) 03:45:48
>>656
本家vim7.0

python使ったことないけど、デフォでそのようにインデントされたよ
indentexpr=GetPythonIndent(v:lnum)
となっていたので、これが大事なのかもね。
06596562009/09/05(土) 05:50:42
>>658
ああ、ありがとう。

centOSで一からvimrcを書いてるので、あたふたしてます。

GetPythonIndent()のことは調べてみてもよく分からなかったけれど、
いろいろ調べているうちに自己解決しました。
いいきっかけになりました。

indentexprなんて使わずに、
shiftwidth=2を追加するだけでよかったなんて…。
お騒がせしました〜。
0660名無しさん@お腹いっぱい。2009/09/08(火) 02:12:56
妖怪人間vim
0661名無しさん@お腹いっぱい。2009/09/08(火) 02:31:39
なにげに為になった。
横からトン
0662名無しさん@お腹いっぱい。2009/09/08(火) 08:15:25
早く emacs に成りたーい

# こんだけ重くなりゃもうすぐだよ。
0663名無しさん@お腹いっぱい。2009/09/08(火) 17:15:45
CentOS5.3のvimをデフォルト状態で使うと、
入力モード、コマンドモードに関わらず、括弧上にカーソルが移動する「だけ」で、
対応する括弧上でブロックカーソルが表示されるようになってるけど、
これってどのオプションが効いてるの?
0664名無しさん@お腹いっぱい。2009/09/08(火) 17:33:54
matchpairsと色設定のMatchParen
0665名無しさん@お腹いっぱい。2009/09/08(火) 17:45:19
プラグインによるものだったようで、
:he matchparen
をみてみてください
0666名無しさん@お腹いっぱい。2009/09/08(火) 18:33:00
>>665
:NoMatchParen でキャンセルできた。
あんがと。
0667名無しさん@お腹いっぱい。2009/09/08(火) 18:39:51
~/.vimrc に

let loaded_matchparen = 1

って入れてもできた。
0668名無しさん@お腹いっぱい。2009/09/11(金) 10:08:48
ちょっとした問題を解決したんで備忘録に

vimで保存したファイルの内容の各文字毎にnull文字が挿入される
hdコマンドで見るとこんな感じ
00000000 66 00 75 00 67 00 61 00 0a 00 |f.u.g.a...|
原因はfileencoding=ucs-2leであったこと
適当に :set fileencoding=euc-jp で解決

ucs-2leでエンコードされたファイルをPerlに食わせたら
変な怒り方したんで調べた

ファイルエンコーディングの話だからVim以外でも起こりうる問題だけど…
0669名無しさん@お腹いっぱい。2009/09/11(金) 10:19:45
null文字が挿入されているように思えるのは、あなたがucs-2leについて知らないからです。 それは決してnull文字ではありません。
0670名無しさん@お腹いっぱい。2009/09/11(金) 10:49:32
すみません。確かにnull文字と言うと語弊がありますね
ucs-2leでエンコードされてる事を知らない時に見ると、「null文字が挿入」されてるように見えたって事です

null文字では無いことはわかりました
> "ucs-2le" はリトルエンディアンの 2 バイト Unicode です。
http://www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/usr_45.html#45.4
0671名無しさん@お腹いっぱい。2009/09/11(金) 11:45:06
保存するファイルのエンコードがucs-2leになってしまう原因わかりました

> 香り屋版のvimrcは(中略)空のファイルを開くと文字コードがucs-2leとして判定されてしまう
http://d.tir.jp/pw?vim
この記事の更新日は2005/01/13らしいので少し古いですが、今でも同様の問題が
現在、香り屋のVim 7.2に入ってる日本語の自動判別はruntime\encode_japan.vimに書いてあります

ここのvimrcとencode_japan.vimをそのまま使ってたので問題が起きてました
0672名無しさん@お腹いっぱい。2009/09/11(金) 13:14:02
>>668
statuslineにfileencodingを表示させておけばすぐ判ったのにね

set laststatus=2
set statusline=%<%f\ %m%r%h%w[%{&fileformat}][%{has('multi_byte')&&\ &fileencoding!=''?&fileencoding:&encoding}]\ 0x%B%=%l,%c\ %P
0673名無しさん@お腹いっぱい。2009/09/11(金) 14:49:18
問題だの何だのとひどい言いぐさだけど、ucs-2leをデフォで使用するのはWindowsなら妥当だと思うがね
0674名無しさん@お腹いっぱい。2009/09/11(金) 15:47:37
俺はなんといおうとカオリヤさんvimhelp翻訳やさんには
最強に感謝している!!!!!!!!
0675名無しさん@お腹いっぱい。2009/09/11(金) 15:52:51
Windowsが糞なのに
0676名無しさん@お腹いっぱい。2009/09/11(金) 16:22:58
↓はeuc-jpなlinuxでの問題だろう。Winでは新規でもcp932がデフォ。
> > 香り屋版のvimrcは(中略)空のファイルを開くと文字コードがucs-2leとして判定されてしまう
> http://d.tir.jp/pw?vim

>>668が使用OSを明記しないからこんなことに。。。
OS明記汁!!
0677名無しさん@お腹いっぱい。2009/09/11(金) 16:55:16
ここはunix板ゆえunix系なら無問題
0678名無しさん@お腹いっぱい。2009/09/11(金) 18:33:48
>>676
Winでは新規でもcp932がデフォ、というところが引っかかる。
普通にそのまま保存すればcp932だが、普通にunicodeで保存すればucs-2le
0679名無しさん@お腹いっぱい。2009/09/11(金) 19:13:33
普通ってなんやねん
0680名無しさん@お腹いっぱい。2009/09/11(金) 19:20:06
デフォってなんやねん
0681名無しさん@お腹いっぱい。2009/09/11(金) 19:54:05
unicode はencodingじゃないぞ
0682名無しさん@お腹いっぱい。2009/09/11(金) 20:45:22
>>681
一応指定できる

>>678
> 普通にunicodeで保存すればucs-2le
違う!ちゃんと確認してから書き米や方形
0683名無しさん@お腹いっぱい。2009/09/11(金) 20:50:36
>>672
おお、これは素敵

>>676
OSはFreeBSD 7.2です。あとLANG=ja_JP.eucJP
>>677の言う通り、unix居だから書く必要があまり無い気がしたもんで。
まぁWinで使われる設定ファイルをそのままFreeBSDに持ってきた事が
書かれてなかったからこそそんなことに。。。

>>681-682
Winのメモ帳ではファイル保存時に選べるエンコーディング(「文字コード」と表記されてる)が
ANSI、Unicode、Unicode big endian、UTF-8というカオス(表記が文字コードだからセーフなんだろうけど…)
で、ここでのUnicodeがucs-2leになってる
0684名無しさん@お腹いっぱい。2009/09/11(金) 20:52:40
うちのメモ帳は
ANSI (cp932)
Unicode (ucs-2le)
Unicode big endian (utf-16)
UTF-8 (utf-8)
が指定できたよ。括弧の中はそのファイルをvimで開いたときに判定されたfenc。

なので、普通にunicodeで保存すればというのは間違えてもないような?
0685名無しさん@お腹いっぱい。2009/09/11(金) 20:54:22
かぶったすまそ
0686名無しさん@お腹いっぱい。2009/09/11(金) 20:55:44
メモ帳はゴミ箱へ
0687名無しさん@お腹いっぱい。2009/09/11(金) 21:52:34
なんでメモ帳が出てくるの?
0688名無しさん@お腹いっぱい。2009/09/12(土) 02:41:26
入力モードから抜ける時のキーバインドはデフォルトでEscですが、とても押しにくいです。
これも設定で変更することは可能ですか?
また、一般的にはデフォルトのまま使う人が多いのでしょうか?
0689名無しさん@お腹いっぱい。2009/09/12(土) 02:57:03
>>688
Controlキーとのコンビで代用。
0690名無しさん@お腹いっぱい。2009/09/12(土) 03:00:49
なんでもう一個のキーは秘密にw
Ctrl + [ でエスケープと同じになるよ
06916882009/09/12(土) 03:12:25
>>689
>>690
ありがとうございます!Escよりも楽ですね。
0692名無しさん@お腹いっぱい。2009/09/12(土) 03:15:33
やってるかもしれないけど、CtrlとCapsLockを入れ替えるとさらに楽になるよー
0693名無しさん@お腹いっぱい。2009/09/12(土) 03:16:23
Ctrl+C
0694名無しさん@お腹いっぱい。2009/09/12(土) 07:32:10
Ctrl+Cのほうが圧倒的に押しやすいのになんでEscが標準みたいな感じになってんだろ
0695名無しさん@お腹いっぱい。2009/09/12(土) 08:08:33
>>688
TABの上にESCキーが付いてるキーボードを買う
ついでに言えばEnterの上はDeleteが望ましい。
0696名無しさん@お腹いっぱい。2009/09/12(土) 09:47:53
>>694
「みたい」じゃなく<Esc>が標準だからでしょ。
CTRL-Cを<Esc>の代替にできるのはvim以外に無いんでないの?
MS-DOSのstevieとかだったらCTRL-Cするとvi自体が落ちたりして。
0697名無しさん@お腹いっぱい。2009/09/12(土) 13:47:12
>>694
何このEmacs脳
そもそもvimはキー配置を変えなくても快適に使えるってのもvimの利点だった
CtrlとCapsLockの入れ替え前提のEmacsはオリジナル環境じゃないと何もできない
0698名無しさん@お腹いっぱい。2009/09/12(土) 13:48:38
/ を使ったmapを行うと、当然ながらそのmap中の検索が検索履歴に残り、
ハイライトされてしますのですが、これって防ぐ方法あるのでしょうか?

ハイライトは:nohすればいいでしょうけど、前回の検索結果は保持しておきたいんです。
/ を使わない他の方法があるのでしょうか・・・よくわららないもんで。
0699名無しさん@お腹いっぱい。2009/09/12(土) 14:40:41
Ctrl-cじゃなくて、Ctrl-3なら、viでもいけたような希ガス
0700名無しさん@お腹いっぱい。2009/09/12(土) 15:18:42
>>698
前回の検索結果は @/ に保持されてるはずだから
let tmp = @/
とか、一時的に退避させて後で
let @/ = tmp
で戻すようにすれば良いんじゃない?
0701名無しさん@お腹いっぱい。2009/09/12(土) 15:56:12
perlモードで

$hoge->foo(bar => {
    hoge => huga, # 何か余計にインデントされる
  }); # ここも
$var # ここからはインデントは左端

となるんですが、これを

$hoge->foo(bar => {
 hoge => huga,
});

とは出来ませんか?
0702名無しさん@お腹いっぱい。2009/09/12(土) 16:19:42
細けえことは、気に済んな。
ハイ、次。
0703名無しさん@お腹いっぱい。2009/09/12(土) 16:37:54
wakachiko! wakachiko!
0704名無しさん@お腹いっぱい。2009/09/12(土) 22:19:11
OSのクリップボードとvimのバッファを繋ぐことは出来ないでしょうか?
例えば、インターネットをしていてブラウザ上の文章をコピーして、それをvimでペーストしたりしたいのです。
0705名無しさん@お腹いっぱい。2009/09/12(土) 22:31:18
vim上で
ノーマルモードの時は、"*p
インサートモードの時は、Ctrl+r*
はい、次。
0706名無しさん@お腹いっぱい。2009/09/13(日) 01:55:55
vimhelpを作りたいときはどうすればいいですか?
プラグイン作成したとき添付しようとおもっていて
■ このスレッドは過去ログ倉庫に格納されています