トップページunix
984コメント289KB

Vim Part25 [転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2015/03/30(月) 20:04:42.55
Vim 6以降に関する話題、Part24です。
http://www.vim.org/

前スレ
Vim Part24
http://peace.2ch.net/test/read.cgi/unix/1413122189/

関連情報は>>2-6あたり
0553名無しさん@お腹いっぱい。2015/08/22(土) 13:11:44.08
最初の(の次にカーソルを置いてdi)
:h i)
0554名無しさん@お腹いっぱい。2015/08/22(土) 13:14:26.49
di)
0555名無しさん@お腹いっぱい。2015/08/22(土) 16:41:17.93
lilypondファイル(.ly)をvimで編集すると、死ぬほど重くてもはや動かせるレベル
ではないんですが、syntax offにすると軽くなります。
でも、他の形式(C++とかshellとか)のファイルはsyntaxがあっても、数千行のファイル
でもサクサク動かせるので、.lyに問題が有るように思えるのですが、
原因がよく分かりません。
まあ最悪syntax offでも編集できるのですが、syntaxないとモチベあがんないんですよね。
0556名無しさん@お腹いっぱい。2015/08/22(土) 16:57:22.79
set foldenable
set foldmethod=syntax
の設定をしてると重くなるらしいが
http://comments.gmane.org/gmane.comp.gnu.lilypond.general/100340

ググっただけだから詳しくは知らないけど
0557名無しさん@お腹いっぱい。2015/08/23(日) 00:16:21.35
>>556
有益な情報有難うございます。
しかし, set nofoldenable にして、更にset foldmethod=indent に変えてみましたが、
やはりsyntaxをonにすると尋常じゃないくらい重いです。

lilypondの仕様に問題があるのだと思いますが、原因は不明なのでしばらくはsyntax offで
やってみるしかなさそうです。
0558名無しさん@お腹いっぱい。2015/08/23(日) 01:14:54.13
>>555
中身見てないけど、もしかしたらsyntaxファイルの書き方がイマイチとか?
0559名無しさん@お腹いっぱい。2015/08/24(月) 09:31:37.35
githubへの移行完了したのか
これからはissueに投稿していいの?
0560名無しさん@お腹いっぱい。2015/08/24(月) 14:28:26.02
していいんじゃない?今のところ二人ぐらいしか書いてないけど。
0561名無しさん@お腹いっぱい。2015/08/24(月) 16:00:01.84
誰かプルリクエスト送ってよ
0562名無しさん@お腹いっぱい。2015/08/25(火) 16:09:58.79
fuzzy searchぐらい本体で実装してくれよ
0563名無しさん@お腹いっぱい。2015/08/27(木) 07:29:29.56
:NeoBundleUpdate叩いたらエラーが出るようになった
vimshellはラディカル更新姿勢だからしょうがないとして
smartinputの方は何で?
0.0.5 2012-04-11T21:48:41+09:00 *smartinput-changelog-0.0.5*
と枯れた更新履歴からしてアップデートではないので意味不明

E117: Unknown function: vimshell#set_execute_file
E117: Unknown function: smartinput#map_to_trigger
E117: Unknown function: smartinput#define_rule
0564名無しさん@お腹いっぱい。2015/08/27(木) 22:39:43.99
Linuxでvim使ってるとWindowsでサクラエディタ使いづらくなるんだけどなんとかならんかなこれ
Kaoriya版はvimrcが反映されない部分があってLinuxのそのまま持ち越せないし……
0565名無しさん@お腹いっぱい。2015/08/28(金) 00:13:03.87
>>564
vimrcが一部反映されない程度ならサクラエディタより近いがなww
0566名無しさん@お腹いっぱい。2015/08/28(金) 12:04:15.27
C-w C-wで隣の分割された画面に移動したいんですがquickfixに移動してしまうので
quickfixを飛ばして移動するコマンドってありませんか?
0567名無しさん@お腹いっぱい。2015/08/28(金) 12:16:28.93
>>566
>>355 参照。
他には <C-W>j とか <C-W>l 等
0568名無しさん@お腹いっぱい。2015/08/28(金) 13:29:17.83
ありがとうございますwindows.txt見て覚えてきます
0569名無しさん@お腹いっぱい。2015/08/28(金) 21:39:39.06
>>566
昔そんなコマンド作ったことある。
quickfixウィンドウかどうかは&ft == "qf"で判定できるので
とりあえずwincmd wで移動して、今いるのがquickfixだったらもう一度wincmd wするとか、
あるいは事前にwinbufnr(), getbufvar()で判定してもいいし。
0570名無しさん@お腹いっぱい。2015/08/28(金) 22:33:12.67
引数受けずに呼出元を表示する関数って書けますか?
perl の caller みたいな感じで。
0571名無しさん@お腹いっぱい。2015/08/29(土) 00:49:08.28
>>570
例外発生時にコールスタックみたいなものは出るからある程度は作れそうだが、そういうapiは提供されてないと思うので完全なのは難しそう
0572名無しさん@お腹いっぱい。2015/08/29(土) 01:02:01.35
>>571
返信ありがとうございます。
地道に呼び出し元から引数で expand('<sfile>') 渡すことにします。
0573名無しさん@お腹いっぱい。2015/08/29(土) 01:09:46.60
UNIX関係について語り合うならBeLongs!がおすすめ。
よかったら、「blngs」で検索してみて!
0574名無しさん@お腹いっぱい。2015/08/29(土) 01:11:04.51
>>572
やり方として正しいとは思わないが、わざと例外起こして、その時のメッセージをパースして…みたいなことも出来なくもなさそうだけど、たしか関数名も省略されて気がするんだよな
0575名無しさん@お腹いっぱい。2015/08/29(土) 01:50:00.93
>>573
アフィ乙です
0576名無しさん@お腹いっぱい。2015/09/01(火) 12:45:32.59
:tabeの引数にディレクトリを渡すとファイラーが起動しますけど
ファイルやディレクトリを選択するのにEnterキーじゃなくてSpaceを使う方法教えてください
もしくはそういうことが代替のプラグインってありませんか?
小指が小さいのでホームポジションから右手を話さないとEnterキーに届かないんです
0577名無しさん@お腹いっぱい。2015/09/01(火) 15:19:26.23
" ~/vimfiles/ftplugin/netrw.vim ("~/vimfiles" は個々の user-rutime-dir に)
exe 'nnoremap <buffer><space> '.maparg('<CR>','n')
0578名無しさん@お腹いっぱい。2015/09/02(水) 23:12:52.61
nmap <buffer> <space> <enter>
0579名無しさん@お腹いっぱい。2015/09/04(金) 20:31:27.12
>>577-578
使わせていただきますありがとうございます
0580名無しさん@お腹いっぱい。2015/09/05(土) 21:01:31.40
&re != 1 なら /[\u4E00-\u9FCF]/ てな範囲指定が出来るようになってるんだな。あなうれしや
0581名無しさん@お腹いっぱい。2015/09/08(火) 10:01:38.49
CentOSでvim 7.2を使っています

テキストを入力していて、行が少し長くなると、途中にある空白や#の箇所で改行されてしまいます
この動作を止めさせたいのですが、どう設定すればよいのでしょうか
0582名無しさん@お腹いっぱい。2015/09/08(火) 10:41:51.33
>>581
se tw=0
0583名無しさん@お腹いっぱい。2015/09/08(火) 10:53:06.35
>>582
情報ありがとうございます

/etc/vimrc内に、そのtwを設定している箇所をみつけましたので、
tw=0と修正したところ、効き目がありました

ありがとうございました
0584名無しさん@お腹いっぱい。2015/09/08(火) 11:17:31.52
>>583
$HOME/.vimrc に設定した方がいいよ
他の端末でも使い回せるし
0585名無しさん@お腹いっぱい。2015/09/10(木) 00:05:59.12
neocompleteの設定例の、下記の文で質問があります。
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"

この文は選択候補窓の表示有無で<C-n> か <TAB>のどちらかを
入力しているのだと思いますが、\記号が先頭に付いている意味が分かりません。
\記号を外して実行しても動作に違いがないように思います。

\記号にはどういった意味があるのでしょうか?
0586名無しさん@お腹いっぱい。2015/09/10(木) 01:55:49.97
shougoに聞けよ
ask.fmなら匿名でも聞けるぞ
0587名無しさん@お腹いっぱい。2015/09/11(金) 01:15:30.09
>>585
実際に \記号なしで実行してみ。
<C-n>、<TAB>という文字列がそのままバッファに入力される。
ダブルクォートで内の文字列は \ を前置すると特別な意味になる。
いつものマッピングで使う<C-n>や<TAB>という表記は
<expr>がついているから無効になってる。
0588名無しさん@お腹いっぱい。2015/09/11(金) 11:00:01.10
omnifuncで補完される候補ってキーを打つ度に候補数が減っていきますよね
これってキーを打つ度に補完データを取得してるんですか?
それともomnifuncを呼び出した時点の補完データを元にしてるんですか?
0589名無しさん@お腹いっぱい。2015/09/11(金) 12:15:32.18
>>588
:h E839 の例を見ると入力の度に候補を絞り込んでいく感じっぽいな
補完データは普通は初期化時に与えられたら十分な気がするが、それも実装次第の様子
0590名無しさん@お腹いっぱい。2015/09/11(金) 13:30:23.24
vimconfって何で発表者の交通費を負担しなきゃいけないんだろうな
参加費を割引にしたり無料にするならまだわかるけど
無関係な費用を参加者に負担してもらうのは不公平である
交通費無料じゃないとくる価値がない、他の発表者の内容に価値がないみたいな感じ
0591名無しさん@お腹いっぱい。2015/09/11(金) 15:05:44.22
>>590
著作権使用料も払わされるねニヤニヤ
0592名無しさん@お腹いっぱい。2015/09/11(金) 17:32:16.79
Vimは●も表示できない時代遅れのエディタ
ttp://b.hatena.ne.jp/entry/anond.hatelabo.jp/20150908104340
0593名無しさん@お腹いっぱい。2015/09/11(金) 17:42:36.35
gvimか
0594名無しさん@お腹いっぱい。2015/09/11(金) 18:06:54.28
gim?
05955852015/09/11(金) 20:18:59.02
>>587
ありがとうございます。
意味が分らず気持ち悪かったので助かりました。
<expr>を調べればよかったのか...
0596名無しさん@お腹いっぱい。2015/09/13(日) 16:29:33.46
neocomplete使ってるけどjediとかternで使えないのがつらい
何でこんなに補完関連のプラグインって選択肢がないんだろ
0597名無しさん@お腹いっぱい。2015/09/13(日) 21:45:08.18
作るか改良しようぜ
自分もみんなも得するよ
0598名無しさん@お腹いっぱい。2015/09/14(月) 16:40:24.60
以下を 1.0.4にするために、1から4を選択して :s/ //g すると1行丸ごと置換される
* some_script.sh: add interactive UI. version 1. 0. 4.

バグなのか?
0599名無しさん@お腹いっぱい。2015/09/14(月) 18:47:23.18
>>598
仕様です。
:h \%V
0600名無しさん@お腹いっぱい。2015/09/14(月) 19:44:19.87
>>>599
ありがとう
\%Vは指摘がなかったら全然気づかなかった
0601名無しさん@お腹いっぱい。2015/09/14(月) 19:45:42.77
vimのマッチングパターンて構文強調から派生したであろう面白い奴が多いなw
/.\%>'<\_.*\%<'>../ 直前の選択範囲を強調(重いwしかも再描画しないと残るw)
0602名無しさん@お腹いっぱい。2015/09/14(月) 22:04:39.72
オムニ補完をソートする方法ってありますか?
0603名無しさん@お腹いっぱい。2015/09/14(月) 22:44:37.04
>>602
気にしたことないがVimの標準オプションでは無いんじゃないかね
補完関数をラップしてゴニョゴニョすれば出来なくは無さそうだが
0604名無しさん@お腹いっぱい。2015/09/15(火) 00:58:14.22
viを実行すると~/.vim/vimrcを読み込んでしまい、
E10: \ should be followed by /, ? or &
こういったメッセージが大量に表示されるんですが何をvimrcに書けば消えますか?
0605名無しさん@お腹いっぱい。2015/09/15(火) 02:16:59.61
とりあえず se nocp だあね。
0606名無しさん@お腹いっぱい。2015/09/15(火) 03:05:16.44
Vimewwwwwwwww

iOSでも使える効率の良いものにしろや笑
0607名無しさん@お腹いっぱい。2015/09/15(火) 08:10:58.97
macだとまずいことがあるのか
0608名無しさん@お腹いっぱい。2015/09/15(火) 18:09:48.24
補完プラグインでプレビューウィンドウに選択項目の詳細を出せるタイプのものを使ってるんだけど
プレビューの高さが変わるたびに画面上のカーソル位置も上下に動いてしまうのは本体側の設定で直せるものですか?
それともプレビューを使うプラグイン側の問題なんでしょうか
0609名無しさん@お腹いっぱい。2015/09/15(火) 23:50:48.46
ユーザー定義コマンドの質問です。
第一引数が数値と解釈されると前置したcountが無視されてしまう、下記現象を回避する方法はありますか?

"定義・実行
com! -nargs=* -count=1 Sample :echo 'count=>' <count> 'args=>' <q-args>
:3Sample 5 7

" 出力: count=> 5 args=> 7
0610名無しさん@お腹いっぱい。2015/09/16(水) 01:41:12.52
>>608
なんのプラグイン?Pythonのomnicompleteもそのタイプだけど、プレビューウィンドウの高さは常にpreviewheighに設定された値になるから、選択項目を変更してもカーソル位置は変わらない
もちろんプレビューウィンドウが出現した瞬間はカーソル位置がずれるけど
0611名無しさん@お腹いっぱい。2015/09/16(水) 01:49:36.56
>>609
その挙動は仕様だから -count を使う場合どうしようもないけど、-range なら少なくとも例の場合は期待通りの出力が得られるはず
:h command-count より
-count=N A count (default N) which is specified either in the line
number position, or as an initial argument (like :Next).
Specifying -count (without a default) acts like -count=0
0612名無しさん@お腹いっぱい。2015/09/16(水) 02:06:02.65
>>611
以下の様に記述したら期待通りに動作しましたー!
com! -nargs=* -range=1 Sample :echo 'count=>' <count> 'args=>' <args>
正解は -range=1 と <count> の組み合わせだったんですね。
秋の夜長にありがとうありがとう!
0613名無しさん@お腹いっぱい。2015/09/16(水) 08:58:58.13
>>610
vim-clangです
ttps://github.com/justmao945/vim-clang
上にあるGIF画像でカーソル位置が固定されてて何でかなぁって思ってました
ターミナルとGUIの違いもあるんだろうか。自分はターミナルから使ってます
06146132015/09/16(水) 09:04:31.98
大事なことを忘れていました
neocompleteと合わせて使用しています
以下のようにvim-clangの自動補完を無効にしてneocompleteでオムニ補完されるようにしています
ttps://github.com/justmao945/vim-clang/blob/master/doc/clang.txt#L273
0615名無しさん@お腹いっぱい。2015/09/16(水) 10:02:27.87
vimでvim-clang使ってるけどいままでずれたことはない
0616名無しさん@お腹いっぱい。2015/09/16(水) 23:57:37.22
jediの補完が遅いのはyoucompletemeを入れれば早くなりますか?
ぼくの環境だと1時間半たってもyoucompletemeのインストールが終わらないので入れるの諦めたんですが
0617名無しさん@お腹いっぱい。2015/09/17(木) 17:01:31.84
filetypeがphpの時、1行が300文字ぐらいの長い行があると、その次の行からファイルの最後まで色がつかなくなるんですがこれは何の設定をしたら解決しますか?

<?php
echo "ここにaを300文字ぐらい書いた";
echo 1;
echo 1;
echo 1;
0618名無しさん@お腹いっぱい。2015/09/17(木) 17:39:38.99
そんなアホな書き方やめようよぉ
0619名無しさん@お腹いっぱい。2015/09/17(木) 21:12:55.22
:h syn-sync あたりかもだけど、構文強調も万能じゃないからなあ
0620名無しさん@お腹いっぱい。2015/09/17(木) 21:18:58.43
>>617
:h synmaxcol
値を大きくし過ぎるとかなり重たくなるので注意
0621名無しさん@お腹いっぱい。2015/09/17(木) 21:20:02.51
あー、次の行からか。ならsynmaxcolじゃないか
0622名無しさん@お腹いっぱい。2015/09/18(金) 13:17:18.35
:set nomodifiableしてから:tabeすると新しく開いたタブにも:set nomodifiableが適用されてしまうのですが
:set nomodifiableを実行したタブのみに適用する方法を教えてください
0623名無しさん@お腹いっぱい。2015/09/18(金) 13:26:17.63
setlocalっていうので解決しました
これからはなるべくsetを使わないでsetlocalを使うようにします
0624名無しさん@お腹いっぱい。2015/09/18(金) 13:28:38.67
>>622
:setl noma

local to buffer ってこんな挙動なんだっけ
0625名無しさん@お腹いっぱい。2015/09/19(土) 20:57:52.77
vimの面白パターンマッチで半日遊んで分かったわ。 \zs はツンデレ
0626名無しさん@お腹いっぱい。2015/09/19(土) 21:05:40.88
コマンド             グローバルな値       ローカルな値
:set option=value      値はvalueに設定される   値はvalueに設定される
:setlocal option=value   値は変化しない        値はvalueに設定される
:setglobal option=value  値はvalueに設定される   値は変化しない
0627名無しさん@お腹いっぱい。2015/09/24(木) 14:02:32.47
q:って押すと何かのコマンド一覧ウィンドウが出るんですが
こんな機能使う機会がないし:qの打ち間違えなのでq:を無効にする方法を教えてください
0628名無しさん@お腹いっぱい。2015/09/24(木) 14:03:58.88
かなり便利なのに・・・
0629名無しさん@お腹いっぱい。2015/09/24(木) 16:13:29.50
>>627
nnoremap q: :q
或いはお好みで
nnoremap q: :q<CR>
0630名無しさん@お腹いっぱい。2015/09/24(木) 17:02:56.43
ありがとうございます
0631名無しさん@お腹いっぱい。2015/09/24(木) 18:10:59.07
口にして
 なんか可笑しい
  キューコロン
0632名無しさん@お腹いっぱい。2015/09/24(木) 23:15:21.22
宣伝
【POSIX】UNIXプログラミング【BSD】 [転載禁止]&#169;2ch.net
http://peace.2ch.net/test/read.cgi/unix/1443103705/
0633名無しさん@お腹いっぱい。2015/09/25(金) 20:14:58.15
https://github.com/tpope/vim-commentary/blob/master/plugin/commentary.vim

コメントプラグイン
ファイルタイプを認識してそのファイルタイプに合った文字列でコメントアウトするのはどの部分ですか?
あと xmap gc <Plug>Commentaryってありますけど Commentaryって関数がどこにも定義されていませんどういうことなんですか?
0634名無しさん@お腹いっぱい。2015/09/25(金) 21:20:48.87
今ライスセンターで忙しいって
0635名無しさん@お腹いっぱい。2015/09/26(土) 00:05:56.99
>>633
コードのどの行かってことならs:go()の中のs:surroundings()で &commentstring を取得してる
<Plug>Commentary は関数じゃなくてマッピング
ファイルの下の方で
xnoremap <silent> <Plug>Commentary :<C-U>call <SID>go(line("'<"),line("'>"))<CR>
などと定義されてる
0636名無しさん@お腹いっぱい。2015/09/26(土) 00:13:14.07
プラグイン側でどういうコメントをつけるか判断してるわけじゃなくてVimの内部機能を使ってたわけなんですね
その定義の仕方がいまいちわからないのでヘルプみながら勉強してきます
0637名無しさん@お腹いっぱい。2015/09/26(土) 00:45:10.07
>>636
そうそう。なのでとてもシンプル
'commentstring'は大抵ftpluginで設定されてる
以下余談
NERDCommenterはコメント文字列の定義を巨大なifブロックでやってる
これは一つのファイルタイプでコメント文字列を切り換えられる様にするためだと思う。htmlの中のjsとか、cのアレとか
0638名無しさん@お腹いっぱい。2015/09/27(日) 02:48:04.79
下記のマッピングで"<C-\>e"の部分は何をやってるの?
cnoremap <C-o> <C-\>e(条件) ? A : B

<C-\>や<C-\>eでヘルプを見ても出てこない。
どういう意味か分りますか?
0639名無しさん@お腹いっぱい。2015/09/27(日) 03:21:36.71
:h c_CTRL-\_e
0640名無しさん@お腹いっぱい。2015/09/27(日) 10:40:17.05
ターミナルからls | vim -するのと
vimを起動してからコマンドモードで!ls | vim -するのでは
結果が異なってしまうんですが何故ですか?
プラグインを使わずに標準出力の内容を貼りたいんですがどうやるのがベストですか?
0641名無しさん@お腹いっぱい。2015/09/27(日) 10:50:57.44
>>639
ありがとうございます。
助かりました。
0642名無しさん@お腹いっぱい。2015/09/27(日) 12:41:11.16
>>640
どう異なるのか具体的にかきましょう
0643名無しさん@お腹いっぱい。2015/09/27(日) 13:06:27.05
あ、すいませんvimから実行したlsは素のlsを実行してたようでした
aliasに登録したlsは実行しないんですね
0644名無しさん@お腹いっぱい。2015/09/28(月) 21:06:41.32
インサートモードで
=/
スラッシュのあとでC-x C-fでパスを補完したいんですが補完出来ません
="/
スラッシュの前にダブルクォートを置くとできます
どうやったら=/でもパスの補完ができるようになりますか?
0645名無しさん@お腹いっぱい。2015/09/28(月) 22:53:33.21
vim はそんなに詳しくないけど、なんとなく目に止まって、
調べたら出来たから、書き込むよ。

:set isfname
と、うって、表示された値の中から = (と、それの隣の , カンマ)を取り去る。
つまり、この値はカンマ区切りだから、そこいらへんは調整する。

うちの環境だと、元の値が
isfname=@,48-57,/,.,-,_,+,,,#,$,%,~,=
で、設定するのは、
:set isfname=@,48-57,/,.,-,_,+,,,#,$,%,~

その代わり、ファイル名に = の入ったものはうまく保管できなくなるよ。
多分。
0646名無しさん@お腹いっぱい。2015/09/28(月) 23:43:30.05
設定したら出来ました
ファイル名に=を入れる使い方はないので設定して使おうと思います
ありがとうございました
0647名無しさん@お腹いっぱい。2015/09/29(火) 01:33:10.26
スレチかもしれないんですけれども、QuickRunのプラグインを導入しようとしているんですが、
環境変数の設定が上手くいっていないらしく、cpp/vcでのコンパイルができないのです。
環境変数のINCLUDE,LIB,LIBPATHには何を設定すればいいのでしょうか?

環境は
OS:windows7 64bit
使っているVS:VisualStudio 2013
0648名無しさん@お腹いっぱい。2015/09/29(火) 01:44:15.63
まさかVimがVisual studioの上で走るのか?
0649名無しさん@お腹いっぱい。2015/09/29(火) 02:04:09.61
ここUnix板のVimスレだよ
Windowsならソフトウェア板のVimスレへGo
0650名無しさん@お腹いっぱい。2015/09/29(火) 02:26:30.00
>>647
Windowsならこっちの方がわかる人いるかも
vim Part 6&#169;2ch.net
http://anago.2ch.net/test/read.cgi/software/1421121945/
0651名無しさん@お腹いっぱい。2015/09/29(火) 03:26:56.65
>>649,650
失礼しました。誘導ありがとうございます。
0652名無しさん@お腹いっぱい。2015/09/30(水) 04:12:50.93
vim が真っ白になってしまった
範囲選択などの描写もなくなってしまった
NeoBundle 'w0ng/vim-hybrid'
colorscheme hybrid

git checkout で正しい .vimrc をロードしても変わらない
.vimrc に記載されたプラグインや関数は動作しており
一見colorscheme 以外は正常に機能しているように見える

zshなどの方ではまだ異常が見つかっていない
復旧のためにどこから手を付けたら良いだろうか?
0653名無しさん@お腹いっぱい。2015/09/30(水) 04:50:55.69
組み込みのcolorscheme blue などが機能した上に
github 見つけられてないっぽい
これを解決すれば全部何とかなりそう
[neobundle] fatal: could not read Username for 'https://github.com': No such device or address
■ このスレッドは過去ログ倉庫に格納されています