Vim Part22
■ このスレッドは過去ログ倉庫に格納されています
0001ほらよ
2013/04/04(木) 19:32:22.37http://www.vim.org/
前スレ
Vim Part21
http://toro.2ch.net/test/read.cgi/unix/1342368545/
関連情報は>>2-6あたり。
0407名無しさん@お腹いっぱい。
2013/12/02(月) 20:26:26.05周りにVim使ってる人がいないので聞いてみた次第です
0408名無しさん@お腹いっぱい。
2013/12/02(月) 22:25:37.700409名無しさん@お腹いっぱい。
2013/12/03(火) 19:01:09.650410名無しさん@お腹いっぱい。
2013/12/09(月) 00:17:18.12気がついたらいくつか(今のところあちこち散らばって計3個)
# で囲まれたファイル名のファイルができているようです。
例えば最近編集した foo.py と同じディレクトリに #foo.py# というファイル。
内容は2つでほぼ同じ(数行違いがあるのと違いが無いのとがある)です。
何が原因かわからないのですが、編集に使ってるのは Vim だけなので Vim の何かの可能性はあるかも、
と思うのですが、そういう現象を起こすなにかありますかね
0411名無しさん@お腹いっぱい。
2013/12/09(月) 02:08:34.11backupextは拡張子だけ、スワップファイルは.swoとかだから関係なさそう
てことはプラグインかね。
なんかプラグイン使ってる?
0412名無しさん@お腹いっぱい。
2013/12/09(月) 03:19:01.50Emacsの、キーストローク数か何かを基準に作られる自動保存ファイルみたいなのが #filename# だけれど、
使ってない?
0413名無しさん@お腹いっぱい。
2013/12/09(月) 18:24:15.64>>411
プラグインでなにかファイルを作りそうで言えば neocomplcache をつかってますが、
これはこれの原因にはならなさそうですね…。ありがとうございます。
>>412
あーーーそういえば「たまには Emacs 使ってみるか」(→「あっこれどうやって終了するの」)
っていうことが以前あったのでその可能性がかなり高そうです。ありがとうございます
まさかそんなところに原因が、しかもこのスレで見つかるとは….
0414名無しさん@お腹いっぱい。
2013/12/09(月) 18:56:21.33被告は「編集に使ってるのはVimだけ」と証言しておきながら
その実よりにもよってEmacsに浮気しており(略)
極刑
0415名無しさん@お腹いっぱい。
2013/12/09(月) 21:13:21.730416名無しさん@お腹いっぱい。
2013/12/10(火) 04:09:41.83被告の行動は、終了の仕方も分からない程度の付き合いであり、
これは一般的には浮気とは捉えられず、挨拶を交わす程度の付き合いだったとも
いえるのではないでしょうか。
0417名無しさん@お腹いっぱい。
2013/12/10(火) 05:02:10.91\nr
まともに動いてます?
0418417
2013/12/10(火) 21:21:13.28とりあえず一つ前のリビジョンなら問題ないので
それでしのいでみます
0419名無しさん@お腹いっぱい。
2013/12/11(水) 01:13:37.68使ってないけどgithubから最新版入れてみたけど動いてないな
必ず1行目だけしかそれ用のバッファに来ない
いらんと思うがデバッグ結果…
おそらく、778L の if (a:mode) の判定が意図した通りに動いてない
「a:modeが空じゃない時」の意味で、if (a:mode) とやっているけど Vim scriptの条件式で文字列は数値に変換されてから評価されるので、
数字で始まる文字列以外はすべて0(=false)になってる
'V' => false
'0V' => false
'1V' => true
'8888V' => true
それと、778Lがtrueの場合、838Lで変数aが定義されていないというエラーになる
808-809Lの処理をifの外に出せばエラーにはならなくなるけどそれでいいのかよくわからん
0420名無しさん@お腹いっぱい。
2013/12/11(水) 19:59:27.27今確認したらどうやらバグだったようでfixされてました。
わざわざありがとう。
0421名無しさん@お腹いっぱい。
2013/12/15(日) 22:42:23.080422名無しさん@お腹いっぱい。
2013/12/15(日) 22:46:06.31d/foo<Cr>
やら
:,/foo/d<Cr>
やら
確認したければ、
V/foo<Cr> で選択してから d
0423名無しさん@お腹いっぱい。
2013/12/15(日) 22:46:15.30d/hoge
って話じゃなくて?
0424名無しさん@お腹いっぱい。
2013/12/15(日) 23:08:34.53バッチリです。ありがとうございます!
ただ、何かのプラグインか設定が邪魔しているのか
.vimrc を読み込むとうまくいかない…。
0425名無しさん@お腹いっぱい。
2013/12/15(日) 23:09:23.870426名無しさん@お腹いっぱい。
2013/12/16(月) 19:18:05.92E475: Invalid argument: => _
っていうエラーが出るね。
vim -R だと出ないのに。
ただの別名じゃないの?
0427名無しさん@お腹いっぱい。
2013/12/17(火) 21:27:59.170428名無しさん@お腹いっぱい。
2013/12/17(火) 21:38:55.70基本的に全部読み込むみたいだね。
0429名無しさん@お腹いっぱい。
2013/12/17(火) 21:59:25.31説明不足ですみません
現在のバッファで使われているシンタックスファイルのパスはどうすれば分かりますか?
0431名無しさん@お腹いっぱい。
2013/12/17(火) 23:31:27.46先に読み込まれた方が適用される
ふつうは、b:current_syntax をチェックするガード節があるので、&rtpで先にある方 = scriptnamesで先に出力される方 になるはず
0432名無しさん@お腹いっぱい。
2013/12/17(火) 23:37:49.42補足: ガード節があるから、&rtpであとにある方は読み込まれないという意味ね
0433名無しさん@お腹いっぱい。
2013/12/17(火) 23:50:14.47を忘れやすい。
何か良いプラグインとかある?
0434名無しさん@お腹いっぱい。
2013/12/17(火) 23:57:40.67具体的じゃないですが、全部読み込むと言ってもどれが使われるかを知りたいんです
>>431
そういう意味です
それをvimスクリプトから出力したいんですがヘルプを検索しても見つかりませんでした
0435名無しさん@お腹いっぱい。
2013/12/18(水) 00:08:07.66それはヘルプには載ってないというかそういう関数はないので
redir => foo
scriptnames
redid END
let syn_list = filter(split(foo, '\n'), 'v:val =~# "syntax/vim.vim"')
" do something
とかすればいんじゃない?
0436名無しさん@お腹いっぱい。
2013/12/18(水) 00:12:46.07ありがとうございます!
なるほど変数へのリダイレクトですか〜
勉強になります
0437名無しさん@お腹いっぱい。
2013/12/18(水) 00:14:10.94Perl書かないから詳しくはわからんけが、その目的ならsyntasticは使えそう
0438名無しさん@お腹いっぱい。
2013/12/18(水) 00:22:00.89あんま使わねえからそんな関数やら変数はないよ。ってヘルプに書いてあったわ
ご丁寧にscriptnamesのDictionary作るスクリプトも載ってる。まあ目的に合うかわからんが
:h scriptnames-dictionary
0439名無しさん@お腹いっぱい。
2013/12/18(水) 00:58:43.87ありがとう。perlもHaskellもサポートされててちょうど良いわ。
0440名無しさん@お腹いっぱい。
2013/12/18(水) 17:22:58.130441名無しさん@お腹いっぱい。
2013/12/19(木) 00:28:33.400442名無しさん@お腹いっぱい。
2013/12/19(木) 06:34:13.95そんなことはないでしょう
0443名無しさん@お腹いっぱい。
2013/12/19(木) 16:46:54.42http://hail2u.github.io/vim-color-scheme-advent-calendar-2013.html
これはこれで「アドベントカレンダー」っぽくていい
0445名無しさん@お腹いっぱい。
2013/12/19(木) 22:35:29.49例えば、日本語の禁則を組み込んでテキスト整形するマクロを作ったとして
また後で使いたいと思ったとする。
q レジスタに入ったマクロをはき出すならば
:put q
だ。これを保存すればマクロはファイルとして保存される。
/*ここまではOK。問題は読み込みの方法が分からない。*/
マクロがファイルの形で保存されているとして
どうやって実行したらよいのだろうか?
0446名無しさん@お腹いっぱい。
2013/12/19(木) 23:03:14.75でレジスタaに代入出来る
どっかに書いて読み込ませてからマクロとして実行すれば良いよ
0447名無しさん@お腹いっぱい。
2013/12/19(木) 23:26:46.14と合わせるのか。マクロそれで読み込めるね。ありがとう。
rでファイルに1行書き込んで、
それを(normal_modeなので)
0"ay$ (これなら改行文字が入らないで"a"レジスタに入る)
0448447
2013/12/19(木) 23:38:19.63/macro.vim/以下にvimファイルとして保存した方がスマートだ。
関数で定義して、sourceで読み込む。
vimはファイルタイプごとにアクション起こせるから、
txt,md(マークダウンファイル)を開いた時に、source /macro.vim/hogehoge
と書けば、必要な時に(日本語整形マクロはtxt,mdでのみ必要になり得る)
callで呼び出せる。
編集中のファイルを汚さないしコマンドで一発だからたぶんこれでOK。
0449名無しさん@お腹いっぱい。
2013/12/20(金) 00:29:06.55「あ」を入力すると「あ」が変換待ちで表示される。一文字目は問題ない。
次に「い」を入れると、「あ」が確定して「あい」が変換待ちになる。
次に「う」を入れると、更に「あい」が確定済みに追加され「あいう」が変換待ちになる。
次に「え」を入れると、更に「あいう」が確定済みに追加され「あいうえ」が変換待ちになる。
ここまでで「ああいあいう」が確定済みで、「あいうえ」が変化待ち、という状況。
今使ってるのはfedoraのgvimなんだけど、他のディストリやOSではどうかな?
端末版は問題ない。
0450名無しさん@お腹いっぱい。
2013/12/20(金) 11:50:55.540451名無しさん@お腹いっぱい。
2013/12/20(金) 22:05:43.10Vim にないの?えっないの?って煽られたので誰かよろしく頑張ってくれ
0452名無しさん@お腹いっぱい。
2013/12/20(金) 22:48:29.14こんなネタ言語のために時間割くやつおるかlw
0453名無しさん@お腹いっぱい。
2013/12/20(金) 22:57:47.260454名無しさん@お腹いっぱい。
2013/12/20(金) 23:01:08.59プラグインの有無も違ってくるね。
:help design-not
0455名無しさん@お腹いっぱい。
2013/12/20(金) 23:38:16.14これは完結とか高度とかそんなん関係ないBrainF*ck系言語だぞw
マイナーすぎてサポートされてないだけ
0456名無しさん@お腹いっぱい。
2013/12/21(土) 09:24:37.690457名無しさん@お腹いっぱい。
2013/12/21(土) 15:11:39.13preedit 部分を打鍵毎に<BS>で消してるような動きをするね。
map! <BS> a だと a が入ってくるし。
<Nop> で消えずに残っているような感じ。
そういえばこの辺微妙な実装になってるって話があった気がするな。
0458449
2013/12/22(日) 13:51:40.21(gvim:16983): IBUS-WARNING **: Create input context failed: タイムアウトしました.
となってIMがオンにならないので確認できず。
俺の力じゃこれ以上は当たりをつけることさえ出来ない。
0459名無しさん@お腹いっぱい。
2013/12/22(日) 21:58:35.38ほんまや。そういうマッピングはしてないから困らないが、おかしなことになるな
その状態で「あいう」→「ああいあいう」→確定→「ああいあいうあいう」
MacVim (Vim 7.4 patches 1-52) + MacUIM Anthy on OS X 10.9
0460名無しさん@お腹いっぱい。
2013/12/23(月) 20:50:14.79セミコロン要るか要らないかは判断できないから無理。
というかそれが判断できるならそもそもセミコロン書かせない。
splainに食わせれば、英語だけどもう少し詳しいエラーがでる。
:!perl -c % 2>&1 >/dev/null | splain
0461名無しさん@お腹いっぱい。
2013/12/24(火) 17:19:48.75InsertLeave イベントが発生するようですがこれは仕様でしょうか?
関連するドキュメント等ご存知でしたら教えてくださると喜びます
再現する vimrc は以下の通りです
autocmd! InsertLeave * set nu!
nmap <C-C> <C-C>
imapやnnoremapした場合でもイベントが発生しているようです
環境 : Debian Wheezy
Vim version : 7.3.547 (Debian repository), 7.4.125 (自分でbuild)
これはこれでdvorakユーザの自分にはありがたいのですが
0462461
2013/12/24(火) 19:08:43.60> <C-C> をそれ自身か別のキーにmapした場合
<C-C> を {lhs} に用いた場合です
Insert mode でCTRL-CするとInsertLeave イベントが発生します
0463461
2013/12/25(水) 00:14:03.88Win7でも同じ挙動でしたので
ざっとソースコードを見たところCTRL-Cがmapされているかどうかによって
interruptするかしないか決めているようでしたので
この挙動は仕様だと理解しました
残念ながらドキュメントは見つけられませんでした
皆様ありがとうございました
0464名無しさん@お腹いっぱい。
2013/12/25(水) 00:24:06.35CTRL-C を {lhs} で使うことはできますが、それは Vim がキー入力を待機中のときだ
け機能します。Vim がビジー状態 (何かを実行中) のときは機能しません。Vim がビ
ジー状態の場合、CTRL-C は実行中のコマンドを中断します。
MS-Windows の GUI 環境では、CTRL-C にマップすることができるので、クリップボー
ドにコピーする機能を割り当てることができます。Vim の動作を中断するには
CTRL-Break を使います。
0465名無しさん@お腹いっぱい。
2013/12/25(水) 08:24:52.50おー、そうなんやね
元々端末用アプリやから、特別に扱われてるのか
とりあえず解析おつかれした
0466名無しさん@お腹いっぱい。
2014/01/06(月) 23:37:17.15通常の 20 倍近く時間がかかるんですけど、
i) そういうもんですか?
ii) もしそういうもんなら初回起動時何をやってるんですか?
0467名無しさん@お腹いっぱい。
2014/01/06(月) 23:44:17.79通常がどのくらいかわからないけど、ディスクからプログラムをメモリに読み込んで、さらに設定ファイルやらプラグインやらヒストリを読み込むから、ディスクアクセスとかやたらと大きいファイルとか、そのあたりに何かあるんじゃないの?
起動後のメモリ使用量も見てみるといいね。
0468名無しさん@お腹いっぱい。
2014/01/06(月) 23:47:13.49ふむふむ…。通常 120 ms, OS起動後初起動時 2300 ms とかなんですよね…
そういう視点からもうすこし調べてみます、ありがとうございます。
0469名無しさん@お腹いっぱい。
2014/01/06(月) 23:50:52.76昔やらかしたことがあったw
0470名無しさん@お腹いっぱい。
2014/01/06(月) 23:58:12.330471名無しさん@お腹いっぱい。
2014/01/07(火) 00:01:59.72起動のたびにそれだけかかるんじゃなくて,OS立ち上げたあと最初のがそんなに際立って遅い
のがどういう仕組みなんだろうっていうのがメインなんです
0472名無しさん@お腹いっぱい。
2014/01/07(火) 00:46:16.360473名無しさん@お腹いっぱい。
2014/01/07(火) 00:47:13.13vim のコマンドラインオプションでstartuptimeみたいなのあるから、それで調べてみたら?
0474名無しさん@お腹いっぱい。
2014/01/07(火) 01:23:22.870475名無しさん@お腹いっぱい。
2014/01/07(火) 01:24:56.200476名無しさん@お腹いっぱい。
2014/01/07(火) 02:01:54.67ちょっとした .vimrc 読み込むだけで数百ms はかかると思うが?
プラグインとか色々あったら 2300 ms とかでも別に遅いとは思わん
0477名無しさん@お腹いっぱい。
2014/01/07(火) 02:05:55.290478名無しさん@お腹いっぱい。
2014/01/07(火) 12:24:09.570479名無しさん@お腹いっぱい。
2014/01/07(火) 12:46:15.440480名無しさん@お腹いっぱい。
2014/01/07(火) 12:47:37.180481名無しさん@お腹いっぱい。
2014/01/07(火) 22:01:02.59inoremap <UP> <C-O>gk
inoremap <DOWN> <C-O>gj
を指定すると、<UP>、<DOWN>キーの入力によって、ONだったIMEが勝手にOFFに切り替わってしまいます。
このマップを指定しても、キーの入力前後でIMEの状態が保存されるようにするには、
どのようにすれば良いでしょうか?
0482名無しさん@お腹いっぱい。
2014/01/09(木) 08:32:15.63i(nore)?mapが発動するとIMEが勝手にOFFになってしまう
https://github.com/vim-jp/issues/issues/251
0483名無しさん@お腹いっぱい。
2014/01/12(日) 15:35:05.89Windows XP SP3 KaoriYa版 Vim version 7.2.148 を使っています。
日本語を'nowrap'で編集していると、カーソルの表示がおかしくなります。
normal modeではカーソルが消えて、insert modeではカーソルがマルチバイト文字の真ん中に来てしまいます。
具体的には、'nowrap'を指定して、'sidescroll'を1などの小さい値に指定して、
半角英数字と日本語が混在した行で、カーソルをスクリーンの端で左右に動かして
スクリーンを左右にスクロールさせている時に、カーソルの表示がおかしくなります。
例えば、"aaa...aあああ...あ" という行があったとして、スクリーンが
スクリーン左端 |aあああ... ...あ| スクリーン右端
の状態で、スクリーン右端にあるカーソルを右に動かしてスクリーンを右にスクロールさせると、
カーソルの表示がおかしくなります。
0484名無しさん@お腹いっぱい。
2014/01/12(日) 15:59:10.90自己レスですが、とりあえずの解決というか、
'listchars' の "precedes" の指定を外すと、この現象はなくなりました。
'listchars' の "extends" に関しては、指定していても問題ないようです。
0485名無しさん@お腹いっぱい。
2014/01/12(日) 16:09:47.15さらに自己レス
解決されているようです。
Vimをアップデートすることにします。。。
https://github.com/vim-jp/issues/issues/203
0486名無しさん@お腹いっぱい。
2014/01/12(日) 18:59:51.38Windows環境でのVimだったら
http://anago.2ch.net/test/read.cgi/software/1379912425/l50
へ行ったら?
0487名無しさん@お腹いっぱい。
2014/01/14(火) 22:48:10.88":filetype on" の後に ":syntax on" を実行する必要はない。
ここに書いちゃうけど、これは逆ですね。
0488名無しさん@お腹いっぱい。
2014/01/17(金) 01:30:25.24netrwは安定してるけどいまいちカスタマイズ性に乏しい
vimfilerとかはごちゃごちゃし過ぎてドキュメントも分かり辛いし使う気になれん
軽量でシンプルなのがいい
0489名無しさん@お腹いっぱい。
2014/01/17(金) 01:48:43.48ファイラってことはファイル操作できるやつか…
あんましらんけど最近活発なのってそのvimfilerくらいじゃないの?
昔いろいろ試したことあるけど、結局常用に至るものは無かった記憶
俺はファイル操作は基本的にshellで、Vim内で削除とかやるときはnerdtreeでcdして!rm foo.txtとかそんな感じ
0490488
2014/01/17(金) 01:59:35.80netrwはUIがアレだし、もっとシンプルでいいんだけど、しっくりくるのが無い
vimfilerってunite.viとかもそうだけど活発というより完全に作者の自己満になってるような
0491名無しさん@お腹いっぱい。
2014/01/17(金) 02:03:58.290492名無しさん@お腹いっぱい。
2014/01/17(金) 02:11:33.92あー、そういうやつか
シンプルという意味ではshellじゃいかんのか?って思ってしまうが、いかんのか?
俺の環境を言っても参考にならんかもしらんが、ファイルの開き方は主に三通り
- shellから vim foo.txt みたいな感じ
- 基本はctrlp.vim
- 気分によりnerdtreeでツリー表示して開く
Gitとかのリポジトリ内のファイルを開くのがメインならctrlp.vimはオススメ
そうじゃなくてあちこち移動したりするのは、なんだかんだでshellでやってる
0493名無しさん@お腹いっぱい。
2014/01/17(金) 02:57:35.03ドキュメントにそれぞれタグを挿入してあるから、
vimgrep で一気に関連ファイル全部開いてる。
深い階層も一発だし
0494名無しさん@お腹いっぱい。
2014/01/17(金) 04:03:49.21ファイル横断する必要がある場合は大抵ctagsとタグジャンプで事足りるけど。
0495名無しさん@お腹いっぱい。
2014/01/17(金) 14:22:20.510496名無しさん@お腹いっぱい。
2014/01/17(金) 22:49:37.920497名無しさん@お腹いっぱい。
2014/01/17(金) 23:17:13.670498名無しさん@お腹いっぱい。
2014/01/17(金) 23:32:20.09あるいはack.vim使うとか
全部込みが良ければやっぱりUnite & vimfiler使えが結論で
話が振り出しに戻るがな
0499名無しさん@お腹いっぱい。
2014/01/17(金) 23:44:11.30ショートカット的な話ならどうとでもなりそうなもんだが
0500名無しさん@お腹いっぱい。
2014/01/18(土) 00:32:35.86日本人の悪いところが詰まった傑作がunite.vim
だから日本人しか使わない。
emacsのanything.elもそうだし、日本人にはとにかくセンスが無いんだよ。
一緒に働いてる外人のvim見るとデフォルト設定をなるべくフルに使おうとする人が多い。
前に読んだ実践vimにも書いてあったけど、アンドゥや繰り返し、マクロの単位をすごく上手く使うんだよね
あと奴等はスニペットを好む。
別に外人びいきするわけじゃないけど、実際に彼らのコーディングスピードは病的に速い
0501名無しさん@お腹いっぱい。
2014/01/18(土) 01:06:31.80最近無駄プラグインを減らす努力中
0502名無しさん@お腹いっぱい。
2014/01/18(土) 07:36:17.150503名無しさん@お腹いっぱい。
2014/01/18(土) 12:24:07.400504名無しさん@お腹いっぱい。
2014/01/18(土) 12:30:33.70原著のpdfはタダやで
0505名無しさん@お腹いっぱい。
2014/01/18(土) 12:32:48.90!!!! ありがとう!!!!!
0506名無しさん@お腹いっぱい。
2014/01/18(土) 13:02:53.60■ このスレッドは過去ログ倉庫に格納されています