1 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/03/30(月) 20:04:42.55 .net] Vim 6以降に関する話題、Part24です。 www.vim.org/ 前スレ Vim Part24 peace.2ch.net/test/read.cgi/unix/1413122189/ 関連情報は>>2-6 あたり
135 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/25(土) 23:02:39.48 .net] >>132 あ、あとvimrcを再読み込みした時のため au!もそのため
136 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/25(土) 23:10:27.19 .net] matchpairsの場合は se matchpairs+=<:>を二回実行しても結果は変わらないぽい ものによってどんどん追加されていくのもあるんだろうか
137 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/26(日) 01:41:37.25 .net] +=で設定するオプションは全部&使ったほうがいいのかな
138 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/27(月) 21:04:55.52 .net] LinuxMintにてvim-gnome使ってます gvimで何か開かれるときに、新しいウィンドウではなく既存のgvimのウィンドウの新しいタブとして開かせることは.vimrcからは出来ないでしょうか? ファイラーから日本語のテキストを開くたびにgvimのウィンドウが増えていって……
139 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/27(月) 21:08:02.34 .net] >>137 gvim --remote-tab foo
140 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/27(月) 21:34:47.37 .net] >>137 singleton.vim
141 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/27(月) 22:15:45.84 .net] ありがとうございます >>138 バックグラウンドタブに回されてしまいます……フォアグラウンドがいいです >>139 入れてみました。起動時にE117とE477と大量のE488が出ます……utf8のunixです あとこちらもバックです もうちょっといじってみます
142 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/27(月) 23:28:42.57 .net] >>140 LinuxMintのvimは、7.3以上かつ+clientserver付きなの? [] [ここ壊れてます]
144 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/27(月) 23:57:32.16 .net] >>141 そのようです サーバー立ち上げてませんでした吊ってきます
145 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/28(火) 07:26:50.67 .net] お世話になります。 vimgrep で再帰検索をする場合、 :vimgrep /pattern/ **/*.ext | cw 等になるかと思いますが、 このとき特定のディレクトリだけを検索対象から再帰的に除外する方法はないでしょうか? 内部grepで無理なら外部grepでもかまいません。 よろしくお願いします。
146 名前:名無しさん@お腹いっぱい。 [2015/04/29(水) 06:11:46.11 .net] >>143 :vimgrep /pattern/ `find . -name '*.ext' -! -path './exclude/*'` | cw
147 名前:名無しさん@お腹いっぱい。 [2015/04/29(水) 07:59:42.00 .net] viを起動するとvimrcを読み込んでしまい大量のエラーメッセージが流れるんですがどうにかできませんか?
148 名前:名無しさん@お腹いっぱい。 [2015/04/29(水) 09:54:25.63 .net] guiをgtk2にしてconfigureしてインストールしたらgvimの背景が白で文字が黒なんですが これはデフォルトでこういう色に設定されているんですか? vimrcとgvimrcはからの状態です たしか昔インストールしたときは黒背景だったのですが
149 名前:名無しさん@お腹いっぱい。 [2015/04/29(水) 11:50:42.42 .net] VundleとかNeoBundleなどのサンプルコードで set rtp+=~/.vim/bundle/Vundle.vimと書いてあるのですが vimrcを再読込したら重複するパスが存在するとおもうんです いろんな人のvimrcみても+=で追加してるんですが問題ないのでしょうか?
150 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/29(水) 12:59:30.27 .net] >>145-147 vimをアンインストールで解決
151 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/29(水) 14:04:34.11 .net] >>147 "vimrc リローダブル"でググると幸せに
152 名前:名無しさん@お腹いっぱい。 [2015/04/29(水) 15:25:42.32 .net] 検索したらrtpに一回しか登録されないことがわかりました augroupなどは設定済みでした 後はマッピングでvimrcを読み込むようにしました 一つ解決できないことが見つかりました set all&ですべての設定を規定値に戻せません 戻せなかったのはnumberです set all&じゃnumberはnonumberにできないのでしょうか?
153 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/29(水) 17:42:16.48 .net] 我が家では set all& で nonumber になってるな でも画面上のはCTRL-lしないと消えないね
154 名前:名無しさん@お腹いっぱい。 [2015/04/29(水) 17:57:17.09 .net] あ、なるほど 再描画コマンドをvimrcに書いたら思い通りになりました これで完璧に初期化できました
155 名前:名無しさん@お腹いっぱい。 [2015/04/29(水) 18:25:50.45 .net] 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の内容をチェックしてみましたが色とは関係なさそうな値が異なるだけでした なぜですか?
156 名前: ◆fkrTovHYGs [2015/04/29(水) 18:37:32.93 .net] 自己レスなんですがsourceで読み込むとsyntax enableが効いてないような気がしました
157 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/29(水) 20:55:50.75 .net] filetypeまで初期化してるからじゃないの
158 名前: ◆fkrTovHYGs mailto:sage [2015/04/29(水) 22:14:55.07 .net] あ、ほんとだそのとおりでした filetypeを設定しなおしたら色がつきました
159 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/30(木) 19:58:11.53 .net] 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するタイミングでファイルタイプの種類を取れてないのですがどうやって変数にセットできますか?
160 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/30(木) 20:58:51.50 .net] >>144 ありがとうございましたm(__)m 非常に助かりました、完璧でした。 それにしてもどうしてこんな複雑な操作を熟知されてるのでしょう? 私からすると神様みたいです
161 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/30(木) 21:00:52.78 .net] >>157 au FileType * let g:f = &ft はどうや?
162 名前:157 ◆MC7mIiSQ8g mailto:sage [2015/04/30(木) 21:09:36.20 .net] >>159 だめでしたg:fは空?でした
163 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/30(木) 23:11:36.93 .net] >>160 そのvimrcでlet g:fしてるの消した?
164 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/30(木) 23:19:09.27 .net] >>157 そもそもこれの目的はなに? so ~/.vimrc してもftはリセットされないべ?
165 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/30(木) 23:36:54.07 .net] vimrcでなんかおかしなことしてんじゃねの?
166 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/30(木) 23:43:58.89 .net] ちんちんシコシコしてるの?
167 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/30(木) 23:52:44.71 .net] >>158 vim って言うより find の使い方だねこれは。
168 名前:157 ◆MC7mIiSQ8g mailto:sage [2015/05/01(金) 00:39:53.90 .net] >>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 これからします
169 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/01(金) 01:49:59.42 .net] >>166 そういうことか。やっとわかったわ 手元ではこれでいけた .vimrc を source する前にカレントバッファのfiletypeを保存して、.vimrcの最後の方でそれを復元する augroup Chinshiko autocmd! autocmd SourcePre .vimrc let g:f = &filetype augroup END let &filetype = get(g:, 'f', '')
170 名前:157 ◆MC7mIiSQ8g mailto:sage [2015/05/01(金) 13:18:10.36 .net] >>16
171 名前:7 できましたこれで完璧です 匿名ブログに完成コードを残しました http://anond.hatelabo.jp/20150501131712 [] [ここ壊れてます]
172 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/01(金) 16:00:37.19 .net] vimより先に人としての常識をお勉強しようね
173 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/01(金) 18:29:25.98 .net] なんか問題あんの?
174 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/01(金) 19:03:35.34 .net] RTFM!!!ってことだろ
175 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/04(月) 00:00:48.55 .net] a = ["b", "c", "2"]; aの所にカーソルをおいてCTRL-aするとカーソルより後ろの数字(2)がインクリメントされるんですが 数字の所にカーソルがないのにインクリメントできる仕様なんですか?
176 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/04(月) 00:02:25.21 .net] 予期せぬところで数字が増えてそうでバグを生みそうで怖いんですが
177 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/04(月) 07:20:01.68 .net] >>172 そういう仕様だと思う どうしても気になるなら無効にするか、カーソル位置に数字がある場合だけ動作するように変更すべし
178 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/04(月) 08:07:06.19 .net] >>172 まずマニュアル読もうぜ。 :h ctrl-a Add [count] to the number or alphabetic character at or after the cursor. ‘after the cursor’って書いてあんだから仕様でしょ。 バグ云々については、バージョン管理してコミットする際に、 差分みて意図しない変更がないか確認すればいい。
179 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/04(月) 08:47:14.81 .net] 移動してくれたほうが色々と便利だぞ マクロとか
180 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/05(火) 00:53:50.00 .net] 仕様ということで飲み込みます
181 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/06(水) 22:20:39.02 .net] 連休中にAtomとVSCodeに浮気してみたけどやっぱりVimだわ
182 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/06(水) 23:28:28.98 .net] >>177 気に入らなければ挙動変えられるのがVimのいいところの一つだとは思うけどね
183 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/07(木) 02:30:05.73 .net] electron版viクローンはよ
184 名前:名無しさん@お腹いっぱい。 [2015/05/07(木) 12:58:23.99 .net] 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を書いても同じエラが出ました 行を\で分けずに書けばエラーは出なくなるのですが他に解決策はありませんか?
185 名前:名無しさん@お腹いっぱい。 [2015/05/07(木) 13:14:23.80 .net] vim -u NONEで起動するようにgitconfigを設定して解決しました
186 名前:名無しさん@お腹いっぱい。 [2015/05/07(木) 15:07:59.88 .net] >>181-182 同じ症状を再現できなかった(E10は出せたけどrebaseは成功するしE319は出なかった)ので自信無いけど 「vi」で起動すると互換モードで動くという設定がシステム側でされてて 且つ、環境変数 EDITOR が vim じゃなくて vi とか……? もしそうなら、ちゃんと vim を使うように設定すれば -u NONE は要らないと思う
187 名前:名無しさん@お腹いっぱい。 [2015/05/07(木) 17:18:24.92 .net] echo $EDITORで何も表示されなかったので観葉変数にvimを設定したらエラーがなくなりました ありがとうございます
188 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/07(木) 17:37:25.89 .net] viバインド互換をうたったブラウザアドオンとかファイラーとかあるけど それぞれビミョーに手を加えてたり再現度に違いがあって切り替えたときとか混乱してやりづらいね
189 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/08(金) 00:22:47.19 .net] >>185 それらは完全に同じではないもんな あくまで "like" なだけで
190 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/08(金) 00:24:04.71 .net] >>181 なんだろそれ EDITOR=vim だし、.vimrc にバックスラッシュ含まれてるけどその現象は出てないわ
191 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/09(土) 12:21:55.91 .net] viでvimrcを読みこんだから
192 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/12(火) 21:55:38.39 .net] vimgrep a.txt b.txt これで起動した時に左右にファイルの差分が表示されますが このままvimgrepのモードを解除して左右に分割されたままファイルを編集作業に入りたいので 解除方法を教えてください
193 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/13(水) 19:24:16.30 .net] >>189 :diffoff! vim-jp.org/vimdoc-ja/diff.html#:diffoff vimgrep じゃなくて vimdiff ね
194 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/13(水) 23:15:32.59 .net] >>190 解除できましたありがとうございます
195 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/15(金) 10:13:46.58 .net] 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の後に書かないと上書きできないんですか?
196 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/15(金) 12:31:32.31 .net] >>192 filetype plugin indent onの行でファイルタイプの判定を有効にしてからじゃないと、 FileTypeのイベントが発行イベントがしないんでしょ。
197 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/15(金) 12:36:11.59 .net] 途中で書き込んじゃったから書き直すわ。 >>192 filetype plugin indent onの行でファイルタイプの判定を有効にしてからじゃないと、 FileTypeのイベントが起きないから、autocmdが実行されないんでしょ。
198 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/15(金) 14:16:18.80 .net] >>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だけは上書きされません
199 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/15(金) 15:35:27.35 .net] >>195 失礼。filetype plugin indent onの前でもFiletypeイベントは起きてるみたいだ。 時間がないので細かいことは調べられなかったけど、filetype plugin indent onをすると、 filetypeが決まる時にphp用のftpluginが呼ばれ、そこでcommentstringが上書きされてる。 tabstopなどはphp用ftpluginの中で記述されてないので、設定がそのまま残ってる。 ここら辺の設定の順番は俺じゃわからないから、誰か知ってる人がいたら教えて。
200 名前:名無しさん@お腹いっぱい。 [2015/05/16(土) 16:02:28.06 .net] ここの`https://github.com/vim-jp/vimdoc-ja/blob/master/doc/filetype.jax' `ftplugin-overrule'の項目によると$HOMEで書換える方法でも良いんじゃないかな。 がっつり単純に setlocal commentstring=/*%s*/ って書いてあるし。 他にも`filetype-plugin-off'の項目によると、『ファイル形式の検出自体は無効にならない。』 とか書いてある。
201 名前:名無しさん@お腹いっぱい。 [2015/05/16(土) 16:09:52.58 .net] ん、板のtopとスレッドの中で`'の扱いが違う。
202 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/16(土) 23:18:17.45 .net] >>196-198 解説ありがとうございます。 この領域の内容は難しすぎて僕にはついけいけないようです。
203 名前:名無しさん@お腹いっぱい。 [2015/05/17(日) 02:56:03.15 .net] うそーん。絶対あなたのほうが詳しいと思う。 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
204 名前:名無しさん@お腹いっぱい。 [2015/05/17(日) 03:26:03.08 .net] ごめんそっかそっか、上の方法だと他にも何か設定してる時に悪影響あったりしそうな感じもする。 一番簡単なのはphp.vimのfileのsetlocalの値を書換えるだけなのだけれども。 その時はそうするか、偉い人のアドバイスを待って。寝ます。
205 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/21(木) 12:17:43.59 .net] 既に開いたファイルと差分を取る方法を教えてください
206 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/21(木) 13:17:21.46 .net] >>202 :h :diffsplit
207 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/21(木) 13:45:12.45 .net] vi並の低機能サクサクvimをビルドしようとするとどれくらい近くなるの? やったことあるひといる?
208 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/21(木) 14:49:02.84 .net] >>204 その行為に意味があると思えない viが使いたければviを入れれば済むし
209 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/21(木) 15:42:52.83 .net] あるソフトからvim呼び出すときスワップ作りたくないんでgvim --noswapfile -"%f"って書いたんだけど"未知のオプション引数です"と言われます とりあえず開いてから:set noswapfileってすれば効くみたいなんだけど……なんででしょ >>204 vim-tinyでもあかんのかね?
210 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/21(木) 15:49:37.08 .net] マッピングされているキー一覧を取得する方法ありませんか?
211 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/21(木) 18:02:18.06 .net] >>206 :h -vim :h -c gvim +"set noswapfile" 〜
212 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/21(木) 18:20:21.24 .net] >>207 普通に :map とか? :h :map_l してジャンプした先の上15行を読んでみて
213 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/21(木) 21:29:26.69 .net] 久し振りにWin系のエディタ触ったら操作完璧に忘れてた 一文字後ろ削除ってなんだっけ?とx押したら行切り取りされて更にビビった
214 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/22(金) 09:31:56.85 .net] autocmd FileType \ a,b,c,d,e,f,g,h,i,vim,python,ruby,cpp,html 1文字と特定のファイルタイプだけ色がつくんですがなぜですか? cppとかhtmlは色はついてません
215 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/22(金) 10:28:31.38 .net] 4行のvimrc filetype plugin indent on set list colorscheme blue autocmd FileType javascript setlocal nolist javascriptのファイルを開いてタブ文字を入れて :sources ~/.vimrc こうするとautocmdのnolistが効いてないんですがどうしてですか?
216 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/22(金) 11:06:58.93 .net] >>212 autocmd FileType はバッファに読み込んだファイルの filetype が設定された時に実行されるコマンドだからじゃない? :source ~/.vimrc を読み込んでも、元々バッファに読み込んであった javascript ファイルはそのままだから、filetype を再設定しないんじゃないかな。
217 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/22(金) 23:55:02.32 .net] vim-jp.org/vimdoc-ja/autocmd.html#autocmd-events vim歴浅いからよくわからないんですけど |SourcePre| Vimスクリプトを読み込む前 |SourceCmd| Vimスクリプトを読み込む前 |Cmd-event| これってどっちも同じ機能ってことですか?それともtypoですか?
218 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/23(土) 06:22:27.58 .net] >>211 それを一行にまとめて書く(バックスラッシュ除く)と、a 以降まったく色がつかない その部分に色がつくことは本来は無いようだ だがバックスラッシュで行継続すると Vimはそれが「"FileType" に続く内容」であると認識できず、別の構文と解釈して色をつけてしまう 具体的にはExコマンドとみなして色付けしている模様 a (appendの略)、b (bufferの略)、c (changeの略)…… また python や ruby もコマンドとして存在する(:h :python 及び :h :ruby 参照) けど cpp や html という名前のコマンドは存在しないからそれらには色がついていない、という事みたい
219 名前:212 mailto:sage [2015/05/24(日) 21:0
] [ここ壊れてます]
220 名前:2:29.72 .net mailto: >>213 autocmd SourcePre * setlocal nolistでsource vimrc時にnolistが効きました。 ただ拡張子を*にしているので*.js以外もnolistになります。 autocmd SourcePre *.js setlocal nolistと書いてもイベントが発火しません "*.js"と囲ってもダメでした どこか間違っているところをご指摘おねがいします。 [] [ここ壊れてます]
221 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/24(日) 22:31:35.55 .net] >>216 autocmd SourcePre *.js setlocal nolist は source するファイルが vim の設定ファイルじゃないからかな
222 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/25(月) 00:36:38.25 .net] >>216 それをやるなら普通は au BufRead,BufNewFile *.js setl nolist とかこんな感じ
223 名前:212 mailto:sage [2015/05/25(月) 01:30:41.52 .net] >>217 最初に戻ってFileTypeイベントを使って目指できるようにダイアログを表示してみました autocmd FileType javascript :!zenity --info これを書くと、ファイル開いた時とsource ~/.vimrcしたとき両方ともダイアログが表示されました イベントは発火されていました。 ってことはautocmd FileType javascript setlocal nolistでも発火しているはずなんですが、 setlocalが効いてないのがどうしてなのかわかりません。 >>218 :source ~/.vimrcした時にイベントが発火しませんでした
224 名前:212 mailto:sage [2015/05/25(月) 01:31:39.65 .net] 訂正 最初に戻ってFileTypeイベントを使って目指できるようにダイアログを表示してみました ↓ 最初に戻ってFileTypeイベントを使って目視できるようにダイアログを表示してみました
225 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/25(月) 02:46:59.27 .net] >>219 こういうことけ? jsのとき setl nolistしたい js編集中にso .vimrcした場合setl nolistが解除されないようにしたい :verb se nolistして最後にオプションが設定された場所みてみた?
226 名前:名無しさん@お腹いっぱい。 [2015/05/25(月) 14:21:30.52 .net] 深入りしないで答えるとjslintとかいうのが悪さをしてそうだ。
227 名前:212 mailto:sage [2015/05/25(月) 22:36:10.55 .net] >>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
228 名前:名無しさん@お腹いっぱい。 [2015/05/26(火) 00:03:31.01 .net] 本当に>>219 それ動いたのかな。何処かで勘違いしてないかな。 下記のfileを作って起動して、読みこみ直してもイベントは鎮火されてるよ。 一番下のcomemntを外すとそういう事はできるけれど、 私は>>213 が正しいような気がするけれど、しかし私は詳しくないので偉い人頼んだ。 filetype plugin indent on set list colorscheme blue autocmd FileType javascript :r!pwd "edit
229 名前:名無しさん@お腹いっぱい。 [2015/05/26(火) 04:40:52.76 .net] 以下のfileを作って起動するじゃん。 filetype plugin indent on autocmd FileType javascript call append ('.', 'test') そこで以下のどっちらかを打ち込むと打ち込むたびにtestが書き込まれていく。 setlocal filetype=javascript setfiletype javascript じゃあ上記のfileにそれをつけたせばと思ってsourceするとどうなるかというと sourceするたびにtestを書き込む数が増えていってしまう。 その値を初期化できれば完成なんじゃない。
230 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/26(火) 08:37:00.58 .net] >>223 少なくとも普通はこんな感じにする aug Foo au! au FileType javascript setl nolist aug END こうしないとvimrc読み込むたびにauが増えていく
231 名前:名無しさん@お腹いっぱい。 [2015/05/26(火) 12:59:39.80 .net] そっかそういう事か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
232 名前:名無しさん@お腹いっぱい。 [2015/05/26(火) 13:43:41.39 .net] ごめん上記は嘘。
233 名前:名無しさん@お腹いっぱい。 [2015/05/26(火) 13:55:06.54 .net] "こうかな。 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
234 名前:名無しさん@お腹いっぱい。 [2015/05/26(火) 14:11:35.21 .net] ごめん上記もまた嘘である。
235 名前:名無しさん@お腹いっぱい。 [2015/05/26(火) 14:35:33.86 .net] "他の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