トップページ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あたり
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 にせんといかん
0653教えて リンク・ジャンプ2014/08/10(日) 15:45:46.54
>>650 :edit +/link D:\my\sf2\emacs\memoV.txtじゃないの。

ご指摘のとおりでした。これで "link" の文字列サーチも行ってくれました。下もサー
チまで動きました。後は >>646 さんのコードを少し手直しすればよさそうです。

:tabe +/fullwid D:\my\sf2\emacs\memoV.txt

ありがとうございました。

その他のご指摘くれた皆様にも感謝します。
0654名無しさん@お腹いっぱい。2014/08/18(月) 18:26:34.04
オンボードから、PCI Express 2.0 のグラボに変えたんだけど、
GVim の起動が速くなったのでワロタ
0655名無しさん@お腹いっぱい。2014/08/18(月) 18:33:24.26
何でグラフィックボード変えただけで起動が早くなるんだ?
0656名無しさん@お腹いっぱい。2014/08/18(月) 20:09:01.36
いままでメインメモリから拝借していたVRAMをグラボでまかなうようになって
メインメモリの空きが増えると若干影響するかもな。
0657名無しさん@お腹いっぱい。2014/08/18(月) 22:49:36.58
メインメモリの空きと言うか、メインメモリの帯域を喰い合うから遅くなるんだろう
0658名無しさん@お腹いっぱい。2014/08/18(月) 22:51:19.60
なるほど
0659名無しさん@お腹いっぱい。2014/08/18(月) 22:58:53.42
ツールバーやらメニューバーなどWMの受け持ち部分も多少は速くなるだろうから効果はあるんじゃないかな
0660名無しさん@お腹いっぱい。2014/08/19(火) 03:42:24.13
前スレでも質問したんだけど、cindentでコメント内の括弧無視する方法誰か知らない?
下みたいなコードを全文インデントすると、コメント内の閉じてない括弧のせいで
インデントがずれるんで困ってます。

int main(){
 for(int i=0; i<5; ++i){
  //if( hoge == 0 ){
  printf("hello world");
 }
 return 0;
 }
0661名無しさん@お腹いっぱい。2014/08/19(火) 04:01:56.28
解決じゃなくて回避でしかないけどw
↓これでどうかな?

int main(){
for(int i=0; i<5; ++i)
//if( hoge == 0 )
{
printf("hello world");
}
return 0;
}

やっぱダメ?w
0662名無しさん@お腹いっぱい。2014/08/20(水) 12:10:09.34
うーん、たとえば python だとふつうにコメント行は無視してインデントしてくれるから
意図した挙動というよりは indent/c.vim のバグのようにも見える
あんまりあのへんの雰囲気知らないけど vim-jp で報告とかどうだろうか
0663名無しさん@お腹いっぱい。2014/08/22(金) 22:15:09.34
擬似アセンブリ言語casllIIのシンタックス探しているのですが今までに見かけた方いませんか
これから学ぼうと思っているので自分で書くのは不可能と判断しました
0664名無しさん@お腹いっぱい。2014/08/22(金) 22:19:31.35
>>66 もしくは代わりとして使えそうな似た構文の言語などお教え願いたい
0665名無しさん@お腹いっぱい。2014/08/23(土) 09:40:20.34
>>663
実用言語じゃないのであえて作ろうという人がいなそう
他のアセンブラのsyntaxファイルはいくつかあるみたいなのでそれである程度代用できんかね
使えるやつがあればそれを改造するなど
0666名無しさん@お腹いっぱい。2014/08/27(水) 15:52:58.79
vimでtrue colorを使っている人はいるだろうか?
使ってみたら、重たかったとかカラースキームファイルの手入れが面倒だったとか感想はあるだろうか?

https://gist.github.com/othree/6087586
https://groups.google.com/forum/#!topic/vim_use/OixiqMYqcns
You can search vim-dev for my patch that adds true color support (named 24-bit-xterm, xterm-truecolor or such).
But this means you need to compile vim yourself.

You can use https://bitbucket.org/ZyX_I/vim to get branch with this patch (it is mercurial bookmark though,
not mercurial branch), use local-default bookmark to get the same version I am using (it includes xterm-truecolor and a number of other patches).
0667名無しさん@お腹いっぱい。2014/09/01(月) 20:12:39.03
>>660
外部のフォーマッタに任せた方が早い。
それこそCならindent(1)が鉄板じゃないの?

.vimrcに↓突っ込んで
au FileType c setl ep=indent\ -kr\ -i8

gg=G
0668名無しさん@お腹いっぱい。2014/09/05(金) 13:33:08.38
unixでgvimを使う利点がわからん
vimのほうがターミナルから出なくて便利じゃん
0669名無しさん@お腹いっぱい。2014/09/05(金) 13:45:04.06
スペルの誤りの場所に波線をしたに表示するとか
colorschemeの描写がより見やすい配色を選択でき、
表現が広いことだろうか
0670名無しさん@お腹いっぱい。2014/09/05(金) 17:21:07.17
>>668
むしろ、ターミナルに戻らない。
だったら、vimでなくてgvimでいいでしょ。
■ このスレッドは過去ログ倉庫に格納されています