1 名前:名無しさん@お腹いっぱい。 [2010/09/13(月) 11:28:46 ] Vim 6以降に関する話題、Part18です。 www.vim.org/ 前スレ Vim Part17 hibari.2ch.net/test/read.cgi/unix/1258278511/ 関連情報は>>2-8 あたり。
123 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/18(木) 21:33:24 ] >>122 mはviのmと同じです。(vim特有じゃないです)
124 名前:416 mailto:sage [2010/11/18(木) 21:39:21 ] >>123 vi で改めて検索したらわかりましたありがとうございます
125 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/18(木) 23:03:02 ] exコマンドの中でスクリプト変数を評価して使いたいのだけど、どうすればいい?
126 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/18(木) 23:19:12 ] :execute のことかな? :let i='hello world' :exec 'echo i' hello world
127 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/19(金) 00:42:13 ] >>126 それだ!ありがとう! しかし、 :exec 'echo i'のiがクオートの中に入っているのに、ちゃんと変数として評価されるのが微妙に気持ち悪いね。不思議な感じ。
128 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/19(金) 17:45:43 ] ruby書いてる時に,クラスとかeachとかの構文を:setclass とかすると,class endって行って,間に改行も含まれててカーソルはその間に戻る的なのがしたいです. どんなん書けばいいです?
129 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/19(金) 17:58:14 ] snippetとは違うのか
130 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/20(土) 01:53:22 ] >>129 スニペットって補完じゃないんですか?
131 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/20(土) 02:37:12 ] >>129 は何とか意味を汲み取って、その結果スニペットを提示したんだろうけど、やりたいことを伝えきれていないからこうなったんじゃないかな。 簡単に言うと、日本語でおk>>128 。
132 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/20(土) 03:06:25 ] :ab を定義すれば良いんじゃないかとエスパーしてみる
133 名前:120 mailto:sage [2010/11/20(土) 06:47:29 ] >>121 :set shell=zsh としているのは、 :!zsh -c "echo 'a|b'" とかを :!echo 'a|b' と書きたいからで、 それは " やら ' やら | の特殊記号についてエスケープとかを 本来やろうとしていることに対して余計に気にしたくないという欲求によるものです。 というか、普通に unix でできているようにしたいというだけです。 案(代替案?)を示して頂いて申し訳ないのですが、 つまり、余分に " で囲ったり、関数を噛ませたりはしたくない訳です。 :!echo 'a|b' として実行したい。 と、なんかちょっと無理そうな気はする。 unix vim だと system() とかに渡す前に \ エスケープとかしてるっぽいけど、 win32 vim だとそれがないっぽい。 system() 相当の関数から呼ばれている parser ('shell' とは別。cmd.exe ?) を 指定できればなんとかなったりするのかな。何か勘違いしてる気もするが。 >>127 :exec 'echo i' と :echo i って同じですよ。 例としては :exe '!echo' i の方が適切かと。 :exe '!echo ' . i の方が解りやすいかも。
134 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/20(土) 18:35:11 ] Vimscriptの書き方について教えてください。 以下のように書いたら、結果がコマンドラインに表示されるんですが バッファ内に表示させるにはどうすればいいんですか。 map <leader>f :call Test()<CR> function Test() let input = input('Text: ') let text = input echo text endfunction
135 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/20(土) 21:13:23 ] setline だったかで、書き込むんだよ。
136 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/20(土) 23:09:33 ] let @z=input('Text: ') put! z とかもあるよ でも一時的な表示でバッファーを使いたいというのならば、 香り屋 plugin cmdex.vim の Scratch かな 同じことだけど new setlocal bt=nofile noswf これで保存しないで閉じても文句を言われない
137 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/21(日) 00:47:36 ] >>133 解決方法その1 alias gvim='perl -we "exec q{$HOME/bin/vim/gvim.exe}, map { s/^(.*)$/(-f \$1)?qx{cygpath -aw \"\$1\"}:\$1/e; chomp; \$_; } (@ARGV); " --' として、cygwim から gvim を使う。 解決方法その2 if s:is_win function! s:set_shell(shell) "{{{ let $HOME = 'E:/home/hoge' "let $PATH = 'C:/strawberry/perl/bin' . ',' . $PATH execute 'set shell=' . a:shell set shellcmdflag=-ic set shellpipe=2>&1\|\ tee if a:shell =~# '\<zsh\.exe' set shellredir=>& else set shellredir=>%s\ 2>&1 endif set shellxquote=\" set shellquote= endfunction "}}}
138 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/21(日) 00:48:31 ] function! s:set_cmd() "{{{ set shell=cmd.exe set shellcmdflag=/c "set shellpipe=> set shellpipe=2>&1\|nkf\ -w>%s set shellredir=>%s\ 2>&1 set shellxquote= set shellquote= endfunction "}}} " got-ravings.blogspot.com/2010/07/vim-pr0n-sample-nerd-tree-plugins.html function! s:shell() let save_cwd = getcwd() try execute 'lcd ' . expand('%:p:h') redraw! shell finally execute 'lcd ' . save_cwd endtry endfunction command! Shell call s:shell() command! Mingw call s:set_shell(s:msys_home . '/bin/bash.exe') command! Cygwin call s:set_shell(g:CygwinHome . '/bin/bash.exe') command! Zsh call s:set_shell(g:CygwinHome . '/bin/zsh.exe') command! Cmd call s:set_cmd() endif
139 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/21(日) 00:58:58 ] ちょっと変更 @@ -5,7 +5,7 @@ map { s/^(.*)$/(-f \$1)?qx{cygpath -aw \"\$1\"}:\$1/e; chomp; \$_; } (@ARGV); " --' -として、cygwim から gvim を使う。 +として、cygwim から native windows の gvim を使う。 解決方法その2 @@ -31,8 +31,11 @@ function! s:set_cmd() "{{{ set shell=cmd.exe set shellcmdflag=/c - "set shellpipe=> - set shellpipe=2>&1\|nkf\ -w>%s + if &encoding ==# 'utf-8' + set shellpipe=2>&1\|nkf\ -w>%s + else + set shellpipe=> + endif set shellredir=>%s\ 2>&1 set shellxquote= set shellquote=
140 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/21(日) 01:07:53 ] なんか力作キター
141 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/21(日) 03:25:35 ] >>132 エスパーさんさすが!! それどうやってやるですか?
142 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/22(月) 04:53:08 ] ついさきほどvim使い始めたド素人なんですが、質問させてください! javascriptのsyntaxをダウンロードして/syntax/に放り込んだのですが、 関数も変数も色分けされません(デフォルトの文字色)…PHPなどと違い、javascriptは控えめな色分けなのでしょうか? ちょっとしたスペルミスなどに気づくことができず、はまってばかりです。 それともうまくインストールできてないのか…
143 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/22(月) 05:06:30 ] どの拡張子が来たらこれを適用する。 っていうのをどっかの設定ファイルに1行かないといけない気がする
144 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/22(月) 05:18:11 ] function とか var のキーワードがハイライトされてるならそれでおk。 PHPだと組み込みの関数も色が変わるから、それに比べたら地味に見えるかもね。
145 名前:142 mailto:sage [2010/11/22(月) 05:28:47 ] >143,144 こんな時間にレスありがとうございます>< >143 !!もう一度調べてみます; >144 なるほど…一応それらはハイライトさています。 これは自分で作るしかない予感… お二方ありでした!!
146 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/22(月) 09:20:32 ] >>145 ttps://github.com/pangloss/vim-javascript
147 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/22(月) 17:17:00 ] >>135-136 できました ありがとうございました
148 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/23(火) 03:44:41 ] skk.vimをメンテしている方、ここにAZIKのtypoとかを修正したものがあります。 ttp://mrymy.cocolog-nifty.com/blog/skk/index.html ttp://mrymy.cocolog-nifty.com/blog/2010/07/azik/skk-azik.vim.txt
149 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/23(火) 21:26:06 ] >>128 Windows ならば %USERPROFILE%\vimfiles\ftplugin\ruby.vim に Linux ならば $HOME/.vim/ftplugin/ruby.vim に、以下を書く inoreab <buffer> module module<cr>end<up><end> inoreab <buffer> class class<cr>end<up><end> inoreab <buffer> def def<cr>end<up><end> んで、filtype が ruby のときだけ、class を書けば次行に end が入力されて クラス名を入力する状況になる。do, case でやってもいいけど "string" や /regexp/ の中で書くとウザイよ。 補完を停止するには、class と入力した後に、C-c する。 以下だと _ が補完の発動になるので、じゃまっけではないかも inoreab <buffer> module_ module<cr>end<up><end> inoreab <buffer> class_ class<cr>end<up><end>
150 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/24(水) 14:06:12 ] >>149 おぉー!!でキター!! ありがとうございましたっ!!
151 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/24(水) 14:12:10 ] 短縮入力っていうのね・・・ 勉強になりまつ
152 名前:名無しさん@お腹いっぱい。 [2010/11/26(金) 10:08:25 ] " Php, php3, php4, etc. " Also Phtml (was used for PHP 2 in the past) " Also .ctp for Cake template file au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp setf php
153 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/28(日) 16:06:47 ] >>148 これは便利!ありがたや〜
154 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/28(日) 22:17:09 ] inset modeを出ることなしに で copy, cut ってどうやるんですか? put(paste) は出来ました
155 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/30(火) 03:47:43 ] どちらかというと、insertの方に入る感覚なんだよ
156 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/30(火) 17:09:10 ] 挿入って気持ちいいおね
157 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/01(水) 21:38:52 ] くだらねぇーこと言ってんじゃねーよ!!
158 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/01(水) 23:13:32 ] iとEsc交互に叩きながら腰を振ってたら一日が終わった。
159 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/02(木) 06:27:27 ] 任意の uri の文字エンコーディングを取得するベターな方法があれば教えてください。 とりあえず、思いついたもの。これは、大げさな気がする。 function! GuessEncode(x) perl use Encode::Guess qw/ utf8 euc-jp shiftjis / perl $value = VIM::Eval('a:x') perl $guess = Encode::Guess::guess_encoding($value) perl VIM::DoCommand("let result ='" . $guess->name . "'") return result ==# 'ascii' ? &encoding \ : result ==# 'utf8' ? 'utf-8' \ : result ==# 'shiftjis' ? 'cp932' \ : result endfunction " https://github.com/mattn/webapi-vim " echo GuessEncode(http#get('hibari.2ch.net/unix/ ').content)
160 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/03(金) 05:58:12 ] 大げさとか気にせずにあるものを使うのがベター。 pure vimで文字コード判定したいならgaucheのguess.cあたりを移植するのが簡単かな。
161 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/06(月) 15:19:24 ] 現在開いているバッファの数をステータスラインに表示させることはできますか?
162 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/07(火) 01:17:13 ] こんな感じ? set statusline=%{CountBuffers()} function! CountBuffers() let cnt = 0 for nr in range(1, bufnr('$')) if buflisted(nr) let cnt += 1 endif endfor return cnt endfunction
163 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/09(木) 13:07:27 ] 挿入モードからコマンドモードに戻る時に、 全角入力から半角入力に勝手に切り替わるように出来ないでしょうか。
164 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/09(木) 15:51:39 ] inoremap <ESC> <ESC>:set iminsert=0<CR> gvimでは効果があったけどCygwinのvimだと効かなかった
165 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/09(木) 15:57:50 ] KaoriYa版のgvimってことを書き忘れてた
166 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/10(金) 01:55:21 ] >>163 無印MacVimだと下の設定でGoogle日本語入力のEscによる切り替えは効いた。 set noimdisable set iminsert=1 set imsearch=1 ただコンソールからだとうまくいかなかったりカーソルがバグったりインサートモードになったらおせっかいにも前回Escする前の入力言語にもどしてくれたりと良いことなしなので、あまりおすすめしない。 常に意識して変換するクセをつけた方が幸せになれると思う。 ヤンクとクリップボードの関係でもそうかもしれんけど、デフォルトに慣れてしまえばそう悪いもんでもない。 本家が力入れてくれるとも思えないしな。 いい設定見つけたら教えてくれ。
167 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/11(土) 16:49:08 ] 特定エディタの設定をするためだけの言語とか覚える気しねぇ やっぱEmacsの方が分があるよな
168 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/11(土) 17:01:37 ] emacsは設定用の言語を覚える必要がないのか? 不思議だ。
169 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/11(土) 17:33:44 ] その言語が特定エディタのためのものかどうかって話だろ
170 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/11(土) 17:38:13 ] lispの仕事も来ないし、趣味でlispを書くこともない俺にとっては、 lispも特定エディタ(emacs、xyzzy)の設定をするためだけの言語ですw
171 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/11(土) 18:12:27 ] lisp知っててもemacsの設定は書けんよ。
172 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/11(土) 20:37:20 ] >>168 細かな設定には lisp を書く必要もあるだろうけれど M-x customize とか customize-group とか使えば lisp わからなくてもいじれる気がする。
173 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/11(土) 21:11:22 ] 昔はElisp書くことが目的になるほど夢中になってる人がたくさんいた。 今は書ける人はたくさんいるが研究してる人は少ない。 情報が出尽くして誰でもある程度のElispを書けてしまうから、ハッカーにとってみればもう魅力が無いのだろう。
174 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/12(日) 05:49:16 ] emacs lispはCommon LispとかSchemeとかに比べるとイマイチ魅力に欠けるからなあ
175 名前:名無しさん@お腹いっぱい。 [2010/12/12(日) 06:57:38 ] kaoriya版のmacvimだとC-^でIMを切り替えると,insertモードに入った時にIMをオンにするかオフにするかを切り替えられるよね. でも同じmacvimでもコンソールだとそれができないんだよね・・・ コンソール上でも出来るようにならんかな
176 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/12(日) 19:51:28 ] こんなの出ていた vi/Vim コマンドポケットリファレンス ttp://www.amazon.co.jp/dp/4774143960/ 出版社: 技術評論社 (2010/10/22)
177 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/12(日) 20:53:48 ] >>176 これってどうなの? 俺は見送ったんだけど。
178 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/12(日) 23:01:59 ] >>177 helpをちゃんと読める人には不要だと思う。 vimscriptをじっくり解説してくれるようなマニアな本は無いのかなぁ elispはよく見るのに。
179 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/12(日) 23:33:15 ] >>177 フォントが大きいせいか1ページあたりに書き込める内容が少ないから ポケットの名を冠するわりには分厚かった 実際に携帯するポケットリファレンスとして買うなら 俺は持ってないけど、オライリーのviデスクトップ リファレンスのほうがいいんじゃないかな
180 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/12(日) 23:36:47 ] >>137 レスが遅れ失礼。 試してみました。 解決方法1、2とも set shellxquote=\" が肝のようですね。 それ以外の部分は大体今回の問題に対しては不要、かな? さて、これで | は使えましたが、" がそのままでは使えません。 (" → "^"" とすると使える) 解決方法1 を参考に SHELL=zshのwindowsパス としていますが、 " も使えるようにする手段としては - vim をいじる - vimrun をいじる - COMSPEC にこの問題に対応したものを指定する ぐらいかなあ、と思います。 色々試したところ、COMSPEC 変えるのはよく分からない結果になり、 vimrun いじればなんとかなるかな、って感じです。 vim をいじるより vimrun いじる方がいいかな、と。 (最近あんまりコンパイルとかしたくないけど。深い理由はなく) # shellxquote の他に shellexpr みたいな感じのオプションがあれば、 # もっと簡単に対応できるんだけどなー。 ! のコマンドを入力に # shell に渡す文字列を返す処理を指定するようなやつ。 # あるいは shelltype が win でも有効ならいいのか? # というかコレバグなんだよな、多分。
181 名前:177 mailto:sage [2010/12/12(日) 23:44:42 ] >>178 >>179 ありがとう。 ちょっと余裕できたから、オライリーの方も含めて検討する事にした。
182 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/13(月) 00:13:50 ] 体系的な学習をするならオライリーの入門viが向いてるよ あとは技術評論社の はじめての vi & Vim ってのがあるけど評判は分からない
183 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/13(月) 00:15:40 ] vimに関しては:helpより有用な本を見たことが無いな。
184 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/13(月) 01:58:40 ] Vim の解説 PDF があったよね。5.7 頃のやつ。 あれ印刷してベット脇において、寝る前にパラパラめくっていたら、 Vim の知らない機能をいろいろ発見して役に立ったよ。 どっちにしろ、全体的な本は必要だと思う。
185 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/13(月) 01:59:45 ] ポケットリファレンス、各コマンドに使用頻度が1〜5段階でランク付けされてるんだが、 ほとんどが4か5でまったく機能してない感じだな
186 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/13(月) 12:41:11 ] ここにあるやつvimwikiにのせていい?
187 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/13(月) 14:52:27 ] いいよ。
188 名前:名無しさん@お腹いっぱい。 [2010/12/13(月) 15:01:08 ] 1行目:......$[カーソル] 2行目:^...... この状態で右方向キーを押したら 2行目の先頭に移動するようにはできないのでしょうか? つまりFreeBSDのee(1)みたいな挙動にしたいです。
189 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/13(月) 15:20:30 ] >188 :help whichwrap
190 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/13(月) 15:35:08 ] おおー。これは知らなかった。横だがトン
191 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/13(月) 19:11:45 ] >>177 他の人が書いてるように内容はアッサリ風味なんだけど 項目の順序立てが考えてあって手元に置いとくのに以外と便利 「Vim完全バイブルが大きすぎて机に置いときたくない」って俺には重宝する もちろん内容的にはhelpに敵いようもない パラパラと目次見て気に入れば…
192 名前:188 [2010/12/13(月) 20:10:38 ] >>189 ┏O)) アザ━━━━━━━ス!
193 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/15(水) 00:35:49 ] 新規でバッファを制作し始めた時に、エンコードがUTF8になるように設定するにはどうすれば良い? KaoriyaのWin32版gvimを使っていて、標準でcp932になってしまうんだが。
194 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/15(水) 01:06:02 ] ぐぐれよそれくらい
195 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/15(水) 04:20:17 ] >>193 hibari.2ch.net/test/read.cgi/software/1224769266/758 ちゃんと該当スレ見ようぜ。
196 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/16(木) 01:54:36 ] ヤンクされている文字で検索したり、Grepしたりするのはどうすればいいですか? /C-r*とか書いてあったりしますけど、Ctrl+rやるとダブルクォーテーションが出てきて期待通りの結果になりません。 単純にヤンクしている文字を貼り付けられれば検索だろうがGrepだろうが簡単なんですけど…
197 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/16(木) 02:21:29 ] その状態で*を押そう。 あと、/C-rw も便利だと思うよ。カーソルがあるところの単語を拾ってくる
198 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/16(木) 03:47:58 ] >>196 ctrl-r で `"' が出たら, もう一回 `"'. :h i_ctrl-r
199 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/16(木) 11:15:19 ] >>197 >>198 ctrl+rwは出来たんですがかんじんのヤンクの方が… つまりどういうことだってばよ
200 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/16(木) 11:43:53 ] Ctrl-rの後に、残りのレジスタ記号を打つんだよ " → 無名レジスタ "" (ヤンクした文字列) * → クリップボード "* :help registers
201 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/16(木) 13:08:08 ] できました どうもありがとうございました
202 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/17(金) 00:09:01 ] ^WTでウィンドウをタブにできるけど、 逆にタブをウィンドウにすることはできますか?
203 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/17(金) 13:07:07 ] 行頭でh押した時に前行の行末へ移動する 行末でl押した時に次行の行頭へ移動する これができるような設定方法っありますか?
204 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/17(金) 13:21:14 ] >>189 ではだめな理由を
205 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/17(金) 16:25:16 ] >>203 できる mswin.vimにかいてあったぞ
206 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/19(日) 10:48:38 ] glob(), globpath() を使用してディレクトリやファイル名を求めるとき、 &encoding != &termencoding においてマルチバイト文字や '(' を含むファイルが あると vim が落ちるのは自分だけ? native windows vim7.3.087 rev2668 (bfade53bcafb) + kaoriya.patch を mingw でコンパイルしたものは、Visual C++ Runtime Error で vim73-20101209-kaoriya-w32j は何もエラーを出さずそのまま vim が終了する。 :echo globpath('./', '(*') :echo glob('(*') neocomplcache とか unite でよく落ちる。 function! neocomplcache#util#globpath(path, expr, ...)"{{{ let flag = exists('a:1') ? a:1 : 0 let save_encoding = &encoding let l:termencoding = (has('win32') || has('win64')) && &termencoding == '' \ ? "default" : &termencoding let &encoding = l:termencoding " finally がないと <C-c>で途中でキャンセルしたとき " &encoding の値が &termencoding になる。 try let result = s:iconv(globpath(a:path, a:expr, flag), \ l:termencoding, save_encoding) finally let &encoding = save_encoding endtry return result endfunction"}}} " iconv() wrapper for safety. function! s:iconv(expr, from, to)"{{{ if !has('iconv') || a:from == '' || a:to == '' || a:from ==# a:to return a:expr endif let result = iconv(a:expr, a:from, a:to) return result != '' ? result : a:expr endfunction"}}}
207 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/19(日) 22:05:23 ] windows持ってないからわからんけど デバッグ付きでビルドしてgdbかなにかで見てみるとか?
208 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/19(日) 22:50:05 ] ウェブ屋ならemacsじゃなくてvim使え って言われたから使ってるのだが なんだこの糞エディタ vimscriptとか糞過ぎる 拡張性も糞もないから愛着が沸かない
209 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/19(日) 22:55:36 ] >>208 > ウェブ屋ならemacsじゃなくてvim使え 誰に言われたのか知らんけど多分鯖管理などリモートで作業するときのために 一通りコマンドを覚えとけってことじゃないの? 別に常用する必要はないと思うけど
210 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/19(日) 23:00:03 ] そもそも使うエディタを他人に強要されている時点で愛着なんて沸かないだろ
211 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/19(日) 23:05:13 ] vimを使い込むと逆にリモートの初期設定のviが使えなくなる不思議
212 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/19(日) 23:09:53 ] 209が言うように 「緊急時にサーバにログインして、ターミナルで作業する時のために使い方は知っとけ」 って意味で言われたんだと思うよ>Web屋ならVim 昔ならわかるけど、今でもそんなこと言われるんかね?
213 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/20(月) 00:19:19 ] >>207 ありがとうございます。原因が解りました。 vim73-20101209-kaoriya-w32j のほうは、iconv.dll を KoRoNさんがビルドしたもの を使用、mingw版は upx圧縮をしないようにすると解決しました。
214 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/20(月) 01:35:06 ] >>208 どんな拡張がしたいの?
215 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/20(月) 10:59:49 ] >>212 vimscript とか拡張性とか言ってるから違うんじゃないかな。 緊急用ならそんなんいらんでしょ。
216 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/20(月) 12:02:42 ] >>205 出来ませんでしたよ それWindowsのGUI環境じゃないと動かないんですかね 自分はCentOSなんですが。
217 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/20(月) 12:09:07 ] >>216 >>204
218 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/21(火) 10:04:05 ] >>216 うごくおれもCENTOSだ mswinじゃないけどソースにあった それくらいすぐ解決できるだろうよ vimrcに1行かくだけだから
219 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/21(火) 10:11:09 ] 22 set backspace=indent,eol,start 23 set whichwrap=b,s,h,l,<,>,[,], 218だがこれでだめだったらおれもわからん
220 名前:名無しさん@お腹いっぱい。 [2010/12/25(土) 12:00:07 ] highlight CursorIM guifg=NONE guibg=Purple としてもIMEをオンにした時に色が変わらないんですが…
221 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/25(土) 12:16:32 ] ・色が変わるのはgvimだけ ・colorschme hogeの後で設定する(ほとんどのスキームは中でhi clearしてるので)
222 名前:220 [2010/12/25(土) 12:29:17 ] >>221 gvimを使用して、~/.gvimrc内でcolorschemeを設定した後にやっているのですが…
223 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/12/25(土) 13:02:36 ] どこで設定されているか :verbose hi CursorIM ターミナルでカーソルの色を設定するには vim.wikia.com/wiki/Change_cursor_color_in_different_modes cygwin mintty の場合 let &t_SI .= "\e[5 q" let &t_EI .= "\e[1 q" let &t_ti = "\e[2 q\e[?1049h" let &t_te = "\e[0 q\e[?1049l" "set timeoutlen=50 noremap <Esc>O[ <Esc> noremap! <Esc>O[ <Esc>