2020-12-25
brewで環境を更新したらVimでinsertモードに入ったときに固まるようになったので修正した
雑記。
発生した問題
nvim-yarpに依存しているVimプラグインを使うときに? Vim…
2020-05-03
XMonad上のGVimで画面にゴミが出る場合は'renderoptions'
解決策
set renderoptions=type:directxset ambiwidth=double
問題
僕は今、Windows上で最強のLinux…
2020-02-24
Vimをvalgrind付きでビルドして、メモリリークを検出する
$ vim src/testdir/Makefile
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index bcf2f8c37..cb9af4887 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -18,7 +18,7 @@ REDIR_TEST_TO_NULL = --cmd 'au SwapExists * let v:swapchoice = "e"' > /dev/null
# The output goes into a file "valgrind.testN"
# Vim should be compiled with EXITFREE to avoid false warnings.
# This will make testing about 10 times as slow.
-# VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=25 --log-file=valgrind.$*
+VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=25 --log-file=valgrind.$*
default: nongui
$ make clean # 必要に応じて
$ make -j4 -e CFLAGS='-g3 -O0 -Wall'
$ cd src/testdir
$ make test_template_string # 実行したいテストを実行する。多分だけど ../vim を実際に操作してもいい
$ cat valgrind.test_template_string
結果
==46735== Memcheck, a memory error detector
==46735== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==46735== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==46735== Command: ../vim -f -u unix.vim -U NONE --noplugin --not-a-term -S runtest.vim test_template_string.vim --cmd au\ SwapExists\ *\ let\ v:swapchoice\ =\ "e"
==46735== Parent PID: 46734
==46735==
==46735==
==46735== HEAP SUMMARY:
==46735== in use at exit: 621,592 bytes in 2,184 blocks
==46735== total heap usage: 7,098 allocs, 4,914 frees, 2,528,440 bytes allocated
==46735==
==46735== 3 bytes in 1 blocks are possibly lost in loss record 114 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23A680: concat_str (in /path/to/vim/template-string/src/vim)
==46735== by 0x18960F: eval5 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188F2E: eval4 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188D80: eval3 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188BD9: eval2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1889F1: eval1 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18C1DC: get_template_string_tv (in /path/to/vim/template-string/src/vim)
==46735== by 0x189E6B: eval7 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18995E: eval6 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1893E1: eval5 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188F2E: eval4 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188D80: eval3 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188BD9: eval2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1889F1: eval1 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18890D: eval0 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A32B7: ex_let_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A2EB4: ex_let (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x34E9F6: call_user_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34F063: call_user_func_check (in /path/to/vim/template-string/src/vim)
==46735== by 0x34FB4B: call_func (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 6 bytes in 1 blocks are possibly lost in loss record 145 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C971: vim_strsave (in /path/to/vim/template-string/src/vim)
==46735== by 0x269DC3: get_option_value (in /path/to/vim/template-string/src/vim)
==46735== by 0x18B318: get_option_tv (in /path/to/vim/template-string/src/vim)
==46735== by 0x189E29: eval7 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18995E: eval6 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1893E1: eval5 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188F2E: eval4 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188D80: eval3 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188BD9: eval2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1889F1: eval1 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18890D: eval0 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A32B7: ex_let_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A2EB4: ex_let (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BADCE: do_cmdline_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE5D8: exe_commands (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 14 bytes in 1 blocks are possibly lost in loss record 216 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C971: vim_strsave (in /path/to/vim/template-string/src/vim)
==46735== by 0x18E7E2: get_env_tv (in /path/to/vim/template-string/src/vim)
==46735== by 0x189E8A: eval7 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18995E: eval6 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1893E1: eval5 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188F2E: eval4 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188D80: eval3 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188BD9: eval2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1889F1: eval1 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18890D: eval0 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A32B7: ex_let_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A2EB4: ex_let (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE79A: source_startup_scripts (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AAAD5: main (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 15 bytes in 3 blocks are possibly lost in loss record 219 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C971: vim_strsave (in /path/to/vim/template-string/src/vim)
==46735== by 0x34BDA1: one_function_arg (in /path/to/vim/template-string/src/vim)
==46735== by 0x34C116: get_function_args (in /path/to/vim/template-string/src/vim)
==46735== by 0x3512F6: ex_function (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BADCE: do_cmdline_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE5D8: exe_commands (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AB164: vim_main2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AAADA: main (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 28 bytes in 1 blocks are possibly lost in loss record 282 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A76AA: set_var_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x18732E: set_var_lval (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A48D8: ex_let_one (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A33B9: ex_let_vars (in /path/to/vim/template-string/src/vim)
==46735== by 0x188193: next_for_item (in /path/to/vim/template-string/src/vim)
==46735== by 0x1CAF43: ex_while (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BADCE: do_cmdline_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE5D8: exe_commands (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AB164: vim_main2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AAADA: main (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 31 bytes in 1 blocks are possibly lost in loss record 287 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A76AA: set_var_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x18732E: set_var_lval (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A48D8: ex_let_one (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A33B9: ex_let_vars (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A3321: ex_let_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A2EB4: ex_let (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x34E9F6: call_user_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34F063: call_user_func_check (in /path/to/vim/template-string/src/vim)
==46735== by 0x34FB4B: call_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34CF61: get_func_tv (in /path/to/vim/template-string/src/vim)
==46735== by 0x35402D: ex_call (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BADCE: do_cmdline_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE5D8: exe_commands (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 32 bytes in 1 blocks are possibly lost in loss record 311 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A76AA: set_var_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x18732E: set_var_lval (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A48D8: ex_let_one (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A33B9: ex_let_vars (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A3321: ex_let_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A2EB4: ex_let (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE79A: source_startup_scripts (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AAAD5: main (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 33 bytes in 1 blocks are possibly lost in loss record 313 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C971: vim_strsave (in /path/to/vim/template-string/src/vim)
==46735== by 0x1904C7: copy_tv (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A6747: get_var_tv (in /path/to/vim/template-string/src/vim)
==46735== by 0x18A042: eval7 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18995E: eval6 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1893E1: eval5 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188F2E: eval4 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188D80: eval3 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188BD9: eval2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1889F1: eval1 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18890D: eval0 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A32B7: ex_let_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A2EB4: ex_let (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x34E9F6: call_user_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34F063: call_user_func_check (in /path/to/vim/template-string/src/vim)
==46735== by 0x34FB4B: call_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34CF61: get_func_tv (in /path/to/vim/template-string/src/vim)
==46735== by 0x35402D: ex_call (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 35 bytes in 1 blocks are possibly lost in loss record 315 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A76AA: set_var_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x18732E: set_var_lval (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A48D8: ex_let_one (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A33B9: ex_let_vars (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A3321: ex_let_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A2EB4: ex_let (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE79A: source_startup_scripts (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AAAD5: main (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 37 bytes in 2 blocks are possibly lost in loss record 319 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x18BE47: get_lit_string_tv (in /path/to/vim/template-string/src/vim)
==46735== by 0x189D58: eval7 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18995E: eval6 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1893E1: eval5 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188F2E: eval4 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188D80: eval3 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188BD9: eval2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1889F1: eval1 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18890D: eval0 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A32B7: ex_let_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A2EB4: ex_let (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BADCE: do_cmdline_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE5D8: exe_commands (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AB164: vim_main2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AAADA: main (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 39 bytes in 1 blocks are possibly lost in loss record 320 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23A680: concat_str (in /path/to/vim/template-string/src/vim)
==46735== by 0x187C38: tv_op (in /path/to/vim/template-string/src/vim)
==46735== by 0x1872D3: set_var_lval (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A48D8: ex_let_one (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A33B9: ex_let_vars (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A3321: ex_let_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A2EB4: ex_let (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x34E9F6: call_user_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34F063: call_user_func_check (in /path/to/vim/template-string/src/vim)
==46735== by 0x34FB4B: call_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34CF61: get_func_tv (in /path/to/vim/template-string/src/vim)
==46735== by 0x35402D: ex_call (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BADCE: do_cmdline_cmd (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 48 bytes in 1 blocks are possibly lost in loss record 379 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C73B: alloc_clear (in /path/to/vim/template-string/src/vim)
==46735== by 0x34C7ED: get_lambda_tv (in /path/to/vim/template-string/src/vim)
==46735== by 0x189DE6: eval7 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18995E: eval6 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1893E1: eval5 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188F2E: eval4 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188D80: eval3 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188BD9: eval2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1889F1: eval1 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18890D: eval0 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A32B7: ex_let_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A2EB4: ex_let (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x34E9F6: call_user_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34F063: call_user_func_check (in /path/to/vim/template-string/src/vim)
==46735== by 0x34FB4B: call_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34CF61: get_func_tv (in /path/to/vim/template-string/src/vim)
==46735== by 0x35402D: ex_call (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x190F27: ex_execute (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 72 bytes in 3 blocks are possibly lost in loss record 435 of 639
==46735== at 0x48386AF: malloc (vg_replace_malloc.c:308)
==46735== by 0x483ADE7: realloc (vg_replace_malloc.c:836)
==46735== by 0x23D9FD: ga_grow (in /path/to/vim/template-string/src/vim)
==46735== by 0x34BD69: one_function_arg (in /path/to/vim/template-string/src/vim)
==46735== by 0x34C116: get_function_args (in /path/to/vim/template-string/src/vim)
==46735== by 0x3512F6: ex_function (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BADCE: do_cmdline_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE5D8: exe_commands (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AB164: vim_main2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AAADA: main (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 75 bytes in 3 blocks are possibly lost in loss record 437 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A76AA: set_var_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x18732E: set_var_lval (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A48D8: ex_let_one (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A33B9: ex_let_vars (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A3321: ex_let_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A2EB4: ex_let (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x34E9F6: call_user_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34F063: call_user_func_check (in /path/to/vim/template-string/src/vim)
==46735== by 0x34FB4B: call_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34CF61: get_func_tv (in /path/to/vim/template-string/src/vim)
==46735== by 0x35402D: ex_call (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x190F27: ex_execute (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x34E9F6: call_user_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34F063: call_user_func_check (in /path/to/vim/template-string/src/vim)
==46735== by 0x34FB4B: call_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34CF61: get_func_tv (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 99 bytes in 3 blocks are possibly lost in loss record 464 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C9B8: vim_strnsave (in /path/to/vim/template-string/src/vim)
==46735== by 0x1C8B33: eval_vars (in /path/to/vim/template-string/src/vim)
==46735== by 0x19685F: f_expand (in /path/to/vim/template-string/src/vim)
==46735== by 0x1940AA: call_internal_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34FBBF: call_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x34CF61: get_func_tv (in /path/to/vim/template-string/src/vim)
==46735== by 0x188819: eval_func (in /path/to/vim/template-string/src/vim)
==46735== by 0x18A013: eval7 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18995E: eval6 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1893E1: eval5 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188F2E: eval4 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188D80: eval3 (in /path/to/vim/template-string/src/vim)
==46735== by 0x188BD9: eval2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1889F1: eval1 (in /path/to/vim/template-string/src/vim)
==46735== by 0x18890D: eval0 (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A32B7: ex_let_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A2EB4: ex_let (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 558 bytes in 17 blocks are possibly lost in loss record 545 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A76AA: set_var_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x18732E: set_var_lval (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A48D8: ex_let_one (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A33B9: ex_let_vars (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A3321: ex_let_const (in /path/to/vim/template-string/src/vim)
==46735== by 0x1A2EB4: ex_let (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BADCE: do_cmdline_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE5D8: exe_commands (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AB164: vim_main2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AAADA: main (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 560 bytes in 2 blocks are possibly lost in loss record 546 of 639
==46735== at 0x483AD7B: realloc (vg_replace_malloc.c:836)
==46735== by 0x23D9FD: ga_grow (in /path/to/vim/template-string/src/vim)
==46735== by 0x35267D: ex_function (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BADCE: do_cmdline_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE5D8: exe_commands (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AB164: vim_main2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AAADA: main (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 749 bytes in 2 blocks are possibly lost in loss record 558 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C73B: alloc_clear (in /path/to/vim/template-string/src/vim)
==46735== by 0x352C65: ex_function (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BADCE: do_cmdline_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE5D8: exe_commands (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AB164: vim_main2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AAADA: main (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 1,352 bytes in 4 blocks are possibly lost in loss record 578 of 639
==46735== at 0x483AD7B: realloc (vg_replace_malloc.c:836)
==46735== by 0x23D9FD: ga_grow (in /path/to/vim/template-string/src/vim)
==46735== by 0x35267D: ex_function (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BADCE: do_cmdline_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE5D8: exe_commands (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AB164: vim_main2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AAADA: main (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 1,425 bytes in 4 blocks are possibly lost in loss record 584 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C73B: alloc_clear (in /path/to/vim/template-string/src/vim)
==46735== by 0x352C65: ex_function (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BADCE: do_cmdline_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE5D8: exe_commands (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AB164: vim_main2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AAADA: main (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 1,676 bytes in 68 blocks are possibly lost in loss record 592 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C971: vim_strsave (in /path/to/vim/template-string/src/vim)
==46735== by 0x352694: ex_function (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BADCE: do_cmdline_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE5D8: exe_commands (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AB164: vim_main2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AAADA: main (in /path/to/vim/template-string/src/vim)
==46735==
==46735== 3,363 bytes in 122 blocks are possibly lost in loss record 604 of 639
==46735== at 0x483877F: malloc (vg_replace_malloc.c:309)
==46735== by 0x23C82D: lalloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C6D8: alloc (in /path/to/vim/template-string/src/vim)
==46735== by 0x23C971: vim_strsave (in /path/to/vim/template-string/src/vim)
==46735== by 0x352694: ex_function (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1CDE: do_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D10C5: cmd_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x2D1111: ex_source (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BE521: do_one_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BB840: do_cmdline (in /path/to/vim/template-string/src/vim)
==46735== by 0x1BADCE: do_cmdline_cmd (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AE5D8: exe_commands (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AB164: vim_main2 (in /path/to/vim/template-string/src/vim)
==46735== by 0x3AAADA: main (in /path/to/vim/template-string/src/vim)
==46735==
==46735== LEAK SUMMARY:
==46735== definitely lost: 0 bytes in 0 blocks
==46735== indirectly lost: 0 bytes in 0 blocks
==46735== possibly lost: 10,250 bytes in 243 blocks
==46735== still reachable: 611,342 bytes in 1,941 blocks
==46735== suppressed: 0 bytes in 0 blocks
==46735== Reachable blocks (those to which a pointer was found) are not shown.
==46735== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==46735==
==46735== For lists of detected and suppressed errors, rerun with: -s
==46735== ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0)
ここでdefinitely lost
が0でないようなら、
X bytes in X blocks are definitely lost in loss record X of X
…
2019-07-14
VimをSanitizer付きでビルドして、メモリリークを検出する
vim-jpでichizokさんに指南をいただきました。 ありがとうございます 😎
結
$ cd /path/to/vim
$ SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
$ ASAN_OPTIONS="print_stacktrace=1 log_path=asan"
$ make
Starting make in the src directory.
If there are problems, cd to the src directory and run make there
cd src && make first
make[1]: Entering directory '/path/to/vim/template-string/src'
ccache gcc -c -I. -Iproto -DHAVE_CONFIG_H -g3 -O0 -Wall -g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer -o obj
ects/eval.o eval.c
make[2]: Entering directory '/path/to/vim/template-string/src/po'
make[2]: Nothing to be done for 'first'.
.
.
.
$ cd src/testdir
$ make test_template_string
rm -f test_template_string.res test.log messages
make -f Makefile test_template_string.res
make[1]: Entering directory '/path/to/vim/src/testdir'
make[1]: *** [Makefile:162: test_template_string.res] Error 1
make[1]: Leaving directory '/path/to/vim/src/testdir'
make: *** [Makefile:76: test_template_string] Error 2
$ ls asan.*
asan.12870
$ cat asan.12870
結果
…2019-06-26
Vimのソース内で自作した関数の結果を確認する
起
Vimにコントリビュートしたいけど、
「char_u*
って? typval_T
ってなん じゃい? eval1
? :h expr1
…
2018-12-02
Vim Advent Calendar 2018ボツ記事(vital.vimで関数型プログラミング入門)
最近はvital.vimというVim scriptの準標準ライブラリでData.List・Data…
2018-05-22
gradle buildの出力をVimのQuickFixに表示してエラー箇所にジャンプする
vim-quickrunに依存する。
.vimrcに以下を記述。
let g:quickrun_config = {
\ 'gradle_build': {
\ 'runner': 'vimproc',
\ 'outputter': 'quickfix',
\ 'command': 'gradle',
\ 'cmdopt': 'build',
\ 'exec': '%c %o',
\ },
\}
.vim/after…
2018-01-27
How to use 'hasktags' in ':Denite outline'
Below lines sets to use hasktags
in :Denite outline
😃
call denite#custom#var('outline', 'command', ['hasktags'])
call denite#custom#var('outline', 'options', ['--ignore-close-implementation', '--ctags', '-x'])
But it overwrites…
2016-12-17
使いたいVimプラグインがNeoVimで対応してない? NeoVimは環境、VimはVMだよ?
ドーモ、最近NeoVimを使い始めたyiコントリビューターのVimmerのあいやです。
…
2015-11-22
よさがぴょんぴょんするんじゃあ〜 in VimConf2015
よさがぴょんぴょんするんじゃあ〜 in VimConf2015
VimConf2015に行ってきました。 VimConf2015 is koko…
2015-07-13
Vim_scriptで定数
Vim scriptで定数
let A = 10
lockvar A
let A = 20 " 例外
これでできるらしい。
ただし、これでできるのは「変数への書き込み禁止」であって
…