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

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
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あたり
0824名無しさん@お腹いっぱい。2015/12/05(土) 09:55:11.55
分割なんてしないよ
分割して維持していくコストより1ファイルを管理するほうが楽だし
編集する時は検索しながら移動したほうが楽
いちいち別ファイルを開くのは苦痛
0825名無しさん@お腹いっぱい。2015/12/05(土) 09:58:36.43
してないなあ
0826名無しさん@お腹いっぱい。2015/12/05(土) 14:37:26.45
なんとなくプラグイン系だけ分けてるけどあまり意味を感じない
0827名無しさん@お腹いっぱい。2015/12/06(日) 04:46:53.83
折り畳めるし
0828名無しさん@お腹いっぱい。2015/12/06(日) 07:48:36.19
neocompleteで.jsを自動popする方法を教えて下さい。
.vimrc内で
autocmd Filetype javascript setlocal omnifunc=javascriptcomplete#CompleteJS
を設定しても、vim標準のオムニ補完がpopしないのはなぜでしょうか。
<C-x><C-o>を呼ぶことで、標準オムニがpopすることは確認しています。
また、autocmdで設定していなくても、htmlおよびcssは自動的にpopupされます。
vimのシステム設定ファイルにはjavascriptcomplete.vimが入っていることは確認済みです。

以下.vimrcのスクショです。
http://imgur.com/vVp5jhs
よろしくお願い致します。
0829名無しさん@お腹いっぱい。2015/12/06(日) 09:19:41.91
そういう時は最小限のvimrcを貼ってもらいたいね
0830名無しさん@お腹いっぱい。2015/12/06(日) 19:36:35.36
申し訳ございません。

neocompleteの最小限の設定のスクショが以下になります。
http://imgur.com/WH381KV

.vimrcには >>828のスクショの内容以外には何も記述していません。

お力おかしください。
よろしくお願いいたします。
0831名無しさん@お腹いっぱい。2015/12/06(日) 22:14:59.90
自動的にオムニ補完を出したいならg:neocomplete#sources#omni#input_patternsを設定してないからとか
javascript書くならvimにバンドルされてるjavascriptcompleteじゃなくてtern for vim使えよ
0832名無しさん@お腹いっぱい。2015/12/06(日) 22:52:27.40
>>831

let g:neocomplete#sources#omni#input_patterns.javascriptの正規表現が間違っていてpopされなくなっていました
tern for vim 使ってみたいと思います

アドバイス頂き誠にありがとうございます
0833名無しさん@お腹いっぱい。2015/12/07(月) 09:28:37.05
折り畳みって本当に便利だよなあ
0834名無しさん@お腹いっぱい。2015/12/08(火) 07:59:27.38
VimとPython3の相性悪すぎ
0835名無しさん@お腹いっぱい。2015/12/08(火) 10:21:05.23
なんで?
0836名無しさん@お腹いっぱい。2015/12/09(水) 12:47:25.30
Vim Pluginの更新内容をチェックしてからバージョンアップする人がいるそうだけど
これが当たり前なの?
0837名無しさん@お腹いっぱい。2015/12/09(水) 12:49:48.08
changelog見るかどうかは環境とその人次第だろ
0838名無しさん@お腹いっぱい。2015/12/09(水) 13:34:10.05
したことない
他人の成果物に対して信頼できないなら初めから使わないし使うべきではない
0839名無しさん@お腹いっぱい。2015/12/09(水) 14:43:31.53
どうせvimなんて使うの自分だしな
重要なシステムだったら絶対見るけど
0840名無しさん@お腹いっぱい。2015/12/09(水) 16:27:29.64
枯れて更新あんまりしないの選んでる
0841名無しさん@お腹いっぱい。2015/12/09(水) 18:15:18.64
頭にneoって付いたら入れない
0842名無しさん@お腹いっぱい。2015/12/09(水) 19:16:40.67
rtp+=~/myplugin1

自分用のプラグインはrtpにパスを追加して使ってるんですけど
sourceでvimrcを読み込みなおしてもmyplugin1のスクリプトを再読込してくれません
リローダブルにしたいんですがどうしたらプラグインのスクリプトを再込みできますか?
0843名無しさん@お腹いっぱい。2015/12/10(木) 00:24:12.14
7.4.963来てますね。
0844名無しさん@お腹いっぱい。2015/12/10(木) 13:01:09.59
>>841
俺も
0845名無しさん@お腹いっぱい。2015/12/10(木) 14:01:25.29
neobundle
0846名無しさん@お腹いっぱい。2015/12/10(木) 17:15:46.50
ネオサイタマ
0847名無しさん@お腹いっぱい。2015/12/10(木) 17:17:23.44
お尻にneoって付いたら入れない
0848名無しさん@お腹いっぱい。2015/12/11(金) 12:31:56.35
プラグインが原因でも変えない奴って信者か何かですか?
http://lingr.com/room/vim/archives/2015/11/29#message-22779481
0849名無しさん@お腹いっぱい。2015/12/12(土) 20:09:27.77
$VIMRUNTIME/ftplugin/の中のファイルってvim起動時にしか読み込まれないのが不便
なんか対策ないかな
0850名無しさん@お腹いっぱい。2015/12/12(土) 20:44:47.66
Vimを再起動するのがそんなに面倒か?
そもそも、そこいらのファイル群って滅多にいじらないと思うが
0851名無しさん@お腹いっぱい。2015/12/12(土) 21:23:11.26
,rでリロードできるようにしてる
vim再起動するとなるとEnterに指を伸ばすのが面倒くさい
0852名無しさん@お腹いっぱい。2015/12/12(土) 23:23:16.94
どのプラグインも先頭に

if exists('g:loaded_XXX')
finish
endif
let g:loaded_XXX = 1

っておまじないあるじゃん
改造中とか自分で書くのは完成するまで消しておけば良いんじゃないの
0853名無しさん@お腹いっぱい。2015/12/13(日) 00:23:40.46
そういうセオリーがあったのか

filetype plugin onをvimrcに書いたら$VIMRUNTIME/ftpluginの中身も読み込まれた
どうやら一度しかfiletype plugin onが実行されてなかったようだ
0854名無しさん@お腹いっぱい。2015/12/13(日) 00:54:17.27
あ、うそ
set all&で上書きされてた
これやめたほうがいいな
0855名無しさん@お腹いっぱい。2015/12/13(日) 01:57:26.93
昔このスレでset formatoptionsを教えていただきましたが
これvimrcに書いても意味ないんです
~/.vim/after/の中で設定しないとダメなオプションです

一応ご報告まで
0856名無しさん@お腹いっぱい。2015/12/13(日) 13:28:56.71
.vimrcだけでも最後に呼んでくれればなぁと、何度も思った。
0857名無しさん@お腹いっぱい。2015/12/13(日) 16:20:41.44
バッファにabCdeって文字列があって
別の行でabcって打ってからC-nするとabcdeって補完されてしまうんですが
Cが大文字として補完されてないんですが
abcってcを小文字で打ってもabCdeと補完されるようになる方法を伝授してください
0858名無しさん@お腹いっぱい。2015/12/13(日) 22:57:03.71
:set noinfercase
かな?デフォルトではオフのはずだが。
0859名無しさん@お腹いっぱい。2015/12/13(日) 23:11:32.31
ブログからコピペしてた中にset infercaseがありました
はずしたらうまくいきました
0860名無しさん@お腹いっぱい。2015/12/14(月) 01:05:58.19
質問させてください。やりたいことは以下です。

windowsのvimで、テキストファイルをデフォルトの白黒の色を反転さ
せてhtmlファイルにを出力することです。

雰囲気は下のような感じだと思っているのですが、まったくvimの
スクリプト言語の知識がないのでご教授できないでしょうか?
特に白黒反転させる置換の処理がどうすれば効率が良いのか
わかりません。よろしくお願いします。


function WhiteHtmlFunc(kind, filepath) abort
execute 'vimTOhtml' filepath

execute 'vimgrep1' #ffffff #aaaaaa
execute 'vimgrep1' #aaaaaa #000000
execute 'vimgrep1' #000000 #ffffff
execute 'write' filepath.html
endfunction

command -nargs=+ -complete=file WhiteHtml call WhiteHtmlFunc(<f-args>)
0861名無しさん@そうだ選挙に行こう2015/12/14(月) 10:53:41.69
>windowsのvimで、テキストファイルをデフォルトの白黒の色を反転さ
せてhtmlファイルにを出力することです。

何の質問をしているのかよくわからない
画面の色を反転させたいのか、バッファの文字列を変換したいのか

WindowsのVimの質問はこっちへ
vim Part 6?2ch.net
http://potato.2ch.net/test/read.cgi/software/1421121945/
0862名無しさん@お腹いっぱい。2015/12/14(月) 21:52:27.98
kindの意味がわからんがこんな感じじゃねえの?
function! WhiteHtmlFunc(kind, filepath) abort
exe "e" a:filepath
TOhtml
%s/#ffffff/#aaaaaa/ge
%s/#000000/#ffffff/ge
%s/#aaaaaa/#000000/ge
w
endfunction
0863名無しさん@お腹いっぱい。2015/12/14(月) 23:06:59.44
>>860
とりあえず
:h vimgrep
:h command
でマニュアルを見て自分がやりたいことに適しているのか確認してちょうだい
08648602015/12/14(月) 23:30:16.69
みなさんありがとうございます
やりたいことは、印刷に関することです。
windowsだとなぜか文字化けして印刷されます。

HTMLファイルに変換して印刷すると成功します。

そこで
vimのデフォルトの画面の色を反転させて、テキストファイルを
HTMLファイルにするコマンドを作りたいのです。つまり
背景色が白で文字が黒のHTMLファイルを作成するコマンドを
つくりたいのです。どなたかご教授ねがいませんか?
0865名無しさん@お腹いっぱい。2015/12/14(月) 23:49:24.71
Windows特有の話はソフトウェア板池つってんだろ!
0866名無しさん@お腹いっぱい。2015/12/15(火) 00:03:52.78
質問の意味がまったく分かんない。

>テキストファイルをHTMLファイルにするコマンドを作りたい

拡張子を.txtから.htmlにリネームスレばいいだけの話なのか、1行毎にdivとかpで要素を付けてhtmlにしたいって話なのか意味不明

>背景色が白で文字が黒のHTMLファイルを作成するコマンドをつくりたいのです。

それはCSSで見栄えを定義したいというVimとまったく関係ない話なのか

ここUnix板だから
WindowsでVim使ってるなら↓のスレで印刷時の文字化けについて質問してきてね
http://potato.2ch.net/test/read.cgi/software/1421121945/
0867名無しさん@お腹いっぱい。2015/12/15(火) 03:04:11.44
白背景カラースキームにしてからTOHtmlじゃあかんの?
08688602015/12/16(水) 13:16:13.16
>>867
それに近いです!それを1つのコマンドにするにはどうすれば
よのでしょうか?
0869名無しさん@お腹いっぱい。2015/12/16(水) 22:26:19.27
867氏じゃないけど

set background=light
colorscheme default
TOhtml

この3つで最低限のことができる。
印刷用なら、colorscheme は morning とかもいいよ
あと TOhtml はいろいろオプションがある
行番号を印刷したくない場合は
set nonu
することもいいけど
let html_number_lines=0
とかでも行番号を抑制できる

なにもかも pre で囲むことを抑止したい場合は
let html_no_pre=1
にする。

自力で色具合を変えたい場合は
let html_use_css=1
にしていると便利。
0870名無しさん@お腹いっぱい。2015/12/17(木) 11:47:28.42
WindowsやMacにある一般的なGUIのエディタだとファイルを別名で上書きすると
新しいファイル名が編集できる状態になります
undoできる状態もそのまま引き継がれます
これと同じことをvimでやりたいんですが出来ません

vimの場合だと:w betumei.txtで保存しても、現在のファイルのままになりますが
:sav betumei.txtなら新しいファイル名に切り替わります
しかし:lsで確認すると古いファイルが裏で開いたままになってます
$ vim base.txt
:save other.txt
別名でファイルに保存したときに、base.txtを閉じてother.txtを
:lsするとbase.txtが残ってるんですが良い方法ありませんか?
0871名無しさん@お腹いっぱい。2015/12/17(木) 14:18:05.11
>>870
:sav other.txt | bw #
0872名無しさん@お腹いっぱい。2015/12/17(木) 21:07:13.78
ありがとうございます
0873名無しさん@お腹いっぱい。2015/12/18(金) 09:41:49.27
nmapでキー<C-/>と<C-,>に割り当てたいんですが書いても効きません
どう書けば割り当てられますか?
0874名無しさん@お腹いっぱい。2015/12/18(金) 16:55:34.12
ググれ
http://qiita.com/castaneai/items/42e917d1fdf6d83b717c
http://stackoverflow.com/questions/8033779/is-there-a-way-to-map-ctrl-period-and-ctrl-comma-in-vim
0875名無しさん@お腹いっぱい。2015/12/20(日) 19:28:19.79
pattern.txtに正規表現で#というパターンがあるんですがこれはどう使うんですか?
/#としても、文字列の#を検索してしまいます
0876名無しさん@お腹いっぱい。2015/12/20(日) 20:07:35.28
>>875
:help /ordinary-atom
これが一覧
:help /\%#
探してるのはこれかな。
0877名無しさん@お腹いっぱい。2015/12/20(日) 20:10:21.54
>>875
ノーマルモードの話なら、
* がカーソル下の単語を順方向に探して、
# がそれの逆向き
:help #
0878名無しさん@お腹いっぱい。2015/12/20(日) 23:22:26.42
>>876
>>877
そうです:help #のほうです
単語で検索した後に*と#を押すとnとNで検索方向が変わりました
不便なので使うのやめます
0879名無しさん@お腹いっぱい。2015/12/21(月) 11:16:22.00
ノーマルモードの時に、行末でaを押すと、空白みたいなのが挿入されますが
何も入力しないままインサートモードを抜けてノーマルモードに戻ると空白みたいなのが消えます
何も入力してなくても空白みたいなのが消えないようにする方法ありますか?
0880名無しさん@お腹いっぱい。2015/12/21(月) 12:10:26.22
>>879
それはカーソルの表示かな。
a はインサートモードにはいる位置をズラすだけで勝手に文字を入力したりしない。
0881名無しさん@お腹いっぱい。2015/12/21(月) 15:46:19.44
インサートモードの時に現在位置の文字を:asciiで調べたらNilでした
0882名無しさん@お腹いっぱい。2015/12/21(月) 19:59:45.24
>>881
その Nil が NUL だとすれば
改行のみの行でやればそう表示される。なぜなら Vim の内部表現では行の最後は Null 文字となるから。これに対処するため次のような実装になっている。
:help NL-used-for-Nul

ところであなたはなにがいいたいのか。
08838822015/12/21(月) 20:16:38.09
あ、なるほど。カーソル下に文字があるばあいと表示が違う理由か。
みたままで、カーソル下に文字がない状態を NUL と表現している。
881 はちょっと表現が足りていない。内部実装的にカーソル下の文字が Null 文字なのは空行(文字を含まない)のときだけということ。
0884名無しさん@お腹いっぱい。2015/12/21(月) 22:01:37.08
ああああこんがらがってきたとりあえずヘルプ読んで学習します
0885名無しさん@お腹いっぱい。2015/12/22(火) 11:39:09.14
現在位置の文字とか言いだすからややこしくなったけど
けっきょくは>>880ってことだろう
0886名無しさん@お腹いっぱい。2015/12/22(火) 12:45:27.41
insert modeでCtrl-hしても文字が消えないのは何故ですか?
vim -u NONEで試しました。
:fixするとできるようになりますし
何故か:verbose fixしても効きます(これでfixが設定される理由がわかりません)
0887名無しさん@お腹いっぱい。2015/12/22(火) 13:45:05.34
:help :fixdel
:set t_kb?
:set t_kD?
0888名無しさん@お腹いっぱい。2015/12/22(火) 23:17:24.44
unixではおまじないでvimrcに:fixを書いたほうがいいかも知れないですね
0889名無しさん@お腹いっぱい。2015/12/23(水) 11:38:27.60
vim-jpのleftaやrightbの説明では
これらのオプションをを使うとsplitbelowやsplitrightを上書きすると書いてあるので
オプションが上書きされるのかと思ったんですが上書きではなくleftaやrightbを優先させるって認識であってますか?
本家の方では上書きの部分がoverrulesって書いてあったので上書きではないような・・・
0890名無しさん@お腹いっぱい。2015/12/23(水) 17:21:00.20
>>889
vim-jpに報告していただけると幸いです
0891名無しさん@お腹いっぱい。2015/12/23(水) 18:10:12.00
挿入モードに入った時のカーソル位置ってどうやって取得できますか?
0892名無しさん@お腹いっぱい。2015/12/24(木) 08:14:55.15
InsertEnter と pos() 組み合わせればいけるかな(試してない)
0893名無しさん@お腹いっぱい。2015/12/24(木) 18:38:44.12
できましたありがとう
08948912015/12/25(金) 00:00:16.92
挿入モードで<C-O>hなどの<C-O>で任意のコマンドを実行すると、BSで文字を削除できなくなりました。
<C-O>hする前だとBSで挿入開始位置まで削除できます。
<C-O>hすると挿入開始位置が再設定されるんでしょうか?
0895名無しさん@お腹いっぱい。2015/12/25(金) 00:42:54.51
>>894
:h i_CTRL-O
上記のヘルプ周辺を読んだ感じでは一度ノーマルモードにして実行し、再度インサートモードにはいるように読める。
:h 'backspace'
まあ :set backspace=start で再現しなくなるしそういうことだと思う。
08968912015/12/25(金) 10:32:11.57
set backspace=startは挿入開始位置でもBSできるのでこれは都合が悪いです
挿入開始位置を変更せず削除したりカーソル移動がしたいんですが、何か方法ございませんか?
0897名無しさん@お腹いっぱい。2015/12/27(日) 00:40:22.59
gvimで「noremap j gj」と設定しいます.
ところが実際にjを押して移動すると,真下ではなく斜め下に移動してしまいます.
表示行単位で移動し,なおかつjで真下に移動するには
どのように設定すればよいでしょうか.
0898名無しさん@お腹いっぱい。2015/12/27(日) 02:36:08.45
>>897
それはカーソル下が行の終わり以降の時に斜めに移動するという意味?
それなら :h 'virtualedit' かな
0899名無しさん@お腹いっぱい。2015/12/27(日) 10:19:21.71
Vim Script専用スレってないんですか?
Emacsのスクリプトはプログラム板にあるのでプログラム板に立てていいですか?
0900名無しさん@お腹いっぱい。2015/12/27(日) 10:34:40.14
>>898
例えば,

01234
56789
abcde

という3行のコードがあるとします.今の状態では,カーソルが0にある時に
jを押すと7にカーソルが移動します.もう一度jを押すとeに移動します.
また,4にカーソルがある時にjを押すとbに移動します.
表示行単位での移動を可能にしたまま,0にカーソルがある時にjを押すと5に,
4にカーソルがある時にjを押すと9にカーソルが移動するようにしたいのですが.
0901名無しさん@お腹いっぱい。2015/12/27(日) 15:10:48.23
Vim6スクリプトお勉強スレ
http://www.bookshelf.jp/2ch/unix/1008558940.html

Vim script 1
http://toro.2ch.net/test/read.cgi/tech/1319395708/

>>899
過去すれ
0902名無しさん@お腹いっぱい。2015/12/27(日) 16:28:28.61
>>900
すごくおもしろいです
0903名無しさん@お腹いっぱい。2016/01/07(木) 15:40:33.99
ファイル窓からエディタ起動する時に
内蔵ビュアから起動時の引数に $F とだけ指定した時と同じように
ファイル名だけ渡すことはできませんか
0904名無しさん@お腹いっぱい。2016/01/07(木) 23:26:46.52
未保存のファイルが複数ある時に、
次回起動時に、今と同じように
編集中の状態を再現する方法はありませんか?

セッションの保存と復元、とスワップファイルの処理でできそうだけれど、
うまくできていません。

それか、オートセーブ+セッションの自動保存で、ファイルの
保存の代わりに、VCS使うとかなのでしょうか。
0905名無しさん@お腹いっぱい。2016/01/11(月) 14:45:58.45
tabpreviousやtabnextなどのタブ機能をはじめて知ったんですが
この上に現れるタブ行が黒、灰色、アンダーバーなどで見づらいので
色設定をしたいのですが、できないでしょうか?
0906名無しさん@お腹いっぱい。2016/01/11(月) 17:31:34.96
>>905
:h hi-TabLine
0907名無しさん@お腹いっぱい。2016/01/13(水) 12:48:35.78
モードラインでカーソル位置を指定する方法はないでしょうか?
0908名無しさん@お腹いっぱい。2016/01/13(水) 21:02:51.43
>>907
できない。
:h modeline-version の最後の方に、何かしたいなら autocmd 使え、とある
0909名無しさん@お腹いっぱい。2016/01/13(水) 23:59:12.64
>>906
ありがとう
タブ最高だわ
0910名無しさん@お腹いっぱい。2016/01/14(木) 08:45:57.35
補完のポップアップメニューの文字の色を変える方法ってある?
デフォルトは黒なんだけど、ターミナルを半透明にしてると見づらいので色を白に変えたい
ポップアップメニューの色を変える設定はわかったんだけど、その中の文字の色を変える設定がわからんわ
0911名無しさん@お腹いっぱい。2016/01/14(木) 14:40:20.97
>>908
回答ありがとうございます
help にできない理由も書いてあり勉強になりました
0912名無しさん@お腹いっぱい。2016/01/14(木) 18:29:27.94
>>910 hi Pmenu ctermbg=0 ctermfg=色
0913名無しさん@お腹いっぱい。2016/01/14(木) 19:59:59.03
>>912
ありがとう、文字を黒くすることが出来て見やすくなったわ
0914名無しさん@お腹いっぱい。2016/01/14(木) 20:00:55.63
文字を白くの間違えだったわ(´・ω・`)
0915名無しさん@お腹いっぱい。2016/01/15(金) 08:01:33.19
>>910
:h hi-Pmenu
http://kaworu.jpn.org/kaworu/2007-06-26-1.php
0916名無しさん@お腹いっぱい。2016/01/15(金) 08:02:15.74
あ、更新してなかった。すまぬ
0917名無しさん@お腹いっぱい。2016/01/19(火) 07:59:42.47
neobundleでlightline入れたんだけど
 FileType Auto commands for
0918名無しさん@お腹いっぱい。2016/01/19(火) 08:03:00.10
の処理中にエラーが検出されました:
E117: 未知の関数です: lightline#update
ってエラーが出て困ってる
NeoBundle 'itchyny/lightline.vim'
NeoBundleSource
_gvimrcに書くのって間違ってる?
他のプラグインは問題ないんだけど
0919名無しさん@お腹いっぱい。2016/01/19(火) 09:47:38.08
全部vimrcに書くんやで。だからNeoBundleSourceは書いておくようなものじゃない
GUI版だけで使うかどうかはif has('gui_running')とかオプションで切り分ける→:h neobundle-options-disabled
ちなみにlightlineはCUIでも使える
0920名無しさん@お腹いっぱい。2016/01/19(火) 09:51:41.90
:h neobundle-options-guiってのもあったな。すまん
0921名無しさん@お腹いっぱい。2016/01/19(火) 12:38:23.93
>>919
できたよありがとう!
まさかvimrcに書くなんて思わなかったよ
NeoBundleSource書かないとなぜか有効にならないしおかしいナとは思ってたけど
vimrcに移すだけでうまく行くとは
0922名無しさん@お腹いっぱい。2016/01/20(水) 20:38:37.62
C言語のソースコードでboostなどをインクルードしてるとCtrl-Pでの補完に時間がかかって嫌なんですが
補完の探索候補で除外設定とかできないでしょうか?
0923名無しさん@お腹いっぱい。2016/01/20(水) 21:23:56.00
:set path?
で現在のディレクトリを確認したあと

:set path-=hoge
で要らないディレクトリを削除

:set verbose path?
で自動でセットしてる犯人特定

設定書くならこいいうの

augroup vimrc
autocmd!
autocmd FileType cpp setlocal path=.,/usr/include,/usr/local/include,/foo/bar
augroup END
レス数が900を超えています。1000を超えると表示できなくなるよ。