Skip to content

Instantly share code, notes, and snippets.

@koturn
koturn / OverloadedRecursiveLambda.cpp
Last active May 26, 2020 05:05
再帰ラムダのオーバーロード
#include <iostream>
#include <type_traits>
#include <utility>
#if defined(__cpp_variadic_using) && defined(__cpp_deduction_guides)
template <typename... Fs>
class
#if defined(__has_cpp_attribute) && __has_cpp_attribute(nodiscard)
[[nodiscard]]
@koturn
koturn / version.rc
Created July 2, 2019 20:31
exeファイルのバージョン番号付与用のリソースファイル
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,2,3,4
PRODUCTVERSION 1,2,3,4
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
@koturn
koturn / .vsvimrc
Created June 23, 2019 06:15
Visual Studioの拡張VSVIMの設定ファイル
set clipboard=unnamed
set hlsearch
set incsearch
set virtualedit=block
set whichwrap=b,s,h,l,<,>,[,]
set ignorecase smartcase
set scrolloff=5
nnoremap c "_c
nnoremap x "_x
nnoremap n nzz
@koturn
koturn / CMakeLists.txt
Created March 9, 2019 16:36
CMakeLists.txtのテンプレート
cmake_minimum_required(VERSION 3.1)
project(CMakeProject CXX)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
@koturn
koturn / vimrc_part.vim
Created October 4, 2018 18:36
defx.nvimのdein.vim用設定記述
" dependsはVim用なので,neovimでは不要
call dein#add('Shougo/defx.nvim', {
\ 'depends': ['nvim-yarp', 'vim-hug-neovim-rpc'],
\ 'on_cmd': 'Defx',
\ 'on_func': 'defx'
\})
if dein#tap('defx.nvim') " {{{
@koturn
koturn / tab_info.vim
Last active February 11, 2018 06:08
全タブのバッファ情報等を表示
function! s:create_winid2bufnr_dict() abort " {{{
let winid2bufnr_dict = {}
for bnr in filter(range(1, bufnr('$')), 'v:val')
for wid in win_findbuf(bnr)
let winid2bufnr_dict[wid] = bnr
endfor
endfor
return winid2bufnr_dict
endfunction " }}}
@koturn
koturn / buf_open.vim
Last active February 10, 2018 10:45
既に開いているバッファに移動するコマンド定義
if exists('*win_gotoid')
function! s:buf_open_existing(bname) abort " {{{
let bnr = bufnr(a:bname)
if bnr == -1
echoerr 'Buffer not found:' a:bname
return
endif
let wids = win_findbuf(bnr)
if empty(wids)
new
@koturn
koturn / term_open.vim
Created February 10, 2018 09:43
既に開いているターミナルに移動するコマンドの定義
" 参考: http://secret-garden.hatenablog.com/entry/2017/11/14/113127
" 既に開いているターミナルを開く(バッファに移動)
" 開いているターミナルが無い場合は新規に起動
if has('terminal')
function! s:complete_term_bufname(arglead, cmdline, cursorpos) abort " {{{
let arglead = tolower(a:arglead)
return filter(map(term_list(), 'bufname(v:val)'), '!stridx(tolower(v:val), arglead)')
endfunction " }}}
function! s:term_open_existing(...) abort " {{{
@koturn
koturn / showhint.vim
Created February 10, 2018 02:04
Ctrl-Xの補完,マーク位置,レジスタ内容のヒントを表示するキーマッピング
if &compatible
set nocompatible
endif
function! s:hint_n_m() abort " {{{
redir => str
:marks
redir END
echo str
if &compatible
set nocompatible
endif
let s:compl_key_dict = {
\ char2nr("\<C-l>"): "\<C-x>\<C-l>",
\ char2nr("\<C-n>"): "\<C-x>\<C-n>",
\ char2nr("\<C-p>"): "\<C-x>\<C-p>",
\ char2nr("\<C-k>"): "\<C-x>\<C-k>",
\ char2nr("\<C-t>"): "\<C-x>\<C-t>",
\ char2nr("\<C-i>"): "\<C-x>\<C-i>",