トップページunix
984コメント289KB

Vim Part25 [転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2015/03/30(月) 20:04:42.55
Vim 6以降に関する話題、Part24です。
http://www.vim.org/

前スレ
Vim Part24
http://peace.2ch.net/test/read.cgi/unix/1413122189/

関連情報は>>2-6あたり
0136名無しさん@お腹いっぱい。2015/04/26(日) 01:41:37.25
+=で設定するオプションは全部&使ったほうがいいのかな
0137名無しさん@お腹いっぱい。2015/04/27(月) 21:04:55.52
LinuxMintにてvim-gnome使ってます
gvimで何か開かれるときに、新しいウィンドウではなく既存のgvimのウィンドウの新しいタブとして開かせることは.vimrcからは出来ないでしょうか?
ファイラーから日本語のテキストを開くたびにgvimのウィンドウが増えていって……
0138名無しさん@お腹いっぱい。2015/04/27(月) 21:08:02.34
>>137
gvim --remote-tab foo
0139名無しさん@お腹いっぱい。2015/04/27(月) 21:34:47.37
>>137
singleton.vim
0140名無しさん@お腹いっぱい。2015/04/27(月) 22:15:45.84
ありがとうございます

>>138
バックグラウンドタブに回されてしまいます……フォアグラウンドがいいです
>>139
入れてみました。起動時にE117とE477と大量のE488が出ます……utf8のunixです
あとこちらもバックです

もうちょっといじってみます
0141名無しさん@お腹いっぱい。2015/04/27(月) 23:28:42.57
>>140
LinuxMintのvimは、7.3以上かつ+clientserver付きなの?
0142名無しさん@お腹いっぱい。2015/04/27(月) 23:57:32.16
>>141
そのようです

サーバー立ち上げてませんでした吊ってきます
0143名無しさん@お腹いっぱい。2015/04/28(火) 07:26:50.67
お世話になります。
vimgrep で再帰検索をする場合、

:vimgrep /pattern/ **/*.ext | cw

等になるかと思いますが、
このとき特定のディレクトリだけを検索対象から再帰的に除外する方法はないでしょうか?
内部grepで無理なら外部grepでもかまいません。

よろしくお願いします。
0144名無しさん@お腹いっぱい。2015/04/29(水) 06:11:46.11
>>143
:vimgrep /pattern/ `find . -name '*.ext' -! -path './exclude/*'` | cw
0145名無しさん@お腹いっぱい。2015/04/29(水) 07:59:42.00
viを起動するとvimrcを読み込んでしまい大量のエラーメッセージが流れるんですがどうにかできませんか?
0146名無しさん@お腹いっぱい。2015/04/29(水) 09:54:25.63
guiをgtk2にしてconfigureしてインストールしたらgvimの背景が白で文字が黒なんですが
これはデフォルトでこういう色に設定されているんですか?
vimrcとgvimrcはからの状態です
たしか昔インストールしたときは黒背景だったのですが
0147名無しさん@お腹いっぱい。2015/04/29(水) 11:50:42.42
VundleとかNeoBundleなどのサンプルコードで
set rtp+=~/.vim/bundle/Vundle.vimと書いてあるのですが
vimrcを再読込したら重複するパスが存在するとおもうんです
いろんな人のvimrcみても+=で追加してるんですが問題ないのでしょうか?
0148名無しさん@お腹いっぱい。2015/04/29(水) 12:59:30.27
>>145-147
vimをアンインストールで解決
0149名無しさん@お腹いっぱい。2015/04/29(水) 14:04:34.11
>>147
"vimrc リローダブル"でググると幸せに
0150名無しさん@お腹いっぱい。2015/04/29(水) 15:25:42.32
検索したらrtpに一回しか登録されないことがわかりました
augroupなどは設定済みでした
後はマッピングでvimrcを読み込むようにしました
一つ解決できないことが見つかりました
set all&ですべての設定を規定値に戻せません
戻せなかったのはnumberです
set all&じゃnumberはnonumberにできないのでしょうか?
0151名無しさん@お腹いっぱい。2015/04/29(水) 17:42:16.48
我が家では set all& で nonumber になってるな
でも画面上のはCTRL-lしないと消えないね
0152名無しさん@お腹いっぱい。2015/04/29(水) 17:57:17.09
あ、なるほど
再描画コマンドをvimrcに書いたら思い通りになりました
これで完璧に初期化できました
0153名無しさん@お腹いっぱい。2015/04/29(水) 18:25:50.45
set all&
augroup vimrc
autocmd!
nnoremap <Space>s. :<C-u>source ~/.vim/vimrc<CR>
augroup END
colorscheme default
syntax enable

再描画入れてないんですがこの内容だけのvimrcをスペースs.押して再読み込みさせると
色が付かなくなってしまいました。再描画しても変化ありません。
set all&実行する前後の:set allの内容をチェックしてみましたが色とは関係なさそうな値が異なるだけでした
なぜですか?
0154 ◆fkrTovHYGs 2015/04/29(水) 18:37:32.93
自己レスなんですがsourceで読み込むとsyntax enableが効いてないような気がしました
0155名無しさん@お腹いっぱい。2015/04/29(水) 20:55:50.75
filetypeまで初期化してるからじゃないの
0156 ◆fkrTovHYGs 2015/04/29(水) 22:14:55.07
あ、ほんとだそのとおりでした
filetypeを設定しなおしたら色がつきました
0157名無しさん@お腹いっぱい。2015/04/30(木) 19:58:11.53
vimを起動した時にファイルタイプを変数fに記録して
:source vimrcしたときに変数fを使ってset filetypeしたいんですがうまくいきません

syntax on
if exists("g:f")
set filetype=g:f
else
let g:f = &ft
endif

vimを開いた後に自分で:echo &ftするとステータスバーの下にvimって出力されたのですが
let g:f = &ftするタイミングでファイルタイプの種類を取れてないのですがどうやって変数にセットできますか?
0158名無しさん@お腹いっぱい。2015/04/30(木) 20:58:51.50
>>144
ありがとうございましたm(__)m
非常に助かりました、完璧でした。

それにしてもどうしてこんな複雑な操作を熟知されてるのでしょう?
私からすると神様みたいです
0159名無しさん@お腹いっぱい。2015/04/30(木) 21:00:52.78
>>157
au FileType * let g:f = &ft
はどうや?
0160157 ◆MC7mIiSQ8g 2015/04/30(木) 21:09:36.20
>>159
だめでしたg:fは空?でした
0161名無しさん@お腹いっぱい。2015/04/30(木) 23:11:36.93
>>160
そのvimrcでlet g:fしてるの消した?
0162名無しさん@お腹いっぱい。2015/04/30(木) 23:19:09.27
>>157
そもそもこれの目的はなに?
so ~/.vimrc してもftはリセットされないべ?
0163名無しさん@お腹いっぱい。2015/04/30(木) 23:36:54.07
vimrcでなんかおかしなことしてんじゃねの?
0164名無しさん@お腹いっぱい。2015/04/30(木) 23:43:58.89
ちんちんシコシコしてるの?
0165名無しさん@お腹いっぱい。2015/04/30(木) 23:52:44.71
>>158
vim って言うより find の使い方だねこれは。
0166157 ◆MC7mIiSQ8g 2015/05/01(金) 00:39:53.90
>>161 消してあります。
syntax on
if exists("g:f")
set filetype=g:f
else
au FileType * let g:f = &ft
endif
このスクリプトで:source vimrcの後に:set filetypeするとfiletype=g:fと出力されました

>>162
vimrcリロード後にset all&でファイルタイプが消えるので再設定するためです
1版最初にvimを立ち上げた時にファイルタイプの値&ftが取得できなくて空の値をg:fに代入しているのかなとみています

>>163 vimrcの内容は>>157だけです

>>164
これからします
0167名無しさん@お腹いっぱい。2015/05/01(金) 01:49:59.42
>>166
そういうことか。やっとわかったわ
手元ではこれでいけた
.vimrc を source する前にカレントバッファのfiletypeを保存して、.vimrcの最後の方でそれを復元する
augroup Chinshiko
autocmd!
autocmd SourcePre .vimrc let g:f = &filetype
augroup END
let &filetype = get(g:, 'f', '')
0168157 ◆MC7mIiSQ8g 2015/05/01(金) 13:18:10.36
>>167
できましたこれで完璧です
匿名ブログに完成コードを残しました
http://anond.hatelabo.jp/20150501131712
0169名無しさん@お腹いっぱい。2015/05/01(金) 16:00:37.19
vimより先に人としての常識をお勉強しようね
0170名無しさん@お腹いっぱい。2015/05/01(金) 18:29:25.98
なんか問題あんの?
0171名無しさん@お腹いっぱい。2015/05/01(金) 19:03:35.34
RTFM!!!ってことだろ
0172名無しさん@お腹いっぱい。2015/05/04(月) 00:00:48.55
a = ["b", "c", "2"];
aの所にカーソルをおいてCTRL-aするとカーソルより後ろの数字(2)がインクリメントされるんですが
数字の所にカーソルがないのにインクリメントできる仕様なんですか?
0173名無しさん@お腹いっぱい。2015/05/04(月) 00:02:25.21
予期せぬところで数字が増えてそうでバグを生みそうで怖いんですが
0174名無しさん@お腹いっぱい。2015/05/04(月) 07:20:01.68
>>172
そういう仕様だと思う
どうしても気になるなら無効にするか、カーソル位置に数字がある場合だけ動作するように変更すべし
0175名無しさん@お腹いっぱい。2015/05/04(月) 08:07:06.19
>>172
まずマニュアル読もうぜ。
:h ctrl-a
Add [count] to the number or alphabetic character at or after the cursor.
‘after the cursor’って書いてあんだから仕様でしょ。

バグ云々については、バージョン管理してコミットする際に、
差分みて意図しない変更がないか確認すればいい。
0176名無しさん@お腹いっぱい。2015/05/04(月) 08:47:14.81
移動してくれたほうが色々と便利だぞ
マクロとか
0177名無しさん@お腹いっぱい。2015/05/05(火) 00:53:50.00
仕様ということで飲み込みます
0178名無しさん@お腹いっぱい。2015/05/06(水) 22:20:39.02
連休中にAtomとVSCodeに浮気してみたけどやっぱりVimだわ
0179名無しさん@お腹いっぱい。2015/05/06(水) 23:28:28.98
>>177
気に入らなければ挙動変えられるのがVimのいいところの一つだとは思うけどね
0180名無しさん@お腹いっぱい。2015/05/07(木) 02:30:05.73
electron版viクローンはよ
0181名無しさん@お腹いっぱい。2015/05/07(木) 12:58:23.99
gitで使うエディタにvimを使ってまして
let s = "a"
\ . "b"
この2行しか書いてないvimrcを用意しました

git rebase -i HEAD^^すると
E10: \ should be followed by /, ? or &
ってエラーが出てしまいrebaseができません。
\があるとどうもエラーになるようです。

vimrcの先頭にset nocpを書いたらE10は消えたんですが(vimrcを読み込んだ時点でnocpが設定されているものだと思うのでset nocpをする理由がよくわかってない)
今度はE319: Sorry, the command is not available in this version: let s = "a" . "b"
とエラーが出ました
set nocpじゃなくてset cpoptions-=Cを書いても同じエラが出ました
行を\で分けずに書けばエラーは出なくなるのですが他に解決策はありませんか?
0182名無しさん@お腹いっぱい。2015/05/07(木) 13:14:23.80
vim -u NONEで起動するようにgitconfigを設定して解決しました
0183名無しさん@お腹いっぱい。2015/05/07(木) 15:07:59.88
>>181-182
同じ症状を再現できなかった(E10は出せたけどrebaseは成功するしE319は出なかった)ので自信無いけど
「vi」で起動すると互換モードで動くという設定がシステム側でされてて
且つ、環境変数 EDITOR が vim じゃなくて vi とか……?
もしそうなら、ちゃんと vim を使うように設定すれば -u NONE は要らないと思う
0184名無しさん@お腹いっぱい。2015/05/07(木) 17:18:24.92
echo $EDITORで何も表示されなかったので観葉変数にvimを設定したらエラーがなくなりました
ありがとうございます
0185名無しさん@お腹いっぱい。2015/05/07(木) 17:37:25.89
viバインド互換をうたったブラウザアドオンとかファイラーとかあるけど
それぞれビミョーに手を加えてたり再現度に違いがあって切り替えたときとか混乱してやりづらいね
0186名無しさん@お腹いっぱい。2015/05/08(金) 00:22:47.19
>>185
それらは完全に同じではないもんな
あくまで "like" なだけで
0187名無しさん@お腹いっぱい。2015/05/08(金) 00:24:04.71
>>181
なんだろそれ
EDITOR=vim だし、.vimrc にバックスラッシュ含まれてるけどその現象は出てないわ
0188名無しさん@お腹いっぱい。2015/05/09(土) 12:21:55.91
viでvimrcを読みこんだから
0189名無しさん@お腹いっぱい。2015/05/12(火) 21:55:38.39
vimgrep a.txt b.txt
これで起動した時に左右にファイルの差分が表示されますが
このままvimgrepのモードを解除して左右に分割されたままファイルを編集作業に入りたいので
解除方法を教えてください
0190名無しさん@お腹いっぱい。2015/05/13(水) 19:24:16.30
>>189
:diffoff!
http://vim-jp.org/vimdoc-ja/diff.html#:diffoff
vimgrep じゃなくて vimdiff ね
0191名無しさん@お腹いっぱい。2015/05/13(水) 23:15:32.59
>>190
解除できましたありがとうございます
0192名無しさん@お腹いっぱい。2015/05/15(金) 10:13:46.58
vim-commentaryってプラグインを使ってるんですが
autocmd FileType php set commentstring=#\ %s
filetype plugin indent on
これだとcommentstringの値を上書きできなくて、行を逆にすると上書き出来ました
filetype plugin indent on
autocmd FileType php set commentstring=#\ %s

なぜfiletype plugin indent onの後に書かないと上書きできないんですか?
0193名無しさん@お腹いっぱい。2015/05/15(金) 12:31:32.31
>>192
filetype plugin indent onの行でファイルタイプの判定を有効にしてからじゃないと、
FileTypeのイベントが発行イベントがしないんでしょ。
0194名無しさん@お腹いっぱい。2015/05/15(金) 12:36:11.59
途中で書き込んじゃったから書き直すわ。
>>192
filetype plugin indent onの行でファイルタイプの判定を有効にしてからじゃないと、
FileTypeのイベントが起きないから、autocmdが実行されないんでしょ。
0195名無しさん@お腹いっぱい。2015/05/15(金) 14:16:18.80
>>193-194
ということはfiletype plugin indent onより前のautocmdは無意味なのか検証してみました

autocmd FileType php setlocal tabstop=1 shiftwidth=1 softtabstop=1
autocmd FileType php set commentstring=#\ %s
filetype plugin indent on

インデントは1になりましたがcommentstringだけは上書きされません
0196名無しさん@お腹いっぱい。2015/05/15(金) 15:35:27.35
>>195
失礼。filetype plugin indent onの前でもFiletypeイベントは起きてるみたいだ。

時間がないので細かいことは調べられなかったけど、filetype plugin indent onをすると、
filetypeが決まる時にphp用のftpluginが呼ばれ、そこでcommentstringが上書きされてる。
tabstopなどはphp用ftpluginの中で記述されてないので、設定がそのまま残ってる。

ここら辺の設定の順番は俺じゃわからないから、誰か知ってる人がいたら教えて。
0197名無しさん@お腹いっぱい。2015/05/16(土) 16:02:28.06
ここの`https://github.com/vim-jp/vimdoc-ja/blob/master/doc/filetype.jax'
`ftplugin-overrule'の項目によると$HOMEで書換える方法でも良いんじゃないかな。
がっつり単純に
setlocal commentstring=/*%s*/
って書いてあるし。

他にも`filetype-plugin-off'の項目によると、『ファイル形式の検出自体は無効にならない。』
とか書いてある。
0198名無しさん@お腹いっぱい。2015/05/16(土) 16:09:52.58
ん、板のtopとスレッドの中で`'の扱いが違う。
0199名無しさん@お腹いっぱい。2015/05/16(土) 23:18:17.45
>>196-198
解説ありがとうございます。
この領域の内容は難しすぎて僕にはついけいけないようです。
0200名無しさん@お腹いっぱい。2015/05/17(日) 02:56:03.15
うそーん。絶対あなたのほうが詳しいと思う。
packageを作った人によって多少の名前の違いはあるかもしれないけどそこは勘で分ると思います。
例えばvimのversionが7.3だっとして/usrにinstallされていたら
/usr/share/vim73/ftplugin というdirectoryの中に「php.vim」と「html.vim」というfileが
あるからそれを$HOME/.vim/ftplugin というdirectoryを作ってその中に複製して入れる。
その複製したphp.vim fileの中に
setlocal commentstring=/*%s*/
という場所が下の方にあるから、その上と下に分を付け足して最終的に以下のようにします。
if ! did_filetype ()
setlocal commentstring=/*%s*/
endif
その複製したhtml.vim fileの中に
setlocal commentstring=<!--%s-->
という場所が上の方にあるから、その上と下に分を付け足して最終的に以下のようにします。
if ! did_filetype ()
setlocal commentstring=<!--%s-->
endif
一応これで以下の設定で動いています。何となくsetlocalにしときました。
autocmd FileType php setlocal commentstring=#\ %s
filetype plugin indent on
0201名無しさん@お腹いっぱい。2015/05/17(日) 03:26:03.08
ごめんそっかそっか、上の方法だと他にも何か設定してる時に悪影響あったりしそうな感じもする。
一番簡単なのはphp.vimのfileのsetlocalの値を書換えるだけなのだけれども。
その時はそうするか、偉い人のアドバイスを待って。寝ます。
0202名無しさん@お腹いっぱい。2015/05/21(木) 12:17:43.59
既に開いたファイルと差分を取る方法を教えてください
0203名無しさん@お腹いっぱい。2015/05/21(木) 13:17:21.46
>>202
:h :diffsplit
0204名無しさん@お腹いっぱい。2015/05/21(木) 13:45:12.45
vi並の低機能サクサクvimをビルドしようとするとどれくらい近くなるの?
やったことあるひといる?
0205名無しさん@お腹いっぱい。2015/05/21(木) 14:49:02.84
>>204
その行為に意味があると思えない
viが使いたければviを入れれば済むし
0206名無しさん@お腹いっぱい。2015/05/21(木) 15:42:52.83
あるソフトからvim呼び出すときスワップ作りたくないんでgvim --noswapfile -"%f"って書いたんだけど"未知のオプション引数です"と言われます
とりあえず開いてから:set noswapfileってすれば効くみたいなんだけど……なんででしょ

>>204
vim-tinyでもあかんのかね?
0207名無しさん@お腹いっぱい。2015/05/21(木) 15:49:37.08
マッピングされているキー一覧を取得する方法ありませんか?
0208名無しさん@お腹いっぱい。2015/05/21(木) 18:02:18.06
>>206
:h -vim
:h -c

gvim +"set noswapfile" 〜
0209名無しさん@お腹いっぱい。2015/05/21(木) 18:20:21.24
>>207
普通に :map とか?

:h :map_l
してジャンプした先の上15行を読んでみて
0210名無しさん@お腹いっぱい。2015/05/21(木) 21:29:26.69
久し振りにWin系のエディタ触ったら操作完璧に忘れてた
一文字後ろ削除ってなんだっけ?とx押したら行切り取りされて更にビビった
0211名無しさん@お腹いっぱい。2015/05/22(金) 09:31:56.85
autocmd FileType
\ a,b,c,d,e,f,g,h,i,vim,python,ruby,cpp,html

1文字と特定のファイルタイプだけ色がつくんですがなぜですか?
cppとかhtmlは色はついてません
0212名無しさん@お腹いっぱい。2015/05/22(金) 10:28:31.38
4行のvimrc

filetype plugin indent on
set list
colorscheme blue
autocmd FileType javascript setlocal nolist

javascriptのファイルを開いてタブ文字を入れて
:sources ~/.vimrc
こうするとautocmdのnolistが効いてないんですがどうしてですか?
0213名無しさん@お腹いっぱい。2015/05/22(金) 11:06:58.93
>>212
autocmd FileType はバッファに読み込んだファイルの filetype が設定された時に実行されるコマンドだからじゃない?

:source ~/.vimrc を読み込んでも、元々バッファに読み込んであった javascript ファイルはそのままだから、filetype を再設定しないんじゃないかな。
0214名無しさん@お腹いっぱい。2015/05/22(金) 23:55:02.32
http://vim-jp.org/vimdoc-ja/autocmd.html#autocmd-events
vim歴浅いからよくわからないんですけど
|SourcePre| Vimスクリプトを読み込む前
|SourceCmd| Vimスクリプトを読み込む前 |Cmd-event|
これってどっちも同じ機能ってことですか?それともtypoですか?
0215名無しさん@お腹いっぱい。2015/05/23(土) 06:22:27.58
>>211
それを一行にまとめて書く(バックスラッシュ除く)と、a 以降まったく色がつかない
その部分に色がつくことは本来は無いようだ

だがバックスラッシュで行継続すると
Vimはそれが「"FileType" に続く内容」であると認識できず、別の構文と解釈して色をつけてしまう

具体的にはExコマンドとみなして色付けしている模様
a (appendの略)、b (bufferの略)、c (changeの略)……
また python や ruby もコマンドとして存在する(:h :python 及び :h :ruby 参照)
けど cpp や html という名前のコマンドは存在しないからそれらには色がついていない、という事みたい
02162122015/05/24(日) 21:02:29.72
>>213
autocmd SourcePre * setlocal nolistでsource vimrc時にnolistが効きました。

ただ拡張子を*にしているので*.js以外もnolistになります。
autocmd SourcePre *.js setlocal nolistと書いてもイベントが発火しません
"*.js"と囲ってもダメでした
どこか間違っているところをご指摘おねがいします。
0217名無しさん@お腹いっぱい。2015/05/24(日) 22:31:35.55
>>216
autocmd SourcePre *.js setlocal nolist は source するファイルが vim の設定ファイルじゃないからかな
0218名無しさん@お腹いっぱい。2015/05/25(月) 00:36:38.25
>>216
それをやるなら普通は
au BufRead,BufNewFile *.js setl nolist
とかこんな感じ
02192122015/05/25(月) 01:30:41.52
>>217
最初に戻ってFileTypeイベントを使って目指できるようにダイアログを表示してみました
autocmd FileType javascript :!zenity --info
これを書くと、ファイル開いた時とsource ~/.vimrcしたとき両方ともダイアログが表示されました
イベントは発火されていました。
ってことはautocmd FileType javascript setlocal nolistでも発火しているはずなんですが、
setlocalが効いてないのがどうしてなのかわかりません。

>>218
:source ~/.vimrcした時にイベントが発火しませんでした
02202122015/05/25(月) 01:31:39.65
訂正
最初に戻ってFileTypeイベントを使って目指できるようにダイアログを表示してみました

最初に戻ってFileTypeイベントを使って目視できるようにダイアログを表示してみました
0221名無しさん@お腹いっぱい。2015/05/25(月) 02:46:59.27
>>219
こういうことけ?
jsのとき setl nolistしたい
js編集中にso .vimrcした場合setl nolistが解除されないようにしたい
:verb se nolistして最後にオプションが設定された場所みてみた?
0222名無しさん@お腹いっぱい。2015/05/25(月) 14:21:30.52
深入りしないで答えるとjslintとかいうのが悪さをしてそうだ。
02232122015/05/25(月) 22:36:10.55
>>221
サンプルのためnolistを使っているだけです。
autocmd FileType javascript setlocal {old}を
autocmd FileType javascript setlocal {new}に変更した後にsource ~/.vimrcしても{new}が反映されてないので反映されるようにしたいのです
ファイルを開いた直後は{old}が効いてますが、vimrcを編集して{old}を{new}に書き換えてvimrcを再読込しても{new}が反映されないんです
:verb se nolistしても何も表示されませんでした

>>222
この4行しか書いてないです
filetype plugin indent on
set list
colorscheme blue
autocmd FileType javascript setlocal nolist
0224名無しさん@お腹いっぱい。2015/05/26(火) 00:03:31.01
本当に>>219それ動いたのかな。何処かで勘違いしてないかな。
下記のfileを作って起動して、読みこみ直してもイベントは鎮火されてるよ。
一番下のcomemntを外すとそういう事はできるけれど、
私は>>213が正しいような気がするけれど、しかし私は詳しくないので偉い人頼んだ。
filetype plugin indent on
set list
colorscheme blue
autocmd FileType javascript :r!pwd
"edit
0225名無しさん@お腹いっぱい。2015/05/26(火) 04:40:52.76
以下のfileを作って起動するじゃん。
filetype plugin indent on
autocmd FileType javascript call append ('.', 'test')

そこで以下のどっちらかを打ち込むと打ち込むたびにtestが書き込まれていく。
setlocal filetype=javascript
setfiletype javascript
じゃあ上記のfileにそれをつけたせばと思ってsourceするとどうなるかというと
sourceするたびにtestを書き込む数が増えていってしまう。
その値を初期化できれば完成なんじゃない。
0226名無しさん@お腹いっぱい。2015/05/26(火) 08:37:00.58
>>223
少なくとも普通はこんな感じにする
aug Foo
au!
au FileType javascript setl nolist
aug END
こうしないとvimrc読み込むたびにauが増えていく
0227名無しさん@お腹いっぱい。2015/05/26(火) 12:59:39.80
そっかそういう事かautocmd FileTypeで中身を見たら一目瞭然でした。
横槍ですが、おかげさまでまた一つ知識が増えました。ありがとうございます。
どうやら人気がありそうな以下の二つの言語で試すと、以下のようにするとできるようです。

filetype plugin indent on
autocmd FileType php call append ('.', 'ririnrin')
augroup foo
autocmd!
autocmd FileType javascript call append ('.', 'rurunrun')
setlocal filetype=javascript
"setfiletype javascript
augroup end
0228名無しさん@お腹いっぱい。2015/05/26(火) 13:43:41.39
ごめん上記は嘘。
0229名無しさん@お腹いっぱい。2015/05/26(火) 13:55:06.54
"こうかな。
filetype plugin indent on
autocmd FileType php call append ('.', 'ririnrin')
augroup foo
autocmd!
autocmd FileType javascript call append ('.', 'rurunrun')
augroup end
if &filetype == 'javascript'
setlocal filetype=javascript
endif
0230名無しさん@お腹いっぱい。2015/05/26(火) 14:11:35.21
ごめん上記もまた嘘である。
0231名無しさん@お腹いっぱい。2015/05/26(火) 14:35:33.86
"他のtabに移った時にfiletypeの値が消えちゃうのね。
"これではどうだろ。また何か見落としてるかな。

filetype plugin indent on
autocmd FileType php call append ('.', 'ririnrin')
augroup foo
autocmd!
autocmd FileType javascript call append ('.', 'rurunrun') |let b:filetype_js = 1
augroup end
if exists ('b:filetype_js')
setlocal filetype=javascript
endif
0232隼人新聞社2015/05/26(火) 16:30:44.21
スレによっては国賊で創価員の工作員スパイが暗躍してみんさんを洗脳しようとしています。注意

こんなにある、創価員による破壊的狂気的犯行の数々。実際には新聞TVにのらないだけでもっとある!次はあなたの番だ

●宅間守(在日部落)→大阪 附属池田小学校児童殺傷 。大量殺人犯 創価学会員の犯行 両親も創価学会員
 8人殺害 15人を殺傷。 朝鮮人部落出身。
●斉藤勇太→JR取手駅前バス無差別殺傷通り魔事件(取手バスジャック)  創価学会員の犯行
「通勤、通学客で混雑するバスの中で手加減せず無差別に襲っており、社会に大きな不安や衝撃を与えた結果は重大だ」 
●酒鬼薔薇聖斗→ 東慎一郎(在日)神戸の首切り魔で酒鬼薔薇聖斗 神戸の首切り魔。生首を校門に飾る。2人殺害。創価学会員の犯行 大量殺人犯
●福田孝行(在日)→山口県母子強姦殺害 殺害後屍姦、乳児も殺害 大量殺人犯 創価学会員の犯行。裁判では屍姦は
生き返らせるための(創価流の)儀式だと供述  死刑判決
● 大芦明 →2011年 11月5日 大阪府堺市中区 隣人二名殺害事件。創価学会員の犯行 無期懲役
●八木茂 →埼玉・保険金殺人事件犯人 2名殺害(平成12年)死刑判決 創価学会員の犯行
●武まゆみ→、埼玉・保険金殺人事件犯人 2名殺害(平成12年)無期懲役 創価学会員の犯行
●森田考子→埼玉・保険金殺人事件犯人 2名殺害(平成12年)共犯者で懲役13〜15年の判決 創価学会員の犯行 
●柏市連続通り魔殺傷事件X強盗殺人 創価学会員の犯行の犯行
●引寺利明 →マツダ宇品工場ファミリア暴走連続殺傷事件 引き殺しで1人死亡、11人を殺傷  創価学会員の犯行
●織原城二(金聖鐘) → ルーシー・ブラックマンさん事件 創価学会員の犯行 10人の女性に強姦又は強制わいせつ 内2人の女性が死亡
●山口芳寛 →熊本3才女児遺棄事件。レイプ 創価学会員の犯行。幼女に熱い視線、女児が大好き 強姦殺人無期懲役
●内柴正人→柔道金メダリスト(連続)強姦事件 (2009.5.15付 聖教新聞) 創価学会員の犯行
●アクリフーズ毒入り大量殺人事件 創価学会員の犯行
●リサイクルショップエース大量殺人事件 連続殺人!5人以上を殺して埋める 創価学会員の犯行
0233名無しさん@お腹いっぱい。2015/05/26(火) 22:01:44.62
>>231
他のタブに移ったらと言うか、他のタブは別のバッファだからftが違うだけじゃね?
FileType は local to buffer のはず
0234名無しさん@お腹いっぱい。2015/05/27(水) 12:30:01.89
vimrcリロードでautocmd FileType・・・が効かないの知らなかった
0235名無しさん@お腹いっぱい。2015/05/27(水) 21:55:41.34
>>234
autocmd はイベント時のコマンドを登録するだけだから呼び出しても基本何も発生せんのよ
0236名無しさん@お腹いっぱい。2015/05/31(日) 12:57:04.36
vim scriptの行継続のためのバックスラッシュを挿入する際、いくつスペースをいれるかを決定するオプションがあった気がするのですが名前がわかりません。
なんというオプションだったか教えてください
■ このスレッドは過去ログ倉庫に格納されています