トップページ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あたり。
0355名無しさん@お腹いっぱい。2013/11/18(月) 23:26:02.84
Tabを半角スペース4個打ち込むように
innoremap
で変更して必要な時は
C-v Tab
でどうだろうか?
0356名無しさん@お腹いっぱい。2013/11/19(火) 05:20:57.69
>>354
set et
inoremap <Tab> <C-v><Tab>
inoremap <C-Tab> <Tab>
0357名無しさん@お腹いっぱい。2013/11/22(金) 21:43:17.62
>>355-356
お礼が遅れてすみません!
レスありがとうです
この方法、試したのですがオートインデントをオンにしていると、
そのインデントがスペースになってしまいますね・・・orz
折角提案もらったのに申し訳ないです
0358名無しさん@お腹いっぱい。2013/11/24(日) 00:13:47.23
NeoBundleLazyを駆使してもfiletype.vimがボトルネックであんまり速くならない…
0359名無しさん@お腹いっぱい。2013/11/25(月) 18:12:26.32
:set transparency って MacVim だけみたいですが (kaoriya 版でも対応してるのかな?)
本家で対応する予定とか無いんですかね
0360名無しさん@お腹いっぱい。2013/11/25(月) 18:39:26.09
ただ透明になるだけではBramさんを説得できない
0361名無しさん@お腹いっぱい。2013/11/25(月) 18:50:20.03
公式対応すらされないMac
0362名無しさん@お腹いっぱい。2013/11/25(月) 19:06:35.90
まず無いと思うぞ。

なぜなら、viやvimは端末の上で走る。
フォントや透明度は端末の環境に依存するんだ。
背景が透明な端末ならvimもそうなる。

同じ機能をvimに搭載するのは肥大化だから作られないと思う。
0363名無しさん@お腹いっぱい。2013/11/25(月) 19:09:37.98
あー。説得できないってのもそうかなーと思いますし、あくまで端末が念頭にあるんですよね。
端末で使ってるのはそれで満足なんですが,gVim のことを考えるとあると嬉しいなってちょっと思ったんです
ありがとうございます
0364名無しさん@お腹いっぱい。2013/11/25(月) 23:39:04.59
gvim が Terminal Emulator for Vim (+ vim) でもよかったんじゃないかとたまに思う。
端末縛りを抜けている訳でもないし。
gvim の利点もあるけど、端末でできて gvim でできないこともあるし。
いや通常の使用法なら特にないか。
まあ分離したらしたで面倒なこともありそうだけど。
0365名無しさん@お腹いっぱい。2013/11/25(月) 23:41:12.76
っていうか普通に面倒か。
0366名無しさん@お腹いっぱい。2013/11/25(月) 23:47:39.51
gVimはwindows用だと思ってる
0367名無しさん@お腹いっぱい。2013/11/26(火) 00:02:50.17
確かにMacとかだとgVim使わない
0368名無しさん@お腹いっぱい。2013/11/26(火) 00:07:12.91
Mac でも Linux でも FreeBSD でも、まともなターミナルがある環境だから使う必要性が全くない。
Windows 用だよね、もっぱら
0369名無しさん@お腹いっぱい。2013/11/26(火) 07:28:24.47
分割してるときに境界をマウスで動かせるという
その一点だけでgvimメインなのだが少数派なのか・・・
0370名無しさん@お腹いっぱい。2013/11/26(火) 07:58:30.52
あとはカーソルの細さが変わるとか、カラムが表示できるとか
0371名無しさん@お腹いっぱい。2013/11/26(火) 08:20:11.43
>>369
それならTerminalでもできるよ
:set mouse=a
0372名無しさん@お腹いっぱい。2013/11/26(火) 08:22:09.20
スペルチェックの見栄えは絶対gvim
0373名無しさん@お腹いっぱい。2013/11/26(火) 08:26:16.29
スクロール関連の見た目もgvimだけど
tmuxとかscreenとか使いだすとターミナル一択
0374名無しさん@お腹いっぱい。2013/11/26(火) 08:45:23.07
>>371
試してみたけどうちの端末だと反応ないっぽい
set ttymouse=xterm
も付けてみたけどクリックするとhelpが出てくる
ちなみにgnome-terminal + tmux
0375名無しさん@お腹いっぱい。2013/11/26(火) 08:52:18.68
Only works for certain terminals
(xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, *BSD console with
sysmouse and Linux console with gpm). For using the mouse in the
GUI, see |gui-mouse|.

gnome-terminalだからかな?
0376名無しさん@お腹いっぱい。2013/11/26(火) 09:01:36.11
tmuxの中だとドラッグが効かない気がする
0377名無しさん@お腹いっぱい。2013/11/26(火) 11:26:23.22
最近は Macで iTerm2 ってターミナル使ってるけど、色んなOS上のターミナル使ってきたけど、これ、最高だわ。
Vim 使うときはあんまりポインティングデバイスは使わないけど、問題なく使える。
gVim よりはるかに使いやすい(マウス操作な)
03783742013/11/26(火) 17:55:39.65
.vimrcに余計なこと書いてたのが原因でした
Kaoriya版についてた奴をそのままFreeBSDで使ってるんだけど
そうするとtermに妙な値(cons25)が設定されて
その上でclipboardをいじるとだめになるみたい
そこコメントアウトしたらgnome-terminal + tmuxでも動いた
どうもありがとう
0379名無しさん@お腹いっぱい。2013/11/26(火) 21:04:50.29
ああなるほどttymouseの設定値の問題だな
ttymouse=xtermだとドラッグが使えない
sgrとかxterm2とかならok
0380名無しさん@お腹いっぱい。2013/11/27(水) 05:33:02.87
VimTouch使ってる人っているの?
0381名無しさん@お腹いっぱい。2013/11/27(水) 09:14:00.67
日本語がうまく使えん
どうしたらいいか教えてくれ
0382名無しさん@お腹いっぱい。2013/11/27(水) 09:16:14.29
まずAmazonを開きます
0383名無しさん@お腹いっぱい。2013/11/27(水) 10:10:18.21
本をたくさん読もう。
0384名無しさん@お腹いっぱい。2013/11/27(水) 11:13:15.64
>>381
NHKの「にほんご講座」をお勧めします。

放送時間
Eテレ(教育テレビ)
放送:月曜日 午前6:05〜6:20
再放送:木曜日 午前1:25〜1:40(水曜深夜)/金曜日 午前10:15〜10:30
0385名無しさん@お腹いっぱい。2013/11/27(水) 11:19:51.93
日本語がうまく編集できん
どうしたらいいか教えてくれ
0386名無しさん@お腹いっぱい。2013/11/27(水) 11:31:09.68
具体的に。
0387名無しさん@お腹いっぱい。2013/11/27(水) 13:05:29.63
単語移動の単位が良く分からんという話なら諦めろ
0388名無しさん@お腹いっぱい。2013/11/27(水) 14:16:07.79
jasegment.vimというのもあるけどな
0389名無しさん@お腹いっぱい。2013/11/27(水) 14:33:47.86
まだ、なにが出来んのか分からんし
0390名無しさん@お腹いっぱい。2013/11/27(水) 14:36:58.94
とりあえず公開されている誰かのvimrcをコピーして練習するべきだな君は
0391名無しさん@お腹いっぱい。2013/11/27(水) 14:38:05.31
>>385
ここにエスパーがいるとでも?
0392名無しさん@お腹いっぱい。2013/11/27(水) 18:00:26.71
どうせエンコードの問題だろうとエスパーしてみる
0393名無しさん@お腹いっぱい。2013/11/27(水) 18:07:59.27
結局釣りか。
0394名無しさん@お腹いっぱい。2013/11/27(水) 21:41:22.80
vimでcの非同期補完をしたいんだけどclang_completeとかneocomplete.vimとか色々ありすぎてわからない
誰か教えて
0395名無しさん@お腹いっぱい。2013/11/29(金) 04:21:12.26
vim-flavor って HEAD 追えないんだね。
有効な tag って

0
0.0
0.a
v0
v0.0
v0.a

あたりの形式だけなのかな。
使えない plugin が結構ありそうだけど、そうでもないのかな?
0396名無しさん@お腹いっぱい。2013/11/29(金) 17:58:40.58
キモいドールさんの作ったものを使う人いるの?
0397名無しさん@お腹いっぱい。2013/11/29(金) 18:04:27.86
趣味関係ないし
0398名無しさん@お腹いっぱい。2013/11/29(金) 19:29:22.44
性格悪いし
0399名無しさん@お腹いっぱい。2013/11/29(金) 21:21:49.54
香り屋のことを性格悪いから嫌いとか言っていた奴と同一と見た
0400名無しさん@お腹いっぱい。2013/11/29(金) 21:32:27.58
UNIX板でいうことでもないが公式ビルドがあるのに勝手に野良ビルド使ってそれを質問してくる奴なんなの
0401名無しさん@お腹いっぱい。2013/11/29(金) 22:49:33.77
何の話だ
0402名無しさん@お腹いっぱい。2013/11/30(土) 23:28:25.48
以下のように、標準入力をリダイレクトで受けて開くとき、文字コードを
指定して開くにはどうすれば良いでしょうか?
$ cat foo | vim -R -

一部に不正バイトが入っていても無視して特定の文字コードで開く、
ということを、nkf等を咬まさず、かつ保存せずに実施したいです。
開いてから:e ++enc=utf8だと、ファイルとして保存していないのでエラーとなります。
ファイルを普通に読み込むときのように以下を試してみたけど駄目でした。
$ cat foo | vim -R "+e ++enc=utf-8" -
$ vim -R "+e ++enc=utf-8" <(cat foo)
0403名無しさん@お腹いっぱい。2013/11/30(土) 23:30:45.22
vimの起動オプションに コマンドは知らせるオプションがあったはずだ。

……cオプションだ。man vim ヨロ。
0404名無しさん@お腹いっぱい。2013/12/01(日) 01:40:44.43
>>402
http://u7fa9.org/memo/HEAD/archives/2011-01/2011-01-18.rst
0405名無しさん@お腹いっぱい。2013/12/02(月) 11:22:50.20
達人Vim使いがコーディングしてる動画ってないですか?
0406名無しさん@お腹いっぱい。2013/12/02(月) 17:59:28.31
http://vimeo.com/search?q=vim
0407名無しさん@お腹いっぱい。2013/12/02(月) 20:26:26.05
ありがとうございます!
周りにVim使ってる人がいないので聞いてみた次第です
0408名無しさん@お腹いっぱい。2013/12/02(月) 22:25:37.70
美人Vim使いがコーディングしてる動画ってないですか?
0409名無しさん@お腹いっぱい。2013/12/03(火) 19:01:09.65
ないです
0410名無しさん@お腹いっぱい。2013/12/09(月) 00:17:18.12
くだすれがあればそっちに書きたいようなことなんですが…
気がついたらいくつか(今のところあちこち散らばって計3個)
# で囲まれたファイル名のファイルができているようです。
例えば最近編集した foo.py と同じディレクトリに #foo.py# というファイル。
内容は2つでほぼ同じ(数行違いがあるのと違いが無いのとがある)です。
何が原因かわからないのですが、編集に使ってるのは Vim だけなので Vim の何かの可能性はあるかも、
と思うのですが、そういう現象を起こすなにかありますかね
0411名無しさん@お腹いっぱい。2013/12/09(月) 02:08:34.11
>>410
backupextは拡張子だけ、スワップファイルは.swoとかだから関係なさそう
てことはプラグインかね。
なんかプラグイン使ってる?
0412名無しさん@お腹いっぱい。2013/12/09(月) 03:19:01.50
>>410
Emacsの、キーストローク数か何かを基準に作られる自動保存ファイルみたいなのが #filename# だけれど、
使ってない?
0413名無しさん@お腹いっぱい。2013/12/09(月) 18:24:15.64
おふたかたともありがとうございます…!そして結局 Vim は関係無さそう。ごめんなさい
>>411
プラグインでなにかファイルを作りそうで言えば neocomplcache をつかってますが、
これはこれの原因にはならなさそうですね…。ありがとうございます。
>>412
あーーーそういえば「たまには Emacs 使ってみるか」(→「あっこれどうやって終了するの」)
っていうことが以前あったのでその可能性がかなり高そうです。ありがとうございます
まさかそんなところに原因が、しかもこのスレで見つかるとは….
0414名無しさん@お腹いっぱい。2013/12/09(月) 18:56:21.33
判決
被告は「編集に使ってるのはVimだけ」と証言しておきながら
その実よりにもよってEmacsに浮気しており(略)
極刑
0415名無しさん@お腹いっぱい。2013/12/09(月) 21:13:21.73
やばいと思ったが(Emacs欲を)押さえきれなかった
0416名無しさん@お腹いっぱい。2013/12/10(火) 04:09:41.83
意義あり。
被告の行動は、終了の仕方も分からない程度の付き合いであり、
これは一般的には浮気とは捉えられず、挨拶を交わす程度の付き合いだったとも
いえるのではないでしょうか。
0417名無しさん@お腹いっぱい。2013/12/10(火) 05:02:10.91
NrrwRgn使ってる人がいたら聞きたいんだけど
\nr
まともに動いてます?
04184172013/12/10(火) 21:21:13.28
反応ないな…
とりあえず一つ前のリビジョンなら問題ないので
それでしのいでみます
0419名無しさん@お腹いっぱい。2013/12/11(水) 01:13:37.68
>>418
使ってないけど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
>>419
今確認したらどうやらバグだったようでfixされてました。
わざわざありがとう。
0421名無しさん@お腹いっぱい。2013/12/15(日) 22:42:23.08
vimで現在のカーソル位置から、検索した所までを削除するにはどうしたらいいでしょうか。
0422名無しさん@お腹いっぱい。2013/12/15(日) 22:46:06.31
>>421
d/foo<Cr>
やら
:,/foo/d<Cr>
やら
確認したければ、
V/foo<Cr> で選択してから d
0423名無しさん@お腹いっぱい。2013/12/15(日) 22:46:15.30
普通に
d/hoge
って話じゃなくて?
0424名無しさん@お腹いっぱい。2013/12/15(日) 23:08:34.53
>>422-423
バッチリです。ありがとうございます!

ただ、何かのプラグインか設定が邪魔しているのか
.vimrc を読み込むとうまくいかない…。
0425名無しさん@お腹いっぱい。2013/12/15(日) 23:09:23.87
pastebinに.vimrc貼れば?
0426名無しさん@お腹いっぱい。2013/12/16(月) 19:18:05.92
.vimrcに redir => _ があると view で起動した時
E475: Invalid argument: => _
っていうエラーが出るね。
vim -R だと出ないのに。
ただの別名じゃないの?
0427名無しさん@お腹いっぱい。2013/12/17(火) 21:27:59.17
同種のシンタックスファイルが複数あるときどれを開いてるか知るにはどうしたら良いですか?
0428名無しさん@お腹いっぱい。2013/12/17(火) 21:38:55.70
:scriptnames
基本的に全部読み込むみたいだね。
0429名無しさん@お腹いっぱい。2013/12/17(火) 21:59:25.31
>>428
説明不足ですみません
現在のバッファで使われているシンタックスファイルのパスはどうすれば分かりますか?
04304282013/12/17(火) 23:18:11.82
>>429
どういう意味?
具体例を上げて説明してくれるとわかりやすいかも。
0431名無しさん@お腹いっぱい。2013/12/17(火) 23:31:27.46
>>429
先に読み込まれた方が適用される

ふつうは、b:current_syntax をチェックするガード節があるので、&rtpで先にある方 = scriptnamesで先に出力される方 になるはず
0432名無しさん@お腹いっぱい。2013/12/17(火) 23:37:49.42
>>431
補足: ガード節があるから、&rtpであとにある方は読み込まれないという意味ね
0433名無しさん@お腹いっぱい。2013/12/17(火) 23:50:14.47
perl始めたけど末尾の ;
を忘れやすい。

何か良いプラグインとかある?
0434名無しさん@お腹いっぱい。2013/12/17(火) 23:57:40.67
>>430
具体的じゃないですが、全部読み込むと言ってもどれが使われるかを知りたいんです

>>431
そういう意味です
それをvimスクリプトから出力したいんですがヘルプを検索しても見つかりませんでした
0435名無しさん@お腹いっぱい。2013/12/18(水) 00:08:07.66
>>434
それはヘルプには載ってないというかそういう関数はないので
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
>>435
ありがとうございます!
なるほど変数へのリダイレクトですか〜
勉強になります
0437名無しさん@お腹いっぱい。2013/12/18(水) 00:14:10.94
>>433
Perl書かないから詳しくはわからんけが、その目的ならsyntasticは使えそう
0438名無しさん@お腹いっぱい。2013/12/18(水) 00:22:00.89
>>436
あんま使わねえからそんな関数やら変数はないよ。ってヘルプに書いてあったわ
ご丁寧にscriptnamesのDictionary作るスクリプトも載ってる。まあ目的に合うかわからんが
:h scriptnames-dictionary
0439名無しさん@お腹いっぱい。2013/12/18(水) 00:58:43.87
>>437
ありがとう。perlもHaskellもサポートされててちょうど良いわ。
0440名無しさん@お腹いっぱい。2013/12/18(水) 17:22:58.13
おお?NeoBundleのautoloadのmappingsに使えるモードってnvxoiだけでcがないのか
0441名無しさん@お腹いっぱい。2013/12/19(木) 00:28:33.40
kana1
0442名無しさん@お腹いっぱい。2013/12/19(木) 06:34:13.95
>>440
そんなことはないでしょう
0443名無しさん@お腹いっぱい。2013/12/19(木) 16:46:54.42
Vim Color Scheme Advent Calendar とかもやってる人がいるんだな。
http://hail2u.github.io/vim-color-scheme-advent-calendar-2013.html
これはこれで「アドベントカレンダー」っぽくていい
04444402013/12/19(木) 21:02:09.02
>>442
10日程前に修正されてました
さーせん
0445名無しさん@お腹いっぱい。2013/12/19(木) 22:35:29.49
気に入ったマクロ
例えば、日本語の禁則を組み込んでテキスト整形するマクロを作ったとして
また後で使いたいと思ったとする。

q レジスタに入ったマクロをはき出すならば
:put q
だ。これを保存すればマクロはファイルとして保存される。
/*ここまではOK。問題は読み込みの方法が分からない。*/

マクロがファイルの形で保存されているとして
どうやって実行したらよいのだろうか?
0446名無しさん@お腹いっぱい。2013/12/19(木) 23:03:14.75
let @a="HOGE"
でレジスタaに代入出来る
どっかに書いて読み込ませてからマクロとして実行すれば良いよ
0447名無しさん@お腹いっぱい。2013/12/19(木) 23:26:46.14
:r file_path
と合わせるのか。マクロそれで読み込めるね。ありがとう。

rでファイルに1行書き込んで、
それを(normal_modeなので)
0"ay$ (これなら改行文字が入らないで"a"レジスタに入る)
04484472013/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
map! <BS> <Nop>にすると日本語入力がおかしい。
「あ」を入力すると「あ」が変換待ちで表示される。一文字目は問題ない。
次に「い」を入れると、「あ」が確定して「あい」が変換待ちになる。
次に「う」を入れると、更に「あい」が確定済みに追加され「あいう」が変換待ちになる。
次に「え」を入れると、更に「あいう」が確定済みに追加され「あいうえ」が変換待ちになる。
ここまでで「ああいあいう」が確定済みで、「あいうえ」が変化待ち、という状況。
今使ってるのはfedoraのgvimなんだけど、他のディストリやOSではどうかな?
端末版は問題ない。
0450名無しさん@お腹いっぱい。2013/12/20(金) 11:50:55.54
>>449 Ubuntu + gvim で再現した
0451名無しさん@お腹いっぱい。2013/12/20(金) 22:05:43.10
Emacs 使いの友人に Emacs には Grass 言語用の grass.el があって超便利なのに
Vim にないの?えっないの?って煽られたので誰かよろしく頑張ってくれ
0452名無しさん@お腹いっぱい。2013/12/20(金) 22:48:29.14
Grassって知らんなあと思ったら
こんなネタ言語のために時間割くやつおるかlw
0453名無しさん@お腹いっぱい。2013/12/20(金) 22:57:47.26
wwwwWWWwwwwwwWWwwwWw
0454名無しさん@お腹いっぱい。2013/12/20(金) 23:01:08.59
Emacsは何でもかんでもEmacsで完結してしまうからVimとは
プラグインの有無も違ってくるね。
:help design-not
0455名無しさん@お腹いっぱい。2013/12/20(金) 23:38:16.14
>>454
これは完結とか高度とかそんなん関係ないBrainF*ck系言語だぞw
マイナーすぎてサポートされてないだけ
■ このスレッドは過去ログ倉庫に格納されています