1 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/03/30(月) 20:04:42.55 .net] Vim 6以降に関する話題、Part24です。 www.vim.org/ 前スレ Vim Part24 peace.2ch.net/test/read.cgi/unix/1413122189/ 関連情報は>>2-6 あたり
726 名前:名無しさん@お腹いっぱい。 [2015/10/27(火) 21:47:06.48 .net] vim emacsともに日本語できるよ vimのfや:perldoなども日本語対応
727 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/28(水) 13:16:02.43 .net] >>713 LANG=C でも set encoding=utf-8 をvimrcに書くと化けました。 ただ、vimrcに書かずにvim起動後に :set encoding=utf-8 を打つと化けなかったです。 ここじゃなくてfedoraのスレで聞いたほうが良いんですかね?
728 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/28(水) 13:48:06.39 .net] LANG=ja_JP.UTF-8
729 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/28(水) 13:56:33.41 .net] export $LANG
730 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/28(水) 13:59:48.50 .net] >>717 ,715 >>712 がその状態です。
731 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/28(水) 17:33:55.18 .net] powerline系のなにか動いてないのこれ
732 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/29(木) 01:42:51.97 .net] あれっと思ったら /フルパス/vim -N -u NONE するでござるよ。
733 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/29(木) 10:24:41.57 .net] インデントなどの連続したスペースでのカーソルの移動をsmarttab,expandtabの挿入削除と同じような挙動にする方法を教えてください
734 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/29(木) 11:04:37.73 .net] >>722 インサートモードならこの辺のキーを使う :h i_ctrl-t :h i_ctrl-d :h i_ctrl-f
735 名前:名無しさん@お腹いっぱい。 [2015/10/29(木) 11:32:35.21 .net] mapclear系コマンドを全て実行してからvimrcを読み込み直すと vimrcから読み込ませたプラグインのkeymapが効かなくなるんですがどうしてですか? vimrcを読み込み直すんだからkeymapが再設定されるはずだと思うんですがですか?
736 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/29(木) 12:24:08.83 .net] ヴィジュアルモードで範囲選択してから`>と`<を押しても範囲選択の最初と最後に飛びません
737 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/29(木) 12:30:09.10 .net] >>725 選択中範囲の先頭と末尾に飛ぶのは`>と`<じゃなくてoとOだべ `>と`<は「前回選択してた」範囲の先頭と末尾に飛ぶやつ :h v_o
738 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/29(木) 12:52:02.96 .net] >>726 そういうことでしたかありがとうございます
739 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/29(木) 17:31:30.45 .net] function s:a() return 'a' endfunction function s:b() let l:s = call s:a() endfunction s:b()を実行すると E121: 未定義の変数です: call E15: 無効な式です: call s:a() ってなります。どう書けば治りますか?
740 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/29(木) 21:12:56.45 .net] >>728 call いらんよ let s = s:a()
741 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/29(木) 22:14:41.71 .net] 代入するときだけcallつけなくていい仕様なんすね
742 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/10/29(木) 23:52:43.06 .net] >>728 そう、Visual Basic と同じだよ…って知らんかww
743 名前:名無しさん@お腹いっぱい。 [2015/11/03(火) 19:27:19.92 .net] 【質問1】 モード別にキーマップのヘルプを引く方法を伝授してください 例えばvirtual modeで複数行選択した時のShift+I 【質問2】 ヘルプを引くときにalt、ctrl、shiftにアルファベットを足したものはどうやってヘルプで引いたらで引いたら良いですか? 例えばctrl+shift+何かみたいなのとか
744 名前:名無しさん@お腹いっぱい。 [2015/11/03(火) 20:25:59.02 .net] C-v の後にC-l など入力するとそれ自体を入力できる ヘルプの種類は接尾語としてi_ v_ :h i_ :h v_
745 名前:名無しさん@お腹いっぱい。 [2015/11/03(火) 22:47:32.00 .net] できましたどうも
746 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/03(火) 23:36:38.31 .net] へえ、生の制御文字でヘルプ引けるなんて初めて知った。 今まで補完を頼りに h i_ctrl-x_ctrl-u とかしてたわ。
747 名前:名無しさん@お腹いっぱい。 [2015/11/05(木) 17:43:30.22 .net] プラグイン固有のキャッシュファイルってどこに作ればいいんですか?
748 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/05(木) 18:36:25.57 .net] /var/cache
749 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/06(金) 04:46:31.83 .net] ~/.cache
750 名前:名無しさん@お腹いっぱい。 [2015/11/06(金) 10:38:10.19 .net] BNKRGがemacs使いつつvim馬鹿にした
751 名前:名無しさん@お腹いっぱい。 [2015/11/08(日) 00:55:19.57 .net] vimgrepに渡す正規表現パターン /〜/j このjについて調べたいんですがドキュメントのどこを見ればいいのか教えてください
752 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/08(日) 02:07:33.62 .net] >>740 :h :vimgrep
753 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/08(日) 03:14:52.80 .net] vimscriptで各ウィンドウのウィンドウローカル変数を、アクティブなウィンドウを変更せずに調べることってできませんか? for window in vim.windows: __vim.command("%swincmd w" % window.number) # ←ここがクソ __if vim.eval("exists('w:unko')") == 1: ____print("this is unko window") みたいなのを実際にカレントウィンドウを変更せずに調べたいです
754 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/08(日) 07:00:15.60 .net] >>742 :h getwinvar()
755 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/08(日) 12:05:36.16 .net] >>743 ありがとう…優しいおじさん…! getwinvar(n, "unko")でループ回してうまくいきました
756 名前:名無しさん@お腹いっぱい。 [2015/11/08(日) 17:38:27.05 .net] perlとかluaとか使ってスクリプト書いた場合ってやっぱり呼び出し時にオーバーヘッドってどのくらいあるか確認したいんですが どうやって調べればいいのか教えてください
757 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/09(月) 23:28:07.60 .net] 2〜3行目を、1行目と連結したいから 1行目で2<S-j>したのに3行目が連結されません <S-j> 1<S-j> 2<S-j> これはどれも2行目しか連結しません 3<S-j>って書いたら2〜3行目を1行目に連結できましたが何故2<S-j>ではできないのでしょうか?
758 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/09(月) 23:28:26.65 .net] :profileとか
759 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/10(火) 07:31:46.25 .net] >>746 helpに答え書いてあるよ :h J
760 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/11(水) 15:12:45.02 .net] >>746 こういう直感に反した動きをするところは自分でソース書き直しちゃえばいいんじゃないの
761 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/11(水) 15:18:30.31 .net] pull request
762 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/11(水) 19:10:08.67 .net] help読んだ? 1〜3行ビジュアル選択してJすれば今の仕様も納得すると思うんだが
763 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/11(水) 19:59:19.36 .net] カウントの解釈が特別なんだな いっつもJJとかでやるから知らんかった
764 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/11(水) 21:51:35.57 .net] 1万行をいっぺんにインデントするのに時間がかかるんですがこれ使用ですか?
765 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/11(水) 23:45:22.59 .net] はい
766 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/12(木) 08:40:25.20 .net] 一万行処理するvimさんの気持ちも考えてあげろよ
767 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/12(木) 17:04:42.11 .net] :!lsみたいに外部コマンドを実行すると、シェルの画面になって何かキーを押さないとvimに戻れないんですが この画面を表示させない方法ありませんか?
768 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/12(木) 17:19:09.91 .net] >>756 Windowsだったらこれ :h :!start
769 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/12(木) 17:29:39.92 .net] つまりWindows以外だとvimprocを使うしかないってことですか?
770 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/12(木) 17:39:13.31 .net] :sil !{command} で、どうかなっと
771 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/12(木) 17:58:53.07 .net] silentってメッセージを非表示にするやつですねよ 外部プログラムに対してsilentすると、背景と文字が黒になってしまい画面がおかしくなりました vim -u NONEで試しました
772 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/12(木) 18:12:30.58 .net] >>758 :h system()
773 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/12(木) 20:43:00.83 .net] コマンドによってはエラーが買えるのでエラーが取れないsystem()はつかいたくありませんがこれで妥協します
774 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/13(金) 08:40:35.28 .net] エラーは検出できるんだよなぁ
775 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/13(金) 11:47:39.00 .net] >>762 :h system() の少し下に書いてありますよ > The resulting error code can be found in |v:shell_error|. > This function will fail in |restricted-mode|.
776 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/17(火) 17:37:32.00 .net] colorschemの見栄えを調節したいんですが 言語別に全ての色を確認できるコードはありませんか?
777 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 12:57:06.30 .net] highlight StatusLine ctermfg=1 ctermbg=2 StatusLineに定義したctermfgとctermbgの色が入れ替わって反映される 背景色が1で文字色が2になるのはどうして?
778 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 14:48:06.10 .net] >>766 その行の後ろに cterm=NONE って足してみて :h highlight-cterm
779 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 17:54:52.03 .net] E149: 残念ですが :highlight-cterm にはヘルプがありません ああデフォルトでreverseが設定されてるからか
780 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 18:59:50.48 .net] >>768 打ち間違えとるよ high〜の直前には : は無いよ
781 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/18(水) 21:36:33.97 .net] あっ、ほんとだ気づかなかった
782 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/22(日) 17:43:17.08 .net] function! s:Func() let s:ary = [1, 2] endfunction Func内でのみ有効なaryの値を外部ファイルで管理したいんですがどのような方法がありますか?
783 名前:名無しさん@お腹いっぱい。 [2015/11/22(日) 18:20:43.31 .net] みんなはバッファの切り替えとか一覧とかどうしてる? emacsならC-xC-bで一覧表示して選択だけど viだと:ls!で一覧表示で、:b[バッファ番号]で選択だけど みんな一々バッファ番号で選択してるの?
784 名前:名無しさん@お腹いっぱい。 [2015/11/22(日) 18:45:50.63 .net] helm-buffer <-> easy_buffer
785 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/22(日) 21:13:39.04 .net] >>772 私はctrlp.vimですね
786 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/22(日) 21:14:17.80 .net] >>771 ファイルの読み書きならwritefile / readfileかね
787 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/22(日) 22:19:19.23 .net] phpでいうincludeみたいなこと出来ないかなと思っていろいろsource xxx.vimみたいにしたけどだめでした ファイルへの読み書きしかなさそうですね
788 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/22(日) 23:20:08.04 .net] ubuntu32bit 14.04LTSでの話です(厳密にはwattosR9) gvimをインストールしたのですがカーソルがいきなり動かなくなったり予想外のところで動いたりとにかく不安定な動作をします gtk、gnomeどちらも試しました プラグインも一時的に無くしてます、アンインストールやpc再起動も試してますが直りません vimは問題なく動きます どなたか解決策をお教えください
789 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/23(月) 03:02:31.42 .net] >>776 phpのincludeなら:sourceだと思うが
790 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/23(月) 07:26:51.94 .net] エディタにしろブラウザにしろ、複数画面操作は 今やタブ切り替えが主流だと思うのだけど このエディタはずっとバッファ切り替えが主流なのね タブは後から出てきた文化だから、古いVimには 適当な定義キーが空いていないという事情があるのかな
791 名前:名無しさん@お腹いっぱい。 [2015/11/23(月) 10:20:12.77 .net] 考えてみるんだここまで来てわざわざ主流に合わせる必要もないでしょ、私は分割で は無く、タブを切り替える使い方を主としてる。当然同じfileを開いてる場合の話、 キーバインドはデフォルトを守る必要は無いし、上下の移動の段階から変更してる。 無いキーバインドはcommandを作って新しく割り当てる。 そういう拡張をを始めだすと、emacsかvimの二択のような所がある、emacsはすぐ壁 にぶつかって定義されてるelispを初心者に追わせていく無理ゲーになるから時間か かる、`その点'はvimのほうが楽、設定の敷居は何倍か低い。
792 名前:名無しさん@お腹いっぱい。 [2015/11/23(月) 11:06:14.64 .net] sourceじゃなくて、こういう事じゃないの。 let a=readfile("filename") let a=readfile("cat filename")
793 名前:名無しさん@お腹いっぱい。 [2015/11/23(月) 11:07:23.51 .net] ごめん二行目はsystemの間違い。
794 名前:名無しさん@お腹いっぱい。 [2015/11/23(月) 11:18:11.22 .net] >753>>755 あんちゃん、vimの気持ち考えたらそっとしとくのが一番だろ! (伝わらないだろうな。。)
795 名前:名無しさん@お腹いっぱい。 [2015/11/23(月) 11:36:49.97 .net] >>745 ここの「vim-jp.org/vimdoc-ja/eval.html 」 以下部分を読むと良いよ。 > reltimestr({time}) *reltimestr()* > 時刻値{time}を表現する文字列を返す。秒、ドット、マイクロ秒とい
796 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/23(月) 12:35:33.45 .net] オムニ補完すると1番目が選択状態になりますが 何も選択しない状態にするにはどう設定したらいいですか?
797 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/23(月) 14:39:00.61 .net] >>785 set cot-=noselect noinsertという指定項目もある
798 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/23(月) 14:39:40.86 .net] 間違えた set cot+=noselect
799 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/23(月) 14:49:57.93 .net] >>786-787 これ指定したらうまくいきました。ありがとうございました。 ヘルプ見て詳しく調べようと思ったんですが :h cotで開くoptions.txtにはmenu、menuone、longest、previewしか載っていません noselectとnoinsertはヘルプのどこを見たらいいんでしょうか?
800 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/23(月) 15:05:13.52 .net] >>788 Vimを新しめのバージョンにすれば表示されると思います。 日本語訳を見てます? 日本語訳は未だ反映されていないので :h 'completeopt'@en で参照下さい。
801 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/23(月) 15:08:22.09 .net] 日本語訳で見てました 英語のほうだと載ってました 日本語訳って常に最新だと思ってました 英語が出来ないとつらいですね。。。
802 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/23(月) 18:00:00.75 .net] csv形式の文字列をsplitしたいんですが 例えばこんな文字列 'a\,b,c' '"a,b",c' '"a\,b",c' echo split('"a\,b",c', ',') ['a,b', 'c']と2つに分かれて欲しいんですが3つに分かれます 何かよい方法ございますか?
803 名前:名無しさん@お腹いっぱい。 [2015/11/24(火) 07:29:01.12 .net] そもそも根本的なお勧めな解答をするならば 糞データのほうを直したほうが良い。
804 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/24(火) 22:39:57.17 .net] その糞データを直すためにvimを使おうってんじゃ?
805 名前:名無しさん@お腹いっぱい。 [2015/11/24(火) 23:19:13.51 .net] 糞でもなんでもない普通のcsvじゃん 手軽にデータ整形ならvimじゃなくてスクリプト書いてやった方がいいんじゃね
806 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/24(火) 23:51:10.22 .net] RFC4180にはカンマをバックスラッシュでエスケープするなんて仕様は無いってことだろな
807 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/25(水) 02:24:25.19 .net] 真面目にやるなら、パーサ使うとかだろうけど、 とりあえずなら、一旦、別の文字に退避とかすればいいんじゃない? こんな感じで、 function! MySplit(str) let vals = [] for val in split(substitute(a:str,'\\,','@@@','g'),',') let vals += [ substitute(val, '@@@','\\,','g') ] endfo return vals endf 俺の、人生初 vim function だから、出来はよくわからないけど、 とりあえず動いた。… こんなんでも嬉しいな。
808 名前:名無しさん@お腹いっぱい。 [2015/11/25(水) 10:44:48.47 .net] 結局データ直す方向か。文句は言うのに。 ちゃんと動くかは知らないし文句言われ様が短くもしないし直さない以上。 cat csv |xargs -i printf '%s\0' {} \ |sed -n 's#"[^"]*[^\],*"#&\n#; :start; s#\(".*[^\]\),\(.*"\n\)#\1\\,\2#; t start; P; D' \ |sed ':start; N; $!b start; s#["|\n]##g'|xargs --null -i echo {} cat csv |xargs -i printf '%s\0' {} \ |sed -n 's#"[^"]*[^\],*"#&\n#; :start; s#\(".*[^\]\),\(.*"\n\)#\1\\,\2#; t start; P; D' \ |sed ':start; N; $!b start; s#["|\n]##g'|xargs --null -i echo {} \ |sed 's#\([^\]\),#\1\t#g'|tr -d '\\'|awk -F '\t' '{ print $0 }'
809 名前:名無しさん@お腹いっぱい。 [2015/11/25(水) 10:53:44.28 .net] 悪い間違い。echoじゃないほうがいいかもね。
810 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/25(水) 18:00:42.81 .net] scriptからオムニ補完ってどうやって呼び出せますか?
811 名前:788 mailto:sage [2015/11/25(水) 21:17:42.49 .net] >>792-797 Vimで何でもやろうとする考えを改めます
812 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/26(木) 11:40:48.77 .net] Vimをある程度使っていくと他人が書いたこれしろって記事に興味がなくなる
813 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/26(木) 13:08:52.01 .net] >>800 趣味でやるのはそれはそれで面白いけどね
814 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/11/28(土) 12:02:50.42 .net] ~/.vimrc経由で定義したグローバル変数とグローバル関数を全て削除するやり方ありますか?
815 名前:名無しさん@お腹いっぱい。 [2015/11/30(月) 06:13:18.84 .net] 興味ない事はやらないという自己管理の徹底って重要だなと感じる。 ピンポイントでcで書けばものの数分で書けるコードを分厚い本かって 分厚さがよく似合うprogramで動す。なんだかんだで後者を選択して しまってきたが、振り返るとやはり時間の無駄だったな。 ここ崩すとどんどん崩れてく。
816 名前:名無しさん@お腹いっぱい。 [2015/12/01(火) 06:01:04.07 .net] 例えば word to word. という羅列があったとします。 eを押していくと、ピリオドの前のdで止まるはずですよね。 ところが私のvimでは、シェルスクリプトファイル(*.sh)の時だけ、 eの動作で一気にピリオドまで飛んでしまうんですけど、 私だけですか?
817 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/01(火) 07:11:50.98 .net] >>805 Windows kaoriya版でもそうなる スクリプトファイルが特別扱いされているのかな?
818 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/01(火) 08:08:09.76 .net] >>805 シェルスクリプトでは iskeyword に "." が追加されている そのため "." も「単語の一部」という扱い sh.vim を見たら "." の追加を止めさせるための設定があったよ vimrc に let g:sh_noisk = 1 と書いておけばいい :h g:sh_isk で説明を読める
819 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/01(火) 12:44:03.56 .net] neovimってそんなにいいの?
820 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/01(火) 12:52:38.09 .net] まずどこに良いって話があったのか
821 名前:名無しさん@お腹いっぱい。 [2015/12/01(火) 12:59:43.91 .net] >>806-807 報告有難うございます。 なるほど、ちゃんと意図された設定がしてあったのですね。 私は初学者ながらiskeywordのヘルプを引いて、はあ、で、どうすれば・・? で終わってしまっていました。 素晴らしい解析有難うございます! 勉強になります。
822 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/01(火) 13:02:52.01 .net] 東京に対するネオサイタマみたいな感じ
823 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/01(火) 13:41:19.48 .net] >>811 久しぶりにホッコリした
824 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/01(火) 14:45:23.84 .net] >>812 キモッ
825 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/02(水) 10:46:11.14 .net] ここUNIX板だよ
826 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/02(水) 13:54:50.65 .net] termfgとかtermbgとかcuiとguiで名前が違うのが不便