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 / .zshrc
Last active November 23, 2017 12:58
Support :command in zsh in Vim (experimental)
# put this code in your .zshrc
if [[ "${VIM_TERMINAL_SHELL}" != "" ]]; then
command_not_found_handler() {
if [[ "${1}" != :* ]]; then
echo "command not found: ${1}" > /dev/stderr
return 127
fi
echo -ne "\e_$*\e\\" > /dev/tty
while [[ ! -f "${VIM_TERMINAL_SHELL}" ]]; do
syntax match csvHead /^/ nextgroup=csvOddColumn
syntax match csvOddColumn /[^,]*/ contained nextgroup=csvOddComma
syntax match csvOddComma /,/ contained nextgroup=csvEvenColumn
syntax match csvEvenColumn /[^,]*/ contained nextgroup=csvEvenComma
syntax match csvEvenComma /,/ contained nextgroup=csvOddColumn
highlight default link csvOddColumn Constant
highlight default link csvEvenColumn Statement
nnoremap <silent> <Plug>(vimrc-show-current-syntax)
\ :<C-u>echo join(map(synstack(line('.'), col('.')),
\ 'synIDattr(v:val, "name")
\ ."(".synIDattr(synIDtrans(v:val), "name").")"'), ',')<CR>

Best practices for building Vim plugins

2016-11-05 VimConf 2016

package main
import (
"fmt"
"net/http"
"os"
"runtime"
"strconv"
"strings"

teratail と Vim の共通点

2016-09-15 集まっtail #6 thinca

[23:12:42 WARN]: java.lang.IllegalArgumentException: Plugin cannot be null
[23:12:42 WARN]: at org.apache.commons.lang.Validate.notNull(Validate.java:192)
[23:12:42 WARN]: at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftScheduler.validate(CraftScheduler.java:397)
[23:12:42 WARN]: at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:123)
[23:12:42 WARN]: at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftScheduler.runTaskLater(CraftScheduler.java:106)
[23:12:42 WARN]: at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
[23:12:42 WARN]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[23:12:42 WARN]: at java.lang.reflect.Method.invoke(Method.java:498)
[23:12:42 WARN]: at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
[23:12:42 WARN]: at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
<?xml version="1.0"?>
<!--
https://pqrs.org/osx/karabiner/xml.html.ja
-->
<root>
<item>
<name>Private settings</name>
<item>
<name>tmux support in Terminal</name>
<identifier>private.tmux</identifier>
Describe order
Before all
let list = ['A']
End
Before each
let list += ['B']
End
Context deep context
Before all
function! s:show_stars() abort
for i in range(1, 10)
echo repeat('*', i)
endfor
endfunction
call s:show_stars()