vim

nmap <leader>r <Plug>(quickrun)

Vim

<c-\><c-n> ターミナルでスクロールする

Vim

対策 tnoremap <c-b> <c-\><c-n> stackoverflow.com</c-n></c-\></c-b>

:bo[tright] vsp | sp

vim

プラグインマップの用意

vim

プラグイン側で用意されたキーマップをユーザー側で再定義することができる。 プラグイン側の定義 " プラグインマップ <Plug>(reverse-word) 定義 nnoremap <Plug>(reverse-word) :<C-u>call <SID>ReverseWord(expand('<cword>'))<CR> " デフォルトの割当 map <unique> <Leader>a <Plug>(reverse-word) NOTE: <Plug>(revers</plug></plug></leader></unique></cr></cword></sid></c-u></plug></plug>…

上に向かってファイルの検索をする `findfile()`

vim

例 ctagファイルの検索 let path = findfile('.tags', '.;') NOTE: 第2引数 .; カレントディレクトリから上に向かって検索をする。 ** カレントディレクトリから下に向かって検索する。デフォルト。 関連 finddir() ファイルではなくディレクトリを検索する

Vim script 概要

vim

Exコマンドを呼びだす Vim scriptはExコマンドを呼び出すためのスクリプト。 echo コマンドの実行 echo "Hello World" 関数の呼び出しもコマンドで実行 let names = []; call add(names, 'tanaka') call add(names, 'sato') call map(names, {idx, name -> l…

引数リストから検索する

vim

:vim 検索する文字列 ## vim vimgrep の略 ## 引数リストから検索する 引数リストへのファイルの追加 :arga **/*.js **/*.html **/*.css arga argadd の略。引数リストにファイルを追加する **/ フォルダ階層に渡って検索する

オブジェクト指向開発 in vimscript

クラスの実装 宣言 let s:Person = {} コンストラクタ function! s:Person(name, age, gender) let p = deepcopy(s:Person) let p.name = a:name let p.age = a:age let p.gender = a:gender endfunction メソッドの定義 function! s:Person.getName() retur…

プラグインによる機能の提供

vim

キーマップを定義する 例 SayHello関数の提供 function! SayHello() echo 'hello, world' endfunction noremap <Plug>(say_hello) :<C-u>call SayHello()<CR> 参照 【図解Vim】mapとnoremap - ここぽんのーと</cr></c-u></plug>

パッケージ・プラグイン構成

vim

プラグイン プラグインづくりの心得 プラグインの種類は大きく2つに分かれる プラグインはディレクトリ構成によって実現されている 各ディレクトリ(プラグイン)がどのタイミングで読み込まれるかを頭の中に入れておく プラグインの種類 ファイルタイプに依…

autocmd で terminalを開いたときは除外する

vim

vim内でterminalを一度開き、そこから別のバッファーに移動し、再度terminalに移動すると以下のエラーが出てきた。 Error detected while processing BufEnter Autocommands for "*": E344 Can't find directory "!/bin" in cdpath 原因は以下のカレントディ…

quickrunでファイル名が日本語のJavaファイルを実行すると渡されるファイルが文字化けして実行できないときの対応

vimのterminalに LC_CTYPE 環境変数を追加することで解消 vimrcで以下を定義 let $LC_CTYPE = 'UTF-8' terminalを開いて printenv で上記の変数があることを確認できる。 参照 LC_CTYPEについて ロケール(locale)まとめ - Qiita

タブもしくはスペースとインデント

vim

vimにおいてタブもしくはスペースとインデントは明確に区別されている。 インデントは、'>>' もしくは '<<' や自動インデントの設定によって挿入することが出来る。 タブ関連オプション tabstop ts '\t'に対する空白数 softtabstop sts '<Tab>'キーの入力に対する</tab>…

visual studioに梱包されているpython3.dllをロードするようにする

vim

vimrc set pythonthreedll=C:\Program\ Files\ (x86)\Microsoft\ Visual\ Studio\Shared\Python37_64\python37.dll スペースは \でエスケープしてわたす

特定のファイルが読み込まれた時にauコマンドを発動する

vim

au BufRead,BufNewFile /etc/apache2/sites-available/www.example.com set filetype=apache 参照 What exactly happens when you change a file type in vim? - Stack Overflow