Vim Part25 [転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2015/03/30(月) 20:04:42.55http://www.vim.org/
前スレ
Vim Part24
http://peace.2ch.net/test/read.cgi/unix/1413122189/
関連情報は>>2-6あたり
0771名無しさん@お腹いっぱい。
2015/11/22(日) 21:13:39.04私はctrlp.vimですね
0772名無しさん@お腹いっぱい。
2015/11/22(日) 21:14:17.80ファイルの読み書きならwritefile / readfileかね
0773名無しさん@お腹いっぱい。
2015/11/22(日) 22:19:19.23ファイルへの読み書きしかなさそうですね
0774名無しさん@お腹いっぱい。
2015/11/22(日) 23:20:08.04gvimをインストールしたのですがカーソルがいきなり動かなくなったり予想外のところで動いたりとにかく不安定な動作をします
gtk、gnomeどちらも試しました プラグインも一時的に無くしてます、アンインストールやpc再起動も試してますが直りません
vimは問題なく動きます
どなたか解決策をお教えください
0775名無しさん@お腹いっぱい。
2015/11/23(月) 03:02:31.42phpのincludeなら:sourceだと思うが
0776名無しさん@お腹いっぱい。
2015/11/23(月) 07:26:51.94今やタブ切り替えが主流だと思うのだけど
このエディタはずっとバッファ切り替えが主流なのね
タブは後から出てきた文化だから、古いVimには
適当な定義キーが空いていないという事情があるのかな
0777名無しさん@お腹いっぱい。
2015/11/23(月) 10:20:12.77は無く、タブを切り替える使い方を主としてる。当然同じfileを開いてる場合の話、
キーバインドはデフォルトを守る必要は無いし、上下の移動の段階から変更してる。
無いキーバインドはcommandを作って新しく割り当てる。
そういう拡張をを始めだすと、emacsかvimの二択のような所がある、emacsはすぐ壁
にぶつかって定義されてるelispを初心者に追わせていく無理ゲーになるから時間か
かる、`その点'はvimのほうが楽、設定の敷居は何倍か低い。
0778名無しさん@お腹いっぱい。
2015/11/23(月) 11:06:14.64let a=readfile("filename")
let a=readfile("cat filename")
0779名無しさん@お腹いっぱい。
2015/11/23(月) 11:07:23.510780名無しさん@お腹いっぱい。
2015/11/23(月) 11:18:11.22あんちゃん、vimの気持ち考えたらそっとしとくのが一番だろ!
(伝わらないだろうな。。)
0781名無しさん@お腹いっぱい。
2015/11/23(月) 11:36:49.97ここの「http://vim-jp.org/vimdoc-ja/eval.html」 以下部分を読むと良いよ。
> reltimestr({time}) *reltimestr()*
> 時刻値{time}を表現する文字列を返す。秒、ドット、マイクロ秒とい
0782名無しさん@お腹いっぱい。
2015/11/23(月) 12:35:33.45何も選択しない状態にするにはどう設定したらいいですか?
0783名無しさん@お腹いっぱい。
2015/11/23(月) 14:39:00.61set cot-=noselect
noinsertという指定項目もある
0784名無しさん@お腹いっぱい。
2015/11/23(月) 14:39:40.86set cot+=noselect
0785名無しさん@お腹いっぱい。
2015/11/23(月) 14:49:57.93これ指定したらうまくいきました。ありがとうございました。
ヘルプ見て詳しく調べようと思ったんですが
:h cotで開くoptions.txtにはmenu、menuone、longest、previewしか載っていません
noselectとnoinsertはヘルプのどこを見たらいいんでしょうか?
0786名無しさん@お腹いっぱい。
2015/11/23(月) 15:05:13.52Vimを新しめのバージョンにすれば表示されると思います。
日本語訳を見てます?
日本語訳は未だ反映されていないので
:h 'completeopt'@en
で参照下さい。
0787名無しさん@お腹いっぱい。
2015/11/23(月) 15:08:22.09英語のほうだと載ってました
日本語訳って常に最新だと思ってました
英語が出来ないとつらいですね。。。
0788名無しさん@お腹いっぱい。
2015/11/23(月) 18:00:00.75例えばこんな文字列
'a\,b,c'
'"a,b",c'
'"a\,b",c'
echo split('"a\,b",c', ',')
['a,b', 'c']と2つに分かれて欲しいんですが3つに分かれます
何かよい方法ございますか?
0789名無しさん@お腹いっぱい。
2015/11/24(火) 07:29:01.12糞データのほうを直したほうが良い。
0790名無しさん@お腹いっぱい。
2015/11/24(火) 22:39:57.170791名無しさん@お腹いっぱい。
2015/11/24(火) 23:19:13.51手軽にデータ整形ならvimじゃなくてスクリプト書いてやった方がいいんじゃね
0792名無しさん@お腹いっぱい。
2015/11/24(火) 23:51:10.220793名無しさん@お腹いっぱい。
2015/11/25(水) 02:24:25.19とりあえずなら、一旦、別の文字に退避とかすればいいんじゃない?
こんな感じで、
function! MySplit(str)
let vals = []
for val in split(substitute(a:str,'\\,','@@@','g'),',')
let vals += [ substitute(val, '@@@','\\,','g') ]
endfo
return vals
endf
俺の、人生初 vim function だから、出来はよくわからないけど、
とりあえず動いた。…
こんなんでも嬉しいな。
0794名無しさん@お腹いっぱい。
2015/11/25(水) 10:44:48.47ちゃんと動くかは知らないし文句言われ様が短くもしないし直さない以上。
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 }'
0795名無しさん@お腹いっぱい。
2015/11/25(水) 10:53:44.280796名無しさん@お腹いっぱい。
2015/11/25(水) 18:00:42.810798名無しさん@お腹いっぱい。
2015/11/26(木) 11:40:48.770799名無しさん@お腹いっぱい。
2015/11/26(木) 13:08:52.01趣味でやるのはそれはそれで面白いけどね
0800名無しさん@お腹いっぱい。
2015/11/28(土) 12:02:50.420801名無しさん@お腹いっぱい。
2015/11/30(月) 06:13:18.84ピンポイントでcで書けばものの数分で書けるコードを分厚い本かって
分厚さがよく似合うprogramで動す。なんだかんだで後者を選択して
しまってきたが、振り返るとやはり時間の無駄だったな。
ここ崩すとどんどん崩れてく。
0802名無しさん@お腹いっぱい。
2015/12/01(火) 06:01:04.07eを押していくと、ピリオドの前のdで止まるはずですよね。
ところが私のvimでは、シェルスクリプトファイル(*.sh)の時だけ、
eの動作で一気にピリオドまで飛んでしまうんですけど、
私だけですか?
0803名無しさん@お腹いっぱい。
2015/12/01(火) 07:11:50.98Windows kaoriya版でもそうなる
スクリプトファイルが特別扱いされているのかな?
0804名無しさん@お腹いっぱい。
2015/12/01(火) 08:08:09.76シェルスクリプトでは iskeyword に "." が追加されている
そのため "." も「単語の一部」という扱い
sh.vim を見たら "." の追加を止めさせるための設定があったよ
vimrc に
let g:sh_noisk = 1
と書いておけばいい
:h g:sh_isk で説明を読める
0805名無しさん@お腹いっぱい。
2015/12/01(火) 12:44:03.560806名無しさん@お腹いっぱい。
2015/12/01(火) 12:52:38.090807名無しさん@お腹いっぱい。
2015/12/01(火) 12:59:43.91報告有難うございます。
なるほど、ちゃんと意図された設定がしてあったのですね。
私は初学者ながらiskeywordのヘルプを引いて、はあ、で、どうすれば・・?
で終わってしまっていました。
素晴らしい解析有難うございます!
勉強になります。
0808名無しさん@お腹いっぱい。
2015/12/01(火) 13:02:52.010809名無しさん@お腹いっぱい。
2015/12/01(火) 13:41:19.48久しぶりにホッコリした
0810名無しさん@お腹いっぱい。
2015/12/01(火) 14:45:23.84キモッ
0811名無しさん@お腹いっぱい。
2015/12/02(水) 10:46:11.140812名無しさん@お腹いっぱい。
2015/12/02(水) 13:54:50.650813名無しさん@お腹いっぱい。
2015/12/02(水) 15:37:26.59CSApprox でどうにかできない?(コードの再利用とか含めて)
0814名無しさん@お腹いっぱい。
2015/12/02(水) 22:42:27.22(cygwinを使ってます。ネットには繋げられないので2010年頃のものです。)
c言語のtypedef宣言のstruct構造体をtagsに入れる時のオプションは-tで良いですか?
ctags -t *.c *.h
または
ctags --c-kinds=+m *.c *.h
でいいですか
なんか出来なかったので違ってたら教えて下さいm(_ _)m
0815名無しさん@お腹いっぱい。
2015/12/03(木) 10:32:19.800816名無しさん@お腹いっぱい。
2015/12/03(木) 13:32:57.19rtpなんてリロードされれば上書きされるんだから初回だけrtpに追加するとかもダメな書き方
0817名無しさん@お腹いっぱい。
2015/12/04(金) 03:24:07.30よくわからんが
typedef struct {
int n;
} hoge_t;
こういうのならオプション何もつけなくてもhoge_tがtagsに入ってくるけどな。Exuberant ctags 5.8
manみたら-tというオプションはなかったんでそれ別のctagsかな?
0818名無しさん@お腹いっぱい。
2015/12/04(金) 17:58:09.61PERLの複数行モードみたいに
正規表現の^で各行の先頭を表す方法ってない?
0819名無しさん@お腹いっぱい。
2015/12/04(金) 19:22:06.67とあるBSD では
ctags(1) の man に( /usr/bin/ctags )
-t create tags for typedefs, structs, unions, and enums.
てあるのでイケる。
0820名無しさん@お腹いっぱい。
2015/12/04(金) 21:21:09.85ここの「--挿入--」を常時非表示にする方法を誰か知りませんか。
画像の通り、lightlineを入れているのでモード表示は既に事足りているんですよ。
0821名無しさん@お腹いっぱい。
2015/12/04(金) 21:26:02.87set noshowmode
0822名無しさん@お腹いっぱい。
2015/12/04(金) 22:40:22.60ありがとうございます!助かりました。
vimrcの適当な部分に追加しても動かなかったので一瞬困りましたが、
やけくそになって末尾に追加したら動作しました。
0823名無しさん@お腹いっぱい。
2015/12/05(土) 01:22:17.200824名無しさん@お腹いっぱい。
2015/12/05(土) 09:55:11.55分割して維持していくコストより1ファイルを管理するほうが楽だし
編集する時は検索しながら移動したほうが楽
いちいち別ファイルを開くのは苦痛
0825名無しさん@お腹いっぱい。
2015/12/05(土) 09:58:36.430826名無しさん@お腹いっぱい。
2015/12/05(土) 14:37:26.450827名無しさん@お腹いっぱい。
2015/12/06(日) 04:46:53.830828名無しさん@お腹いっぱい。
2015/12/06(日) 07:48:36.19.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.910830名無しさん@お腹いっぱい。
2015/12/06(日) 19:36:35.36neocompleteの最小限の設定のスクショが以下になります。
http://imgur.com/WH381KV
.vimrcには >>828のスクショの内容以外には何も記述していません。
お力おかしください。
よろしくお願いいたします。
0831名無しさん@お腹いっぱい。
2015/12/06(日) 22:14:59.90javascript書くならvimにバンドルされてるjavascriptcompleteじゃなくてtern for vim使えよ
0832名無しさん@お腹いっぱい。
2015/12/06(日) 22:52:27.40let g:neocomplete#sources#omni#input_patterns.javascriptの正規表現が間違っていてpopされなくなっていました
tern for vim 使ってみたいと思います
アドバイス頂き誠にありがとうございます
0833名無しさん@お腹いっぱい。
2015/12/07(月) 09:28:37.050834名無しさん@お腹いっぱい。
2015/12/08(火) 07:59:27.380835名無しさん@お腹いっぱい。
2015/12/08(火) 10:21:05.230836名無しさん@お腹いっぱい。
2015/12/09(水) 12:47:25.30これが当たり前なの?
0837名無しさん@お腹いっぱい。
2015/12/09(水) 12:49:48.080838名無しさん@お腹いっぱい。
2015/12/09(水) 13:34:10.05他人の成果物に対して信頼できないなら初めから使わないし使うべきではない
0839名無しさん@お腹いっぱい。
2015/12/09(水) 14:43:31.53重要なシステムだったら絶対見るけど
0840名無しさん@お腹いっぱい。
2015/12/09(水) 16:27:29.640841名無しさん@お腹いっぱい。
2015/12/09(水) 18:15:18.640842名無しさん@お腹いっぱい。
2015/12/09(水) 19:16:40.67自分用のプラグインはrtpにパスを追加して使ってるんですけど
sourceでvimrcを読み込みなおしてもmyplugin1のスクリプトを再読込してくれません
リローダブルにしたいんですがどうしたらプラグインのスクリプトを再込みできますか?
0843名無しさん@お腹いっぱい。
2015/12/10(木) 00:24:12.140844名無しさん@お腹いっぱい。
2015/12/10(木) 13:01:09.59俺も
0845名無しさん@お腹いっぱい。
2015/12/10(木) 14:01:25.290846名無しさん@お腹いっぱい。
2015/12/10(木) 17:15:46.500847名無しさん@お腹いっぱい。
2015/12/10(木) 17:17:23.440848名無しさん@お腹いっぱい。
2015/12/11(金) 12:31:56.35http://lingr.com/room/vim/archives/2015/11/29#message-22779481
0849名無しさん@お腹いっぱい。
2015/12/12(土) 20:09:27.77なんか対策ないかな
0850名無しさん@お腹いっぱい。
2015/12/12(土) 20:44:47.66そもそも、そこいらのファイル群って滅多にいじらないと思うが
0851名無しさん@お腹いっぱい。
2015/12/12(土) 21:23:11.26vim再起動するとなるとEnterに指を伸ばすのが面倒くさい
0852名無しさん@お腹いっぱい。
2015/12/12(土) 23:23:16.94if exists('g:loaded_XXX')
finish
endif
let g:loaded_XXX = 1
っておまじないあるじゃん
改造中とか自分で書くのは完成するまで消しておけば良いんじゃないの
0853名無しさん@お腹いっぱい。
2015/12/13(日) 00:23:40.46filetype plugin onをvimrcに書いたら$VIMRUNTIME/ftpluginの中身も読み込まれた
どうやら一度しかfiletype plugin onが実行されてなかったようだ
0854名無しさん@お腹いっぱい。
2015/12/13(日) 00:54:17.27set all&で上書きされてた
これやめたほうがいいな
0855名無しさん@お腹いっぱい。
2015/12/13(日) 01:57:26.93これvimrcに書いても意味ないんです
~/.vim/after/の中で設定しないとダメなオプションです
一応ご報告まで
0856名無しさん@お腹いっぱい。
2015/12/13(日) 13:28:56.710857名無しさん@お腹いっぱい。
2015/12/13(日) 16:20:41.44別の行でabcって打ってからC-nするとabcdeって補完されてしまうんですが
Cが大文字として補完されてないんですが
abcってcを小文字で打ってもabCdeと補完されるようになる方法を伝授してください
0858名無しさん@お腹いっぱい。
2015/12/13(日) 22:57:03.71かな?デフォルトではオフのはずだが。
0859名無しさん@お腹いっぱい。
2015/12/13(日) 23:11:32.31はずしたらうまくいきました
0860名無しさん@お腹いっぱい。
2015/12/14(月) 01:05:58.19windowsの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せてhtmlファイルにを出力することです。
何の質問をしているのかよくわからない
画面の色を反転させたいのか、バッファの文字列を変換したいのか
WindowsのVimの質問はこっちへ
vim Part 6?2ch.net
http://potato.2ch.net/test/read.cgi/software/1421121945/
0862名無しさん@お腹いっぱい。
2015/12/14(月) 21:52:27.98function! 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とりあえず
:h vimgrep
:h command
でマニュアルを見て自分がやりたいことに適しているのか確認してちょうだい
0864860
2015/12/14(月) 23:30:16.69やりたいことは、印刷に関することです。
windowsだとなぜか文字化けして印刷されます。
HTMLファイルに変換して印刷すると成功します。
そこで
vimのデフォルトの画面の色を反転させて、テキストファイルを
HTMLファイルにするコマンドを作りたいのです。つまり
背景色が白で文字が黒のHTMLファイルを作成するコマンドを
つくりたいのです。どなたかご教授ねがいませんか?
0865名無しさん@お腹いっぱい。
2015/12/14(月) 23:49:24.710866名無しさん@お腹いっぱい。
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.440869名無しさん@お腹いっぱい。
2015/12/16(水) 22:26:19.27set 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新しいファイル名が編集できる状態になります
undoできる状態もそのまま引き継がれます
これと同じことをvimでやりたいんですが出来ません
vimの場合だと:w betumei.txtで保存しても、現在のファイルのままになりますが
:sav betumei.txtなら新しいファイル名に切り替わります
しかし:lsで確認すると古いファイルが裏で開いたままになってます
$ vim base.txt
:save other.txt
別名でファイルに保存したときに、base.txtを閉じてother.txtを
:lsするとbase.txtが残ってるんですが良い方法ありませんか?
■ このスレッドは過去ログ倉庫に格納されています