トップページunix
1001コメント268KB

Vim Part22

■ このスレッドは過去ログ倉庫に格納されています
0001ほらよ2013/04/04(木) 19:32:22.37
Vim 6以降に関する話題、Part22です。
http://www.vim.org/

前スレ
Vim Part21
http://toro.2ch.net/test/read.cgi/unix/1342368545/

関連情報は>>2-6あたり。
0456名無しさん@お腹いっぱい。2013/12/21(土) 09:24:37.69
サポート? Emacsでは標準で入ってるのか……
0457名無しさん@お腹いっぱい。2013/12/21(土) 15:11:39.13
>>449
preedit 部分を打鍵毎に<BS>で消してるような動きをするね。

map! <BS> a だと a が入ってくるし。
<Nop> で消えずに残っているような感じ。

そういえばこの辺微妙な実装になってるって話があった気がするな。
04584492013/12/22(日) 13:51:40.21
とりあえず遡って試してみたら、7.3.315までは再現した。それ以前だと
(gvim:16983): IBUS-WARNING **: Create input context failed: タイムアウトしました.
となってIMがオンにならないので確認できず。
俺の力じゃこれ以上は当たりをつけることさえ出来ない。
0459名無しさん@お腹いっぱい。2013/12/22(日) 21:58:35.38
>>449
ほんまや。そういうマッピングはしてないから困らないが、おかしなことになるな
その状態で「あいう」→「ああいあいう」→確定→「ああいあいうあいう」

MacVim (Vim 7.4 patches 1-52) + MacUIM Anthy on OS X 10.9
0460名無しさん@お腹いっぱい。2013/12/23(月) 20:50:14.79
>>433
セミコロン要るか要らないかは判断できないから無理。
というかそれが判断できるならそもそもセミコロン書かせない。
splainに食わせれば、英語だけどもう少し詳しいエラーがでる。

:!perl -c % 2>&amp;1 >/dev/null | splain
0461名無しさん@お腹いっぱい。2013/12/24(火) 17:19:48.75
<C-C> をそれ自身か別のキーにmapした場合
InsertLeave イベントが発生するようですがこれは仕様でしょうか?
関連するドキュメント等ご存知でしたら教えてくださると喜びます
再現する 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ユーザの自分にはありがたいのですが
04624612013/12/24(火) 19:08:43.60
すみません間違えました
> <C-C> をそれ自身か別のキーにmapした場合
<C-C> を {lhs} に用いた場合です
Insert mode でCTRL-CするとInsertLeave イベントが発生します
04634612013/12/25(水) 00:14:03.88
何度もすみません
Win7でも同じ挙動でしたので
ざっとソースコードを見たところCTRL-Cがmapされているかどうかによって
interruptするかしないか決めているようでしたので
この挙動は仕様だと理解しました
残念ながらドキュメントは見つけられませんでした
皆様ありがとうございました
0464名無しさん@お腹いっぱい。2013/12/25(水) 00:24:06.35
*map_CTRL-C*
CTRL-C を {lhs} で使うことはできますが、それは Vim がキー入力を待機中のときだ
け機能します。Vim がビジー状態 (何かを実行中) のときは機能しません。Vim がビ
ジー状態の場合、CTRL-C は実行中のコマンドを中断します。
MS-Windows の GUI 環境では、CTRL-C にマップすることができるので、クリップボー
ドにコピーする機能を割り当てることができます。Vim の動作を中断するには
CTRL-Break を使います。
0465名無しさん@お腹いっぱい。2013/12/25(水) 08:24:52.50
>>463
おー、そうなんやね
元々端末用アプリやから、特別に扱われてるのか
とりあえず解析おつかれした
0466名無しさん@お腹いっぱい。2014/01/06(月) 23:37:17.15
起動時、ではなくて「OS立ち上げて最初にVimを起動させる」時だけ
通常の 20 倍近く時間がかかるんですけど、
i) そういうもんですか?
ii) もしそういうもんなら初回起動時何をやってるんですか?
0467名無しさん@お腹いっぱい。2014/01/06(月) 23:44:17.79
>>466
通常がどのくらいかわからないけど、ディスクからプログラムをメモリに読み込んで、さらに設定ファイルやらプラグインやらヒストリを読み込むから、ディスクアクセスとかやたらと大きいファイルとか、そのあたりに何かあるんじゃないの?
起動後のメモリ使用量も見てみるといいね。
0468名無しさん@お腹いっぱい。2014/01/06(月) 23:47:13.49
>>467
ふむふむ…。通常 120 ms, OS起動後初起動時 2300 ms とかなんですよね…
そういう視点からもうすこし調べてみます、ありがとうございます。
0469名無しさん@お腹いっぱい。2014/01/06(月) 23:50:52.76
.vimrcが肥大化してるとか?
昔やらかしたことがあったw
0470名無しさん@お腹いっぱい。2014/01/06(月) 23:58:12.33
2.3秒くらい待てよ。
0471名無しさん@お腹いっぱい。2014/01/07(火) 00:01:59.72
えっと、時間がかかること自体は(もちろん改善できればうれしいけど)問題じゃなくて、
起動のたびにそれだけかかるんじゃなくて,OS立ち上げたあと最初のがそんなに際立って遅い
のがどういう仕組みなんだろうっていうのがメインなんです
0472名無しさん@お腹いっぱい。2014/01/07(火) 00:46:16.36
このスレにそんなレベル高い奴はいないと思うけどな
0473名無しさん@お腹いっぱい。2014/01/07(火) 00:47:13.13
>>466
vim のコマンドラインオプションでstartuptimeみたいなのあるから、それで調べてみたら?
0474名無しさん@お腹いっぱい。2014/01/07(火) 01:23:22.87
まぁ、>>467でFAじゃね。
0475名無しさん@お腹いっぱい。2014/01/07(火) 01:24:56.20
HDD、MEM がイカかれているとか
0476名無しさん@お腹いっぱい。2014/01/07(火) 02:01:54.67
120 msってのが早過ぎる気がするな
ちょっとした .vimrc 読み込むだけで数百ms はかかると思うが?
プラグインとか色々あったら 2300 ms とかでも別に遅いとは思わん
0477名無しさん@お腹いっぱい。2014/01/07(火) 02:05:55.29
上の続きだけど、二度目以降はもちろんキャッシュから読み込むだろうから速いけどね
0478名無しさん@お腹いっぱい。2014/01/07(火) 12:24:09.57
おれも普通に2回目はキャッシュに入ってるから速いんだと思うけど
0479名無しさん@お腹いっぱい。2014/01/07(火) 12:46:15.44
当たり前の話やね
0480名無しさん@お腹いっぱい。2014/01/07(火) 12:47:37.18
せやなキャッシュ
0481名無しさん@お腹いっぱい。2014/01/07(火) 22:01:02.59
Windows XP SP3 KaoriYa版 Vim version 7.2.148 を使っています。

inoremap <UP> <C-O>gk
inoremap <DOWN> <C-O>gj

を指定すると、<UP>、<DOWN>キーの入力によって、ONだったIMEが勝手にOFFに切り替わってしまいます。
このマップを指定しても、キーの入力前後でIMEの状態が保存されるようにするには、
どのようにすれば良いでしょうか?
0482名無しさん@お腹いっぱい。2014/01/09(木) 08:32:15.63
同じ質問を見つけましたが、解決法はない?

i(nore)?mapが発動するとIMEが勝手にOFFになってしまう
https://github.com/vim-jp/issues/issues/251
0483名無しさん@お腹いっぱい。2014/01/12(日) 15:35:05.89
たびたび失礼します。
Windows 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
>>483
自己レスですが、とりあえずの解決というか、
'listchars' の "precedes" の指定を外すと、この現象はなくなりました。
'listchars' の "extends" に関しては、指定していても問題ないようです。
0485名無しさん@お腹いっぱい。2014/01/12(日) 16:09:47.15
>>483
さらに自己レス
解決されているようです。
Vimをアップデートすることにします。。。
https://github.com/vim-jp/issues/issues/203
0486名無しさん@お腹いっぱい。2014/01/12(日) 18:59:51.38
>>483
Windows環境でのVimだったら
http://anago.2ch.net/test/read.cgi/software/1379912425/l50
へ行ったら?
0487名無しさん@お腹いっぱい。2014/01/14(火) 22:48:10.88
お世話んなっちょります。filetype.jax:127
":filetype on" の後に ":syntax on" を実行する必要はない。
ここに書いちゃうけど、これは逆ですね。
0488名無しさん@お腹いっぱい。2014/01/17(金) 01:30:25.24
なかなかいいファイラが見つからん
netrwは安定してるけどいまいちカスタマイズ性に乏しい
vimfilerとかはごちゃごちゃし過ぎてドキュメントも分かり辛いし使う気になれん
軽量でシンプルなのがいい
0489名無しさん@お腹いっぱい。2014/01/17(金) 01:48:43.48
>>488
ファイラってことはファイル操作できるやつか…
あんましらんけど最近活発なのってそのvimfilerくらいじゃないの?
昔いろいろ試したことあるけど、結局常用に至るものは無かった記憶
俺はファイル操作は基本的にshellで、Vim内で削除とかやるときはnerdtreeでcdして!rm foo.txtとかそんな感じ
04904882014/01/17(金) 01:59:35.80
いやそんな機能は求めていなくて単純にディレクトリ間を横断したりファイル開いたりという程度です
netrwはUIがアレだし、もっとシンプルでいいんだけど、しっくりくるのが無い
vimfilerってunite.viとかもそうだけど活発というより完全に作者の自己満になってるような
0491名無しさん@お腹いっぱい。2014/01/17(金) 02:03:58.29
ctrlp
0492名無しさん@お腹いっぱい。2014/01/17(金) 02:11:33.92
>>490
あー、そういうやつか
シンプルという意味では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
とりあえずやっつけなら:vnewで画面割って!!git ls-filesか!!find .してからgfかなぁ。
ファイル横断する必要がある場合は大抵ctagsとタグジャンプで事足りるけど。
0495名無しさん@お腹いっぱい。2014/01/17(金) 14:22:20.51
NERDtreeオスス
0496名無しさん@お腹いっぱい。2014/01/17(金) 22:49:37.92
ctrlpはgrep無いから使い物にならん
0497名無しさん@お腹いっぱい。2014/01/17(金) 23:17:13.67
普通にvimgrepとか外部grepじゃいかんのか
0498名無しさん@お腹いっぱい。2014/01/17(金) 23:32:20.09
普通にgrepしてcopen
あるいはack.vim使うとか

全部込みが良ければやっぱりUnite & vimfiler使えが結論で
話が振り出しに戻るがな
0499名無しさん@お腹いっぱい。2014/01/17(金) 23:44:11.30
vimfilerもどっちかしらんけどgrep呼んでるだけでしょ?
ショートカット的な話ならどうとでもなりそうなもんだが
0500名無しさん@お腹いっぱい。2014/01/18(土) 00:32:35.86
そうだよ。grep呼んでるだけ。しかも余計な機能多すぎて遅い。
日本人の悪いところが詰まった傑作がunite.vim
だから日本人しか使わない。
emacsのanything.elもそうだし、日本人にはとにかくセンスが無いんだよ。

一緒に働いてる外人のvim見るとデフォルト設定をなるべくフルに使おうとする人が多い。
前に読んだ実践vimにも書いてあったけど、アンドゥや繰り返し、マクロの単位をすごく上手く使うんだよね
あと奴等はスニペットを好む。
別に外人びいきするわけじゃないけど、実際に彼らのコーディングスピードは病的に速い
0501名無しさん@お腹いっぱい。2014/01/18(土) 01:06:31.80
実践vimは良い本だったね、argdoの使い方とか目からウロコだったわ
最近無駄プラグインを減らす努力中
0502名無しさん@お腹いっぱい。2014/01/18(土) 07:36:17.15
機能詰め込み路線は日本の家電にも見られるよなー
0503名無しさん@お腹いっぱい。2014/01/18(土) 12:24:07.40
実践Vim図書館にないのよねー。買おうかな
0504名無しさん@お腹いっぱい。2014/01/18(土) 12:30:33.70
>>503
原著のpdfはタダやで
0505名無しさん@お腹いっぱい。2014/01/18(土) 12:32:48.90
>>504
!!!! ありがとう!!!!!
0506名無しさん@お腹いっぱい。2014/01/18(土) 13:02:53.60
実践vimを買うかテクニックバイブルを買うかで正反対のvimmerになりそうだな
0507名無しさん@お腹いっぱい。2014/01/18(土) 13:49:29.49
両方買えばおk
0508名無しさん@お腹いっぱい。2014/01/18(土) 17:17:26.98
テクニックバイブルは情報が古くなっているから
0509名無しさん@お腹いっぱい。2014/01/18(土) 18:31:17.72
>>508
10年後も使えるって意味じゃpractical vimは間違いないよな
0510名無しさん@お腹いっぱい。2014/01/18(土) 22:29:40.86
テクニックバイブルのプラグイン詰め込むなら普通にIDE使った方がいいだろ
検索や補完機能はどう頑張ってもvimじゃ勝てないんだし
0511名無しさん@お腹いっぱい。2014/01/18(土) 22:36:30.22
言語にもよるかなあ
型の強い言語はIDEのエディタをVim化するやつがベターだと思う
複雑なことやりたくなったら別途Vimで開く
0512名無しさん@お腹いっぱい。2014/01/18(土) 23:14:39.95
Vim の出自を忘れて、Vim スクリプトで Emacs 化できるような錯覚に陥った
0513名無しさん@お腹いっぱい。2014/01/18(土) 23:23:36.07
>>510
自分もプラグインてんこ盛りは嫌いだけど、素のVimだと貧弱だから仕方ない。
Sublimeの様に、最初からある程度使えるVimが欲しいな。
0514名無しさん@お腹いっぱい。2014/01/18(土) 23:28:14.39
vim使いとSKK使いは本当に偏屈だな

せめて若くて意欲ある奴らを腐すようなことは書かずそっとしておいてやれよ
プラグイン作者たちが限界まで使うからvim-jpから山ほどバッチ出て恩恵も
受けてるだろ
0515名無しさん@お腹いっぱい。2014/01/18(土) 23:39:57.41
>>513
同じく。素でも設定ファイルの編集程度なら文句いわないけど、コード書くならプラグインも入れるし.vimrcもそれなりに
0516名無しさん@お腹いっぱい。2014/01/18(土) 23:43:17.17
俺オッサンだけどNeoなんちゃらやらPowerlineやら使いまくりだよ
でも人が後ろに立ってると後ろめたい気になる

なんなんだろうなこの使っちゃいけない空気(´・ω・`)
0517名無しさん@お腹いっぱい。2014/01/18(土) 23:49:29.94
>>516
そうか?
そんなのおまえだけだよ
自意識過剰
0518名無しさん@お腹いっぱい。2014/01/18(土) 23:52:38.95
>>516
なんでやねんwそんな空気ないからwww

使っちゃいけないで思い出したけど、vim-startifyだかのissueで、「このプラグインは、起動時に出るウガンダ〜のメッセージを消してしまうからダメだよね」みたいなのがあって、それに対して作者が「うっせえボケ!」みたいに返しててワロタ
0519名無しさん@お腹いっぱい。2014/01/18(土) 23:56:29.33
隠れプラグイン山盛り派が潜んでいると聞いて
0520名無しさん@お腹いっぱい。2014/01/19(日) 00:44:50.57
>>519
マンボウ乙
0521名無しさん@お腹いっぱい。2014/01/19(日) 01:30:18.75
>>516
> オッサンだけど・・・使いまくり
ここからしてヘン
Vim使ってる、Neo使ってる、Powerline使ってる
これでドヤ顔できるところが不思議
0522名無しさん@お腹いっぱい。2014/01/19(日) 02:07:34.51
>>521
オッサンみんながみんな、原理主義じゃないんだぜ?っていうことをおっしゃっておられるのです
有能な()若者を潰そうとする老害ばかりじゃない、こういうことなのです
0523名無しさん@お腹いっぱい。2014/01/19(日) 02:16:19.62
vim界のコミュニティが嫌い
emacs界隈の人たちは根っからの技術者が多いけどvimの人達って技術者じゃないよね
0524名無しさん@お腹いっぱい。2014/01/19(日) 02:24:44.11
>>523
なんだ、vim界のコミュニティって?
vim使うのにわさわざそんなコミュニティとかに所属しないといかんのか?
アホなこと言ってるなよ
0525名無しさん@お腹いっぱい。2014/01/19(日) 04:36:47.48
digraphで「ひらがな」が出てしまうのを止める方法はありますか?

仏語混じりの文章を書く時に
「e<del>'」で「&eacute;」が出るのは有り難いのですが
「s<del>a」で「さ」が出るのは邪魔なだけなので…
0526名無しさん@お腹いっぱい。2014/01/19(日) 08:16:25.87
なんだこのキモい流れは・・・
0527名無しさん@お腹いっぱい。2014/01/19(日) 08:33:02.71
>>523
うぇいーいwwwwなイメージがあるよね。「最近の」Vim まわりの人らって。
昔 xoops cube 界隈に感じた胡散臭さに通じるものがある。
Web 絡みのあさーい開発で入ってきた連中なんだろな。
0528名無しさん@お腹いっぱい。2014/01/19(日) 08:47:08.86
合わないなら別に混ざらなきゃいいだけだし、
言語だのフレームワークとかのならともかくたかがエディタのコミュニティだぞ?
0529名無しさん@お腹いっぱい。2014/01/19(日) 09:18:00.10
>>527
おまえ馬鹿だろ?
0530名無しさん@お腹いっぱい。2014/01/19(日) 09:20:24.73
>>527
わかる
0531名無しさん@お腹いっぱい。2014/01/19(日) 09:24:30.49
家入一真とかLIGみたいな
0532名無しさん@お腹いっぱい。2014/01/19(日) 09:38:20.56
近年ワナビーがどういうわけかemacsよりvimに流れやすいのは確かに感じるけど
プラグイン周りの人達は根っからの技術者だし
うぇーいwな層がコミニュティと呼べるほどのものを形成できてるとも思わん
0533名無しさん@お腹いっぱい。2014/01/19(日) 09:38:40.94
家入とか LIG に何か問題でも?
0534名無しさん@お腹いっぱい。2014/01/19(日) 09:43:08.73
家入の問題はちょっとジャンルが違うw
0535名無しさん@お腹いっぱい。2014/01/19(日) 10:01:21.13
家入と一緒にされるとか風評被害もいいところだろ
0536名無しさん@お腹いっぱい。2014/01/19(日) 10:14:23.19
Lingr見てみたら結構気にしててワロタ
0537名無しさん@お腹いっぱい。2014/01/19(日) 11:11:01.37
そりゃ名指しで悪い方の傑作と言われればな
せめて本人に直接言え
0538名無しさん@お腹いっぱい。2014/01/19(日) 11:22:11.96
Linux はクソだ!なんて直接 Linus に言うやつはいねえよ
0539名無しさん@お腹いっぱい。2014/01/19(日) 11:22:37.18
いるよ。
0540名無しさん@お腹いっぱい。2014/01/19(日) 11:26:25.31
クソかどうかは知らんけど最近の流行りの vim のプラグインみてると emacs みたいで気持ち悪いわ。
0541名無しさん@お腹いっぱい。2014/01/19(日) 11:28:52.15
itermからVimで開いた文をコピーするとき行番号を巻き込まない方法ってありますか?
0542名無しさん@お腹いっぱい。2014/01/19(日) 11:46:57.51
>>541
:set nonumber
0543名無しさん@お腹いっぱい。2014/01/19(日) 11:50:23.43
>>542
その都度setするのが面倒なので他に良い方法ないでしょうか
0544名無しさん@お腹いっぱい。2014/01/19(日) 11:53:30.09
>>543
テキスト端末の意味、分かってないだろ
0545名無しさん@お腹いっぱい。2014/01/19(日) 11:53:56.32
ない。
0546名無しさん@お腹いっぱい。2014/01/19(日) 11:54:19.23
>>544
そういうちゃちゃは要らん
05475462014/01/19(日) 11:57:09.79
ちなみに俺は質問者ではない
0548名無しさん@お腹いっぱい。2014/01/19(日) 12:05:23.28
>>543
しょうがねぇなぁ
iTerm ってことは Mac OSX な?
:set clipboard+=autoselect
0549名無しさん@お腹いっぱい。2014/01/19(日) 12:06:47.00
ちなみに俺は変質者ではない
0550名無しさん@お腹いっぱい。2014/01/19(日) 12:10:57.20
変態なんですね。
判ります
0551名無しさん@お腹いっぱい。2014/01/19(日) 12:15:48.96
>>548
なるほどー
ありがとうございました
0552名無しさん@お腹いっぱい。2014/01/19(日) 16:05:51.69
vimのmarkは小文字がローカルで大文字がグローバルのスコープ持ちますが
逆に出来ないですか?
グローバルのマークしか使わないので、毎回mAとか打つのが結構だるいです
0553名無しさん@お腹いっぱい。2014/01/19(日) 16:32:13.37
ちょいだるいけどnmapでいけね
0554名無しさん@お腹いっぱい。2014/01/19(日) 16:39:37.42
>>553
なるほどやはりそのやり方ですか。
一度挑戦したけど、どうやっても小文字か大文字か、どっちかのマップが無効になっちゃうんですよね
説明するのは難しいですが。。もう一度がんばってみます
0555名無しさん@お腹いっぱい。2014/01/19(日) 16:41:52.29
試してないけど、nnoremapにしてないとか?
0556名無しさん@お腹いっぱい。2014/01/22(水) 02:48:45.40
vimで

:! って入力するとコマンドが打てるじゃん?
そのとき↑↓を押すと履歴が辿れるけど、↑↓じゃなくてホームポジションからなるべくキーを離さないように、履歴をたどる方法ないの?
■ このスレッドは過去ログ倉庫に格納されています