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

Vim Part23

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2014/02/26(水) 09:53:39.61
Vim 6以降に関する話題、Part23です。
http://www.vim.org/

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

関連情報は>>2-6あたり
0552名無しさん@お腹いっぱい。2014/07/20(日) 23:42:52.14
公式リポジトリのvimはクリップボードが使えないから不便だぞ
0553名無しさん@お腹いっぱい。2014/07/21(月) 15:33:52.64
colorscheme hybridを適用したのですがVimのウィンドウの端の色が変わらなくて困っています

http://uproda.2ch-library.com/808787FTv/lib808787.png

set backgroud=dark
でバックグラウンド色はdarkに設定しています

解決できないでしょうか?
0554名無しさん@お腹いっぱい。2014/07/21(月) 23:28:32.79
ターミナルエミュレーターが256色対応になってるか$TERMを確認
vimが256色モードになっているか&t_Coを確認
0555名無しさん@お腹いっぱい。2014/07/22(火) 11:04:29.14
:let gで出てくるキーワードをファイルに出力する方法を教えてください
0556名無しさん@お腹いっぱい。2014/07/22(火) 13:41:28.94
:redir >> output.txt
:let g
:redir END
0557名無しさん@お腹いっぱい。2014/07/22(火) 15:35:52.79
場合によっては capture.vim も便利ですよ
:Capture let g:
で新しいバッファで出力を開ける
0558名無しさん@お腹いっぱい。2014/07/22(火) 19:56:36.97
ttp://iup.2ch-library.com/i/i1245397-1406026441.jpg
左上によく分からん緑色のラインを作る設定をしてしまったが
相対行表示するようになったからもういらない

.vimrcから該当する設定を削除したいのだが
どんな設定でこの左側のスペースを設けたか分かるだろうか?
05595582014/07/22(火) 21:47:30.97
突き止めた
set foldcolum=0

フォトショップでも何でも良いから色を判別して
その数字を色分けの(Solilize等使っているものを)追跡すれば
かなり絞り込める
0560名無しさん@お腹いっぱい。2014/07/24(木) 02:27:34.52
windows vimの背景だけ透明化したい。
gvim.exeと同じフォルダにvimtweak.dllを置き、
:call libcallnr(“vimtweak.dll”, “SetAlpha”, 200)を叩いたら
E364: "SetAlpha"() のライブラリ呼出に失敗しました
というエラーが出るんだ。見識求む。
0561名無しさん@お腹いっぱい。2014/07/24(木) 02:53:16.29
>>560
http://liosk.blog103.fc2.com/blog-entry-148.html
ここを見る限り
“vimtweak.dll” -> “vimtweak”
0562名無しさん@お腹いっぱい。2014/07/24(木) 12:51:36.58
windowsはソフトウェア板いけよここはunix
0563名無しさん@お腹いっぱい。2014/07/24(木) 14:47:47.86
誰かがソフトウェア板に転載してくれたようです。
確かにwindowsのネタなのでソフトウェア板で聞いたほうが、
同じ事で困っている人に参考になるし過去ログで情報が探しやすいですよね。
ということで向こう行きます。
スレ汚し失礼しました。
0564名無しさん@お腹いっぱい。2014/07/25(金) 00:05:32.04
そういえば linux で使える gvim に transparency 当てるようなパッチってあるんです?
0565名無しさん@お腹いっぱい。2014/07/25(金) 00:38:21.24
linuxではそれはwindow manager、またはcompositing managerの仕事です

透明にするのにわざわざ個々のアプリそれそれパッチあてるなんてそんな必要はありません
0566名無しさん@お腹いっぱい。2014/07/25(金) 08:38:24.91
>>565
そうすると文字まで一緒に透けちゃうんだよ
0567名無しさん@お腹いっぱい。2014/07/25(金) 09:06:48.90
ターミナルもそうやけど、背景透過てどういうときに役立つのかね?格好だけ?
0568名無しさん@お腹いっぱい。2014/07/25(金) 09:25:54.01
背景画像に好きな絵貼ってる人なんじゃないの?
確かに透過でもしない限り壁紙見るタイミングなんて起動時ぐらいだもんねえ。
0569名無しさん@お腹いっぱい。2014/07/25(金) 17:49:38.64
3DのUIとかと同じで
スクショ撮る時だけのためにある機能というイメージ
0570名無しさん@お腹いっぱい。2014/07/25(金) 17:58:59.15
んなわきゃない
0571名無しさん@お腹いっぱい。2014/07/25(金) 18:03:19.67
バックにリアルタイム為替グラフとか表示してて、
ウィンドウが重なった時でもバックの変化を監視したいんだろ。
0572名無しさん@お腹いっぱい。2014/07/25(金) 18:47:25.32
んなことやるやつは普通に複数モニタ使うだろ
0573名無しさん@お腹いっぱい。2014/07/25(金) 18:47:57.08
職場の端末だろ
0574名無しさん@お腹いっぱい。2014/07/25(金) 19:37:59.23
個人的にはかっこよくてうれしいのが大きいけど、
ディスプレイが大きくないしモニタ複数持ってないので
「下に〇〇がある」のが判るのはちょっと便利
より稀にはブラウザで調べ物しながらその上に vim を置いて下を透かし読みしながら作業したりする
0575名無しさん@お腹いっぱい。2014/07/25(金) 20:57:06.34
外部ディスプレイがない状況でコードの写経とかするときたまに使う
0576名無しさん@お腹いっぱい。2014/07/26(土) 02:07:17.28
やっぱりBSとか使うのは邪道ですかね
0577名無しさん@お腹いっぱい。2014/07/26(土) 02:20:33.50
邪道というか普通に指が届かぬ
0578名無しさん@お腹いっぱい。2014/07/26(土) 02:31:52.62
>>576
> 邪道
信者 とか 道具に使われてる人 が使う言葉。
0579名無しさん@お腹いっぱい。2014/07/26(土) 09:14:21.74
>>576
押しやすいの使えばええやん
Vim で BS 使うシーンってインサートモードの時かね
わしはそういうとき一旦ノーマルモードに戻って消す
0580名無しさん@お腹いっぱい。2014/07/26(土) 09:19:14.80
半透明のバックにBSの画面を表示するという話じゃなかったのか・・
0581名無しさん@お腹いっぱい。2014/07/26(土) 09:45:43.51
BSって、ばっくすぺーすじゃなかったんかwwww
つかBSて何?
0582名無しさん@お腹いっぱい。2014/07/26(土) 10:12:48.65
BlueScreen
0583名無しさん@お腹いっぱい。2014/07/26(土) 14:02:48.35
Broadcasting Satellite
0584名無しさん@お腹いっぱい。2014/07/27(日) 17:52:40.61
>>579
C^h
もあるでよ。
0585名無しさん@お腹いっぱい。2014/07/27(日) 20:49:28.43
>>584
あ、<C-W>とか<C-U>も使うわ
0586名無しさん@お腹いっぱい。2014/07/28(月) 13:04:44.69
1とか2にキー割り当てしたいんですがパッチってあるませんか?
0587名無しさん@お腹いっぱい。2014/07/28(月) 17:35:14.67
>>586
カウント与えるときどうするつもりよ?
0588名無しさん@お腹いっぱい。2014/07/28(月) 18:44:36.42
ctrl+1にわりふりたいんっすよ
0589名無しさん@お腹いっぱい。2014/07/28(月) 23:26:33.16
最初からそう言えばいいのに。
0590名無しさん@お腹いっぱい。2014/07/29(火) 01:32:39.75
>>589
好きじゃねえなその煽り方
0591名無しさん@お腹いっぱい。2014/07/29(火) 02:06:30.00
>>588
ctrl+数字は割り当て出来ないよ
0592名無しさん@お腹いっぱい。2014/07/29(火) 03:11:08.30
>>590
いや、煽るつもりはないよ。
0593名無しさん@お腹いっぱい。2014/07/29(火) 05:12:02.02
結論としては、ないな。
Vimのキーマップは文字ベースだから実現させるのは難しそうだ
0594名無しさん@お腹いっぱい。2014/07/29(火) 10:47:20.82
秀丸は初期でCTRL+[1-9]にマクロが割り当てられてるからvimでも同じようにしたかったんですけど
あきらめます
0595名無しさん@お腹いっぱい。2014/07/29(火) 13:39:19.21
\0…\9で代用するとか
0596名無しさん@お腹いっぱい。2014/07/30(水) 00:24:50.51
>>594
windowsならAHK、OS Xならkarabinerやらでなんとかなりそう
Linuxはどあすんべ?Xmodmapじゃあかんよな
0597名無しさん@お腹いっぱい。2014/07/30(水) 00:30:41.96
秀は秀、vimはvimだと思ってる
…そんな俺はviper-modeが理解に苦しむ
0598名無しさん@お腹いっぱい。2014/07/30(水) 00:54:11.97
vimにこのカラー表示移植されてない?
http://emacs-jp.github.io/packages/face/rainbow-mode.html

vimのシンタックスファイル触る時にとても助かると思うのだが
0599名無しさん@お腹いっぱい。2014/07/30(水) 01:15:27.19
>>598
これ?ft=css用だけど
ttps://github.com/skammer/vim-css-color
0600名無しさん@お腹いっぱい。2014/07/30(水) 01:38:35.61
>>599
ありがとう

たぶんコマンドやいじるための関数が用意されてるだろうし、
無ければソースコード触るまでだ
0601名無しさん@お腹いっぱい。2014/07/31(木) 12:17:55.91
vimのデフォルトのカラースキーマってvim本体に埋め込まれていますよね
それだと足りないキーワードがあるから独自に拡張して使うんですけど
パフォーマンスに影響はでますか?
0602名無しさん@お腹いっぱい。2014/07/31(木) 19:30:18.39
>>601
実行ファイル本体には埋め込まれてないよ
0603名無しさん@お腹いっぱい。2014/07/31(木) 19:51:54.26
それどこにある?
0604名無しさん@お腹いっぱい。2014/07/31(木) 21:40:06.89
超能力を期待するような質問なんだけど、
深い入れ子になったハッシュのリテラルが大量に含まれた.rbのファイルを開くと異様に重くなるんです。
解消する方法わかりますかね?

各行のインデントのスペースを消してインデントを左にずらすと少し速くなるのでインデントのスペースが関係してそうな気がするのですが。。。
0605名無しさん@お腹いっぱい。2014/07/31(木) 23:27:25.72
:syntax off
で速くなるならruby用の構文ハイライトの正規表現パースで時間掛かってるんじゃね。
rubyあんまり使わないから具体的にどれかは知らないが。
あとは気休め程度かもだけど、
:set ttyfast
:set lazyredraw
とか。
0606名無しさん@お腹いっぱい。2014/07/31(木) 23:52:13.97
>>603
うろ覚えですまんが、$VIM/runtime/syntax/vim.vimあたりにありそう
0607名無しさん@お腹いっぱい。2014/07/31(木) 23:53:41.71
>>604
ハイライトが重たいとしたら、synmaxcolを少なめにするとかで改善されんかな
0608名無しさん@お腹いっぱい。2014/08/01(金) 00:27:40.52
>>604
wild guess だけどこんなのあったね https://github.com/vim-jp/issues/issues/511
06096042014/08/01(金) 09:17:28.35
>>605
>>607-608
ありがとうございました!
0610名無しさん@お腹いっぱい。2014/08/01(金) 12:16:46.52
Doug Kearns さんが書いた syntax/ruby.vim ならば
.vimrc に
let ruby_no_expensive=1
を書いておけばかなり軽くなる

ruby_no_expensive がない場合は
module/class/def に対応する end を探して、
同じハイライトにするので、やたらもっさりする。
0611名無しさん@お腹いっぱい。2014/08/01(金) 13:23:17.36
カーソルラインが激しく重い。
0612名無しさん@お腹いっぱい。2014/08/02(土) 07:04:32.78
WindowsでVim(香り屋)を入れて、これにPluginを入れたいのですが、
どのサイトをみても、neobundleをUnixコマンド(?)でいれて、
_vimrcに何か文字を書いてPluginインストール(?)みたいな事を書いてあります。

Vimは普通のWindowsソフトのように、
PluginフォルダにファイルをいれてPluginをインストール・・・・
ではないのでしょうか?
そもそも、neobundleの入れ方
0613名無しさん@お腹いっぱい。2014/08/02(土) 07:06:22.06
途中送信して申し訳ありません。
そもそもneoundleの入れ方からして判っていません・・・・。
ダウンロードしたくても何かファイルツリーがあるサイトに飛ばされます。
0614名無しさん@お腹いっぱい。2014/08/02(土) 07:14:51.80
・・・申し訳ない。ここはUNIX板でしたか。失礼しました。
0615名無しさん@お腹いっぱい。2014/08/02(土) 11:20:29.07
仕事場で秀丸を使う羽目になった。
vim入れたら怒られるよな?
0616名無しさん@お腹いっぱい。2014/08/02(土) 11:33:31.34
仕事場で聞けよ
0617名無しさん@お腹いっぱい。2014/08/02(土) 11:34:29.58
||Φ|(|゜|∀|゜|)|Φ||
0618名無しさん@お腹いっぱい。2014/08/02(土) 11:39:14.86
優先度を少し上げてvimを起動したら(nice -n -5 vim とか)かなり軽快に感じるようになった
特にハイライトが重かったft=vimのファイルとか
カーソルライン使ってもあまり気にならない
0619名無しさん@お腹いっぱい。2014/08/02(土) 14:04:35.66
今時vimすら入れられない職場なんて先がないから辞めとけ
0620名無しさん@お腹いっぱい。2014/08/02(土) 14:11:43.58
出向先での話だろう
0621名無しさん@お腹いっぱい。2014/08/03(日) 23:35:43.92
日本語が<82>みたいに表示されるんですけどなんでですか?
mousepadだとちゃんと表示できますのでたぶん原因が文字コードがShift_JISだと思うんですがどうやってちゃんと表示できるようになりますか?
0622名無しさん@お腹いっぱい。2014/08/03(日) 23:40:26.81
:e ++enc=shift-jis

nkf -g ファイル名
で精度の高いエンコード推定できる
そして、

:e ++enc=正しいエンコード
で開き直せばちゃんと見れる。しかしながら、
.vimrcのエンコードの優先順位いじった方が今後も楽
0623名無しさん@お腹いっぱい。2014/08/03(日) 23:49:37.49
師匠ありがとうございます1
0624名無しさん@お腹いっぱい。2014/08/04(月) 00:51:06.18
そういえばfencsの設定どうしてる?
自動判定とかやりだすとキリ無いんでごちゃごちゃやってたら↓に落ち着いた
set fencs=ucs-bom,utf-8,euc-jp,cp932,gb18030
0625名無しさん@お腹いっぱい。2014/08/04(月) 02:18:29.31
Shift-JISとcp932を混同してると痛い目見るで。
euc-jpとeucjp-msとかも。
0626名無しさん@お腹いっぱい。2014/08/04(月) 02:33:27.25
>>625
そんなに痛くはない
0627名無しさん@お腹いっぱい。2014/08/04(月) 08:30:22.77
少なくともうちの周りで外字が問題になるのWindowsだけだしなぁ。Windowsからeuc渡ってくることも皆無。他は基本utf-8。
ISO-2022-jpはメールでしか使わんからmuttに任せっぱなし。
BOM無しutf-8のcsvがExcelで開けんて言われるぐらい。
0628名無しさん@お腹いっぱい。2014/08/04(月) 21:56:43.04
なにもかもがWindowsで動いとるから、勤務時間中はvimに触れることはないね。
0629名無しさん@お腹いっぱい。2014/08/04(月) 22:01:57.03
ちょっと何言ってるか分かりませんね…
0630名無しさん@お腹いっぱい。2014/08/04(月) 23:08:05.75
>>626
いや、utf-8の環境で混ざったときに大惨事おきるべ。
asciiだけのテキストをiconvで
-f sjis -t utf-8 と-f cp932 -t utf-8してみるよろし。
0631名無しさん@お腹いっぱい。2014/08/07(木) 12:01:31.09
ノーマルモードで行の先頭から左へ移動させると前の行に戻ったり行末で右へ移動させると次の行へ移動したりするようにするにはどうすればいいでしょうか?

whichwrapを設定したのですがinsertモードでしか有効になりませんでした
0632名無しさん@お腹いっぱい。2014/08/07(木) 13:39:38.18
左右でなくw,b,eで移動するとか。
0633名無しさん@お腹いっぱい。2014/08/07(木) 16:45:43.98
>>631
設定がおかしいだけでは?
:set ww?
でbs<>など目的の動作が含まれているか確認
:set cp?
でnocompatibleになってるか確認
詳しくは
:h ww
0634名無しさん@お腹いっぱい。2014/08/07(木) 23:40:38.94
>>631
カーソルキーなら
se whichwrap+=<,> でいけると思うけどあかんの?
0635名無しさん@お腹いっぱい。2014/08/08(金) 14:02:29.19
@キーをmapしたいのだけどうまくできません
具体的に言うと
imap <C-@> <ESC>
みたいなことをしたいのですが、できません
たぶん@が特殊文字扱いされているのだと思います、、
直前にバックスラッシュおいてみたり、クォーテーションでくくってみたりしましたがダメでした
なんとかならないでしょうか
0636名無しさん@お腹いっぱい。2014/08/08(金) 14:15:38.16
>>635
inoremap <C-@> <ESC>:EasyBuffer<CR>
これで動作しているぞ?

.vimrc等のどこか前方ですでにmapされてたりしないだろうか?
0637名無しさん@お腹いっぱい。2014/08/08(金) 14:23:28.61
*i_CTRL-@*
CTRL-@ 直前に挿入されたテキストをもう一度挿入し、挿入を終了する。{Vi:
最初に入力された時だけ、かつ最大128文字まで}


定義済みだからnoreで上書きしないとダメかもね
0638名無しさん@お腹いっぱい。2014/08/08(金) 16:26:55.19
>>636
vimと違うレイヤーでC-@をescapeに当てたりしてたので、ややこしくなってましたが
よくよく確かめた結果、確かに<C-@> <ESC>で効いてる場合もありました
例えばLinuxに直接入ってるときやOSXのターミナル経由でvimを開いてるときなんかは大丈夫のようです
ただ、win8+teraterm経由で入ってると、どうも<C-@>が効かないみたい
<C-a>とか他のは大丈夫なのですが<C-@>だけ効かない、、、
どうもvimの問題じゃなくて、winマシンのハードの問題みたいですね
すいませんでした

#初めて来たUNIX板が意外にアクティブでびっくりした
0639名無しさん@お腹いっぱい。2014/08/08(金) 16:37:57.27
>>637
noremapでもダメみたいです
ありがとうございます
0640名無しさん@お腹いっぱい。2014/08/08(金) 16:53:53.10
>>638
Windowsのteratermとかいうものに関しての知識がからっきしなので
あまりサポートできないが、
その端末がC-@を認識できないというオチはないだろうか?

viが基本的に端末上で動作してきた歴史上、F1等とCtrlの組み合わせをマップできない歴史と
似たものがあるかもしれないという電波が届いた
0641名無しさん@お腹いっぱい。2014/08/08(金) 17:46:40.65
:nnoremap <C-@> :echo 123<CR>
動作するね
debian
0642名無しさん@お腹いっぱい。2014/08/08(金) 17:54:12.26
あーinputか
:inoremap <C-@> 123<CR>
同じく動作する
0643名無しさん@お腹いっぱい。2014/08/09(土) 14:27:38.77
[雑談]
i_<C-@> といえば、日本語キーボードを OS で USキーボードとして使ってる時に
余ったキーが押された時に Null を出すんだけど、<Nul> って <C-@> だから
直前の挿入が繰り返されて ???????? ってなったことがある。気付くのにかなりかかった
0644教えて リンク・ジャンプ2014/08/10(日) 12:51:15.43
Emacs org mode で下のようなファイル名とアンカー文字列からなるテキストを挿入して
おけば、C-c C-o 操作で名前で指定されたファイルを開き、アンカーで指定された文字
列を検索して その行まで飛んでくれます。

[[file:fileName ::anchorString]


Vim では似た操作として norma mode では gf/gF 操作があります。下のように書くこと
でファイルと飛び先の行までを飛ばせます。

fileName 156

でも gF では anchor 文字列を指定できません。下のように書いても単純にファイルを
開くだけでアンカーに飛んでくれません。

fileName -c /anchorString

何とか Emacs org mode でのようにアンカーまで飛ぶ方法が Vim にもないでしょうか。

ただし ctag を使うのは無しです。飛び先のファイルが様々すぎるからです。
0645名無しさん@お腹いっぱい。2014/08/10(日) 13:56:10.06
>>644
gf ではできなさそうやけど、:edit なら +/{pat} で最初に見つかった{pat}まで飛んでくれるけどそれじゃあかんか
0646名無しさん@お腹いっぱい。2014/08/10(日) 14:46:09.68
すげー久しぶりに eval.txt 見てみた
matchlist って関数増えてたんだ
以下を .vimrc/_vimrc に入れて
file:fileName ::anchorString がある行で
gf すれば、fileName を開いて、anchorString のある場所に飛べる
正規表現が気に入らなければ、書き直してください

nmap gf :call <sid>go_anchor()<cr>
function! s:go_anchor()
let sline=getline('.')
let re='file:\(\f\+\)\s\+::\(\w\+\)'
if sline =~ re
let md=matchlist(sline, re)
exec 'edit +/' . md[2] . ' ' . md[1]
else
normal! gf
endif
endfunction
0647名無しさん@お腹いっぱい。2014/08/10(日) 14:59:23.44
kana/vim-gf-userプラグインの枠組みのなかで、
path, line, colの他にsearchとかがあると簡単になりそうな気もする。
0648教えて リンク・ジャンプ2014/08/10(日) 15:02:58.46
>>645 >>646 さん、ご指摘ありがとうございます。644 です。

>:edit なら +/{pat} で最初に見つかった{pat}まで飛んでくれるけど

私の Kaoriya Vim 7.3 および 7.4 32bit on Win7 では、下のコマンドを実行しても
d:\link ファイルを新規に開いてくれてしまいます。

:edit D:\my\sf2\emacs\memoV.txt /link

たぶん Windows 用にコンパイルしてあるため / をディレクトリ記号に解釈しているのだと思います。
0649教えて リンク・ジャンプ2014/08/10(日) 15:06:28.40
下でも d:\lnk ファイルを新規に開きます
:edit D:\my\sf2\emacs\memoV.txt +/link
0650名無しさん@お腹いっぱい。2014/08/10(日) 15:07:40.30
:edit +/link D:\my\sf2\emacs\memoV.txt
じゃないの。今手元にWindows無いから確認できないけど。
0651名無しさん@お腹いっぱい。2014/08/10(日) 15:17:39.32
ここはUNIX版なので、板違いだから書き込むなとは言わないけど、
Windows使ってるならそうと書いておいたほうが良いと思うぜよ。
ファイルパス系は、shellslashやisfnameの考慮も必要になる場合があるし。
0652名無しさん@お腹いっぱい。2014/08/10(日) 15:21:41.30
>>648
+/link にせんといかん
■ このスレッドは過去ログ倉庫に格納されています