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あたり
0665名無しさん@お腹いっぱい。
2015/10/05(月) 13:37:14.990666名無しさん@お腹いっぱい。
2015/10/05(月) 20:19:27.49下記のvimのソースで何がおかしいのだろうか。
if exists("b:current_syntax")
finish
endif
let b:current_syntax = "ahk"
syntax include syntax/perl.vim
全くincludeされていないのだが。
0667名無しさん@お腹いっぱい。
2015/10/06(火) 00:14:44.24おもしろい喋り方ですね
0668名無しさん@お腹いっぱい。
2015/10/06(火) 01:26:03.36タブを切り替えるだけでファイルオープンされるのはなんでですか?
あと:wすると3回ファイルが開かれるんですが何故ですか?
ファイル監視ツールのログでたまたま気づきました
0669名無しさん@お腹いっぱい。
2015/10/06(火) 01:46:31.37それはデフォルトの挙動じゃない
エスパーすると最初のは :au TabEnter を、2つめのは :au BufWritePost に何か設定されているのでは
つか日本語でおk
0670名無しさん@お腹いっぱい。
2015/10/06(火) 01:53:19.44syntax/perl.vim の最初でこうなってるからじゃないのかね?
if exists("b:current_syntax")
finish
endif
0671名無しさん@お腹いっぱい。
2015/10/06(火) 02:00:20.99たぶんnetrwだよな。。。わかんねえけど :ls! してそのバッファ番号確認して :b <bufnr> とかかな
もし目的のディレクトリがなければ :Ex /path/to/dir とか
0672名無しさん@お腹いっぱい。
2015/10/06(火) 02:16:33.160673名無しさん@お腹いっぱい。
2015/10/06(火) 08:56:58.220674名無しさん@お腹いっぱい。
2015/10/06(火) 09:55:40.45どの入力でインサートモードに入りたいか自動で判断しろってか?
iかaかsかcかrかoかIかAかSかCかRかO...
0675名無しさん@お腹いっぱい。
2015/10/06(火) 10:04:36.54ただ、オススメはしない
インサートモードってもいろいろあるし
0676名無しさん@お腹いっぱい。
2015/10/06(火) 10:52:27.030677名無しさん@お腹いっぱい。
2015/10/06(火) 11:13:32.31Bram が必要ないと思ってるからじゃね
つかそんなん必要か?再起動したらええがな
0678名無しさん@お腹いっぱい。
2015/10/08(木) 16:50:50.35var a = 1 +
2 +
3 +
4;
これを範囲選択して=押すとインデントが下のようにおかしくなりました。
_は半角スペースと読み替えてください。
var a = 1 +
__2 +
____3 +
______4;
このプラグインと似た代替のプラグインってありませんか?
0679名無しさん@お腹いっぱい。
2015/10/08(木) 17:31:04.110680名無しさん@お腹いっぱい。
2015/10/08(木) 19:48:41.97お願いします
0681名無しさん@お腹いっぱい。
2015/10/08(木) 21:22:31.18Vimのバージョンを教えて
0682名無しさん@お腹いっぱい。
2015/10/08(木) 22:22:25.160683名無しさん@お腹いっぱい。
2015/10/14(水) 07:34:01.690684名無しさん@お腹いっぱい。
2015/10/14(水) 22:39:29.54今は ln -s RUNTIME/indent/xml.vim ~/.vim/after/indent/svg.vim みたいにしてます
0685名無しさん@お腹いっぱい。
2015/10/19(月) 23:52:03.74let g:retlist = []
perl <<EOB
VIM::Eval("call('add',[g:retlist,'poi!'])") # とてもうまくいく
EOB
echo g:retlist
let g:retdict = {}
perl <<EOB
VIM::Eval("call('extend',[g:retdict,{'hi':'hihihi!!!'}])") # 値は返るがE731: using Dictionary as a String が発生する。
EOB
echo g:retdict
受け方にこだわりはないので別にいいんだけど、ちょっと気になったので落書き御免
0686名無しさん@お腹いっぱい。
2015/10/22(木) 02:28:56.28↑ ↑ ↑ ↑ ↑ ↑
0687名無しさん@お腹いっぱい。
2015/10/23(金) 19:19:40.38vim *.txt -pみたいなことをvim起動中にやりたいです
0688名無しさん@お腹いっぱい。
2015/10/23(金) 19:45:48.98com! -nargs=* -complete=file TABE :exe join(map(split(<q-args>),'"tabe ".v:val' ),'|')
どっかにいいプラグインがあるんじゃねーかなw
0689名無しさん@お腹いっぱい。
2015/10/23(金) 19:56:10.75vim -p a.txt b.txt
:wqa
これでa.txtもb.txtも存在しないんですが何故ですか?
個別に:wqしていったら保存されてますが面倒くさいのですが
0690名無しさん@お腹いっぱい。
2015/10/23(金) 21:07:52.74:n *.txt
:tab all
対象ファイルが10個超える場合は先に
:set tpm=999
ってやって
0691名無しさん@お腹いっぱい。
2015/10/23(金) 21:14:00.72横からだけど、引数リストでいけるのね。ためになりました。
0692名無しさん@お腹いっぱい。
2015/10/23(金) 21:33:45.08スクロールしないで最後の行が画面一番下になったところで止まるようにする方法あったら教えて下さい
Ctrl-Dで送ったときはそこで止まってくれるんですが
0693名無しさん@お腹いっぱい。
2015/10/23(金) 21:40:51.84あー!ってなったら zb と入力すればいい
0694名無しさん@お腹いっぱい。
2015/10/23(金) 22:55:50.452343,2344c2343,2345
< ? ((curwin->w_topline >= curbuf->b_ml.ml_line_count - p_so)
< && curwin->w_botline > curbuf->b_ml.ml_line_count)
---
> //? ((curwin->w_topline >= curbuf->b_ml.ml_line_count - p_so)
> ? ((curwin->w_topline >= curbuf->b_ml.ml_line_count - curwin->w_height * 2 + 4))
> // && curwin->w_botline > curbuf->b_ml.ml_line_count)
2353a2355,2356
> if (dir == FORWARD)
> halfpage (1, curwin->w_height - 2);
0695名無しさん@お腹いっぱい。
2015/10/23(金) 23:32:04.93例外みたいなことでこの番号が変わってしまうようなことってありますか?
0696名無しさん@お腹いっぱい。
2015/10/24(土) 15:48:47.95変わらないんじゃないかな
試してないけど、bwしてから開き直したら新たな番号が振られると思う
0697名無しさん@お腹いっぱい。
2015/10/24(土) 21:40:13.98前やってた気がしたけどぐぐっても見つからない……
0698名無しさん@お腹いっぱい。
2015/10/24(土) 22:02:45.66どゆこと?:silent かね?
0699名無しさん@お腹いっぱい。
2015/10/24(土) 22:15:27.61すんませんできました。自分が言ってたのは:redrawのことでした。
help echoに書いてあった。
0700名無しさん@お腹いっぱい。
2015/10/25(日) 11:31:03.860701名無しさん@お腹いっぱい。
2015/10/25(日) 20:00:37.610702名無しさん@お腹いっぱい。
2015/10/26(月) 20:06:31.53augroup test
autocmd!
function! s:f()
echo localtime()
endfunction
nnoremap <silent>tt :<C-u>call <SID>f()<CR>
augroup END
vimを起動してttを押すとタイムスタンプが表示されます。
もうひとつvimを起動してそこにvimrcを開き、キーをttからffに変更しました。
先ほどのvimに戻り、:sourceからvimrcを読み込み直したらffとtt両方キーが効きました
何で読み込み直した時に古いinoremapの設定が残ってるんですか?
0703名無しさん@お腹いっぱい。
2015/10/26(月) 20:25:52.62autocmd! してもマッピングはリセットされないからじゃないですかね
0704名無しさん@お腹いっぱい。
2015/10/26(月) 22:43:29.440705名無しさん@お腹いっぱい。
2015/10/26(月) 22:50:18.880706名無しさん@お腹いっぱい。
2015/10/26(月) 23:21:04.75これか
0707名無しさん@お腹いっぱい。
2015/10/27(火) 19:21:55.557.0はCentOS 5の標準のvimで、7.4の方はfedora22の標準のvimです。
vimを引数無しで起動した際に真ん中に表示される説明(バージョンとか「 Vim はオープンソース〜」)は化けずにちゃんと表示されてます。
関係ありそうな設定は下記のようになっています。
set laststatus=2
set statusline=%<[%n]%m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']['.&ft.']'}\ %F%=%l/%L,%c%V%8P
highlight StatusLine term=NONE cterm=NONE ctermfg=black ctermbg=white
0708名無しさん@お腹いっぱい。
2015/10/27(火) 19:24:33.490709名無しさん@お腹いっぱい。
2015/10/27(火) 19:50:24.53試してみたけど化けます。
vimrcをset laststatusだけにしてもやっぱり化けます。
ちなみにこんな感じ。
http://i.imgur.com/ZlZUnHV.png
0710名無しさん@お腹いっぱい。
2015/10/27(火) 20:54:35.57そんで se nocp enc=utf8 してなんとかなるといいなあ。
0711名無しさん@お腹いっぱい。
2015/10/27(火) 21:18:11.940712名無しさん@お腹いっぱい。
2015/10/27(火) 21:47:06.48vimのfや:perldoなども日本語対応
0713名無しさん@お腹いっぱい。
2015/10/28(水) 13:16:02.43LANG=C でも set encoding=utf-8 をvimrcに書くと化けました。
ただ、vimrcに書かずにvim起動後に :set encoding=utf-8 を打つと化けなかったです。
ここじゃなくてfedoraのスレで聞いたほうが良いんですかね?
0714名無しさん@お腹いっぱい。
2015/10/28(水) 13:48:06.390715名無しさん@お腹いっぱい。
2015/10/28(水) 13:56:33.410716名無しさん@お腹いっぱい。
2015/10/28(水) 13:59:48.50>>709がその状態です。
0717名無しさん@お腹いっぱい。
2015/10/28(水) 17:33:55.180718名無しさん@お腹いっぱい。
2015/10/29(木) 01:42:51.97/フルパス/vim -N -u NONE
するでござるよ。
0719名無しさん@お腹いっぱい。
2015/10/29(木) 10:24:41.570720名無しさん@お腹いっぱい。
2015/10/29(木) 11:04:37.73インサートモードならこの辺のキーを使う
:h i_ctrl-t
:h i_ctrl-d
:h i_ctrl-f
0721名無しさん@お腹いっぱい。
2015/10/29(木) 11:32:35.21vimrcから読み込ませたプラグインのkeymapが効かなくなるんですがどうしてですか?
vimrcを読み込み直すんだからkeymapが再設定されるはずだと思うんですがですか?
0722名無しさん@お腹いっぱい。
2015/10/29(木) 12:24:08.830723名無しさん@お腹いっぱい。
2015/10/29(木) 12:30:09.10選択中範囲の先頭と末尾に飛ぶのは`>と`<じゃなくてoとOだべ
`>と`<は「前回選択してた」範囲の先頭と末尾に飛ぶやつ
:h v_o
0724名無しさん@お腹いっぱい。
2015/10/29(木) 12:52:02.96そういうことでしたかありがとうございます
0725名無しさん@お腹いっぱい。
2015/10/29(木) 17:31:30.45return 'a'
endfunction
function s:b()
let l:s = call s:a()
endfunction
s:b()を実行すると
E121: 未定義の変数です: call
E15: 無効な式です: call s:a()
ってなります。どう書けば治りますか?
0726名無しさん@お腹いっぱい。
2015/10/29(木) 21:12:56.45call いらんよ
let s = s:a()
0727名無しさん@お腹いっぱい。
2015/10/29(木) 22:14:41.710728名無しさん@お腹いっぱい。
2015/10/29(木) 23:52:43.06そう、Visual Basic と同じだよ…って知らんかww
0729名無しさん@お腹いっぱい。
2015/11/03(火) 19:27:19.92モード別にキーマップのヘルプを引く方法を伝授してください
例えばvirtual modeで複数行選択した時のShift+I
【質問2】
ヘルプを引くときにalt、ctrl、shiftにアルファベットを足したものはどうやってヘルプで引いたらで引いたら良いですか?
例えばctrl+shift+何かみたいなのとか
0730名無しさん@お腹いっぱい。
2015/11/03(火) 20:25:59.02ヘルプの種類は接尾語としてi_ v_
:h i_
:h v_
0731名無しさん@お腹いっぱい。
2015/11/03(火) 22:47:32.000732名無しさん@お腹いっぱい。
2015/11/03(火) 23:36:38.31今まで補完を頼りに h i_ctrl-x_ctrl-u とかしてたわ。
0733名無しさん@お腹いっぱい。
2015/11/05(木) 17:43:30.220734名無しさん@お腹いっぱい。
2015/11/05(木) 18:36:25.570735名無しさん@お腹いっぱい。
2015/11/06(金) 04:46:31.830736名無しさん@お腹いっぱい。
2015/11/06(金) 10:38:10.190737名無しさん@お腹いっぱい。
2015/11/08(日) 00:55:19.57/〜/j
このjについて調べたいんですがドキュメントのどこを見ればいいのか教えてください
0738名無しさん@お腹いっぱい。
2015/11/08(日) 02:07:33.62:h :vimgrep
0739名無しさん@お腹いっぱい。
2015/11/08(日) 03:14:52.80for window in vim.windows:
__vim.command("%swincmd w" % window.number) # ←ここがクソ
__if vim.eval("exists('w:unko')") == 1:
____print("this is unko window")
みたいなのを実際にカレントウィンドウを変更せずに調べたいです
0740名無しさん@お腹いっぱい。
2015/11/08(日) 07:00:15.60:h getwinvar()
0741名無しさん@お腹いっぱい。
2015/11/08(日) 12:05:36.16ありがとう…優しいおじさん…!
getwinvar(n, "unko")でループ回してうまくいきました
0742名無しさん@お腹いっぱい。
2015/11/08(日) 17:38:27.05どうやって調べればいいのか教えてください
0743名無しさん@お腹いっぱい。
2015/11/09(月) 23:28:07.601行目で2<S-j>したのに3行目が連結されません
<S-j>
1<S-j>
2<S-j>
これはどれも2行目しか連結しません
3<S-j>って書いたら2〜3行目を1行目に連結できましたが何故2<S-j>ではできないのでしょうか?
0744名無しさん@お腹いっぱい。
2015/11/09(月) 23:28:26.650745名無しさん@お腹いっぱい。
2015/11/10(火) 07:31:46.25helpに答え書いてあるよ
:h J
0746名無しさん@お腹いっぱい。
2015/11/11(水) 15:12:45.02こういう直感に反した動きをするところは自分でソース書き直しちゃえばいいんじゃないの
0747名無しさん@お腹いっぱい。
2015/11/11(水) 15:18:30.310748名無しさん@お腹いっぱい。
2015/11/11(水) 19:10:08.671〜3行ビジュアル選択してJすれば今の仕様も納得すると思うんだが
0749名無しさん@お腹いっぱい。
2015/11/11(水) 19:59:19.36いっつもJJとかでやるから知らんかった
0750名無しさん@お腹いっぱい。
2015/11/11(水) 21:51:35.570751名無しさん@お腹いっぱい。
2015/11/11(水) 23:45:22.590752名無しさん@お腹いっぱい。
2015/11/12(木) 08:40:25.200753名無しさん@お腹いっぱい。
2015/11/12(木) 17:04:42.11この画面を表示させない方法ありませんか?
0754名無しさん@お腹いっぱい。
2015/11/12(木) 17:19:09.91Windowsだったらこれ
:h :!start
0755名無しさん@お腹いっぱい。
2015/11/12(木) 17:29:39.920756名無しさん@お腹いっぱい。
2015/11/12(木) 17:39:13.31で、どうかなっと
0757名無しさん@お腹いっぱい。
2015/11/12(木) 17:58:53.07外部プログラムに対してsilentすると、背景と文字が黒になってしまい画面がおかしくなりました
vim -u NONEで試しました
0758名無しさん@お腹いっぱい。
2015/11/12(木) 18:12:30.58:h system()
0759名無しさん@お腹いっぱい。
2015/11/12(木) 20:43:00.830760名無しさん@お腹いっぱい。
2015/11/13(金) 08:40:35.280761名無しさん@お腹いっぱい。
2015/11/13(金) 11:47:39.00:h system() の少し下に書いてありますよ
> The resulting error code can be found in |v:shell_error|.
> This function will fail in |restricted-mode|.
0762名無しさん@お腹いっぱい。
2015/11/17(火) 17:37:32.00言語別に全ての色を確認できるコードはありませんか?
0763名無しさん@お腹いっぱい。
2015/11/18(水) 12:57:06.30StatusLineに定義したctermfgとctermbgの色が入れ替わって反映される
背景色が1で文字色が2になるのはどうして?
0764名無しさん@お腹いっぱい。
2015/11/18(水) 14:48:06.10その行の後ろに cterm=NONE
って足してみて
:h highlight-cterm
■ このスレッドは過去ログ倉庫に格納されています