Skip to content

Instantly share code, notes, and snippets.

View thinca's full-sized avatar
⌨️
Happy Vimming!

thinca thinca

⌨️
Happy Vimming!
View GitHub Profile
@thinca
thinca / megurorb17.md
Created July 31, 2018 13:39
Meguro.rb #17 Ruby で Vim を拡張する

Ruby で Vim を拡張する

@thinca
thinca / Gemfile
Created May 7, 2023 10:27
GitHub から Webhooks を受け取り、MODal をデプロイする雑サーバ
source 'https://rubygems.org'
gem 'webrick'

なぜ Vim はいきなり文字を入力できないのか

2017-07-20 Fablic.vim #2

Best practices for building Vim plugins

2016-11-05 VimConf 2016

テキストプロパティ触ってみた

2019-03-11 gorilla.vim #2

author thinca
date   2012/11/03
place  ujihisa.vim#3
font   VL ゴシック 40
font   Migu_2M:h34:cSHIFTJIS
colorscheme White2

All about vital.vim

2012/11/03 ujihisa.vim#3

@thinca
thinca / fix_textprop.patch
Last active March 18, 2019 08:16
テキストプロパティで落ちるやつ
diff --git a/src/textprop.c b/src/textprop.c
index 674faebe2..00436f51a 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -629,7 +629,7 @@ f_prop_remove(typval_T *argvars, typval_T *rettv)
mch_memmove(newptr, buf->b_ml.ml_line_ptr,
buf->b_ml.ml_line_len);
buf->b_ml.ml_line_ptr = newptr;
- curbuf->b_ml.ml_flags |= ML_LINE_DIRTY;
+ buf->b_ml.ml_flags |= ML_LINE_DIRTY;
let s:S = vital#vital#import('Data.String')
let s:L = vital#vital#import('Data.List')
function! s:count_words(text) abort
let F = { memo, x -> extend(memo, {x: get(memo, x, 0) + 1}) }
return s:L.foldl(F, {}, s:S.scan(a:text, '\w\+'))
endfunction
echo s:count_words('this is a pen or not a pen')
" {'this': 1, 'is': 1, 'a': 2, 'pen': 2, ...}

Vim の helpbot は裏で何をしているのか

2018-10-31 .vimconf.swp 2018

" == Naming convention. == {{{1
" Command name
" - CamelCase
" Global function name
" - CamelCase
" Local function name
" - s:split_by_underbar
" Group name for autocmd
" - split-by-dash
" In vimrc, start with "vimrc"