[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/25 02:07 / Filesize : 228 KB / Number-of Response : 1006
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Vim Part25



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あたり

130 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/25(土) 17:45:54.77 .net]
smartcaseの挙動を/の検索パターンでは有効にして、
コマンド補完の時は無効にしたいんだけど、
目的が違うのになんでon/offだけの1つのオプションにまとまってるんだろう。
それぞれのモードに入ったら切り替えるようにしないといけないのかな。

131 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/25(土) 19:21:03.73 .net]
こういう書き方を見ました
set matchpairs& matchpairs=+=<:>

これって↓と違うんですか?
set matchpairs=+=<:>

132 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/25(土) 21:37:13.50 .net]
>>130
:h set-&

133 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/25(土) 22:33:03.11 .net]
なるほど
でもこれvimrcに書く時は最初から規定値になってるはずなので不要な記述の気がするんですが

134 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/04/25(土) 23:01:42.17 .net]
>>132
環境によっては/etc/vim/vimrcとかで変えられてる可能性があるからじゃねえかな

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が増えていく






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<228KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef