Soumettre la recherche
Mettre en ligne
Unite vim
•
77 j'aime
•
14,747 vues
Shougo
Suivre
現在私が開発中のunite.vimに関する紹介です。オマケとして、今までの発表をダイジェスト形式で御届けしています。
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 30
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
暗黒美夢王とEmacs
暗黒美夢王とEmacs
Shougo
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
Shougo
こわくない Git
こわくない Git
Kota Saito
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
トランザクションスクリプトのすすめ
トランザクションスクリプトのすすめ
pospome
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
C#/.NETがやっていること 第二版
C#/.NETがやっていること 第二版
信之 岩永
Shougoの開発環境
Shougoの開発環境
Shougo
Recommandé
暗黒美夢王とEmacs
暗黒美夢王とEmacs
Shougo
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
Shougo
こわくない Git
こわくない Git
Kota Saito
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
トランザクションスクリプトのすすめ
トランザクションスクリプトのすすめ
pospome
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
C#/.NETがやっていること 第二版
C#/.NETがやっていること 第二版
信之 岩永
Shougoの開発環境
Shougoの開発環境
Shougo
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Tadahiro Ishisaka
LinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみた
Hiraku Toyooka
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
ミクシィ 21卒向け Android研修
ミクシィ 21卒向け Android研修
akkuma
インタフェース完全に理解した
インタフェース完全に理解した
torisoup
How Emacs changed my life
How Emacs changed my life
yukihiro_matz
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
MagicOnion入門
MagicOnion入門
torisoup
async/await のしくみ
async/await のしくみ
信之 岩永
関数プログラミング入門
関数プログラミング入門
Hideyuki Tanaka
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
Go初心者がGoでコマンドラインツールの作成に挑戦した話
Go初心者がGoでコマンドラインツールの作成に挑戦した話
dcubeio
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
Kohsuke Yuasa
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダー
Saeko Yamamoto
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
UnityTechnologiesJapan002
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
規格書で読むC++11のスレッド
規格書で読むC++11のスレッド
Kohsuke Yuasa
はじめようGit
はじめようGit
techscore
neovim = VM
neovim = VM
Shougo
deoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovim
Shougo
Contenu connexe
Tendances
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Tadahiro Ishisaka
LinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみた
Hiraku Toyooka
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
ミクシィ 21卒向け Android研修
ミクシィ 21卒向け Android研修
akkuma
インタフェース完全に理解した
インタフェース完全に理解した
torisoup
How Emacs changed my life
How Emacs changed my life
yukihiro_matz
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
Tokoroten Nakayama
DockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
MagicOnion入門
MagicOnion入門
torisoup
async/await のしくみ
async/await のしくみ
信之 岩永
関数プログラミング入門
関数プログラミング入門
Hideyuki Tanaka
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
Go初心者がGoでコマンドラインツールの作成に挑戦した話
Go初心者がGoでコマンドラインツールの作成に挑戦した話
dcubeio
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
Kohsuke Yuasa
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダー
Saeko Yamamoto
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
UnityTechnologiesJapan002
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
規格書で読むC++11のスレッド
規格書で読むC++11のスレッド
Kohsuke Yuasa
はじめようGit
はじめようGit
techscore
Tendances
(20)
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
LinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみた
C++ マルチスレッド 入門
C++ マルチスレッド 入門
ミクシィ 21卒向け Android研修
ミクシィ 21卒向け Android研修
インタフェース完全に理解した
インタフェース完全に理解した
How Emacs changed my life
How Emacs changed my life
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DockerコンテナでGitを使う
DockerコンテナでGitを使う
MagicOnion入門
MagicOnion入門
async/await のしくみ
async/await のしくみ
関数プログラミング入門
関数プログラミング入門
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Go初心者がGoでコマンドラインツールの作成に挑戦した話
Go初心者がGoでコマンドラインツールの作成に挑戦した話
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダー
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
規格書で読むC++11のスレッド
規格書で読むC++11のスレッド
はじめようGit
はじめようGit
En vedette
neovim = VM
neovim = VM
Shougo
deoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovim
Shougo
Let's talk about neovim
Let's talk about neovim
Shougo
Vimとctagsでコードリーディング 公開用
Vimとctagsでコードリーディング 公開用
Kenta Kase
An introduction to neocomplete
An introduction to neocomplete
Shougo
Vim = VM
Vim = VM
Shougo
Ultimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vim
Shougo
ctagsでvimにひきこもる
ctagsでvimにひきこもる
Takaaki Hirano
Vimconf2015
Vimconf2015
rbtnn
高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編
Kazuya Numata
軽快なPlan9
軽快なPlan9
Go Saito
neobundle.vimについて+おまけ
neobundle.vimについて+おまけ
Shougo
Exploring the Performance Impact of Virtualization on an HPC Cloud
Exploring the Performance Impact of Virtualization on an HPC Cloud
Ryousei Takano
Auto closing parenthesis @vim conf2014
Auto closing parenthesis @vim conf2014
cohama
20161026_超高層大気観測データのメタデータ作成実験経過報告
20161026_超高層大気観測データのメタデータ作成実験経過報告
Yasuyuki Minamiyama
バージョン管理入門
バージョン管理入門
Masafumi Yokoyama
関西ライフハック研究会×アイデアプラント
関西ライフハック研究会×アイデアプラント
Rikie Ishii
TO LOVE IN'~人生のパートナーを見つける旅~
TO LOVE IN'~人生のパートナーを見つける旅~
Shuhei Hinoshita
Software Foundation:形式的証明と非形式的証明
Software Foundation:形式的証明と非形式的証明
T T
X hago3
X hago3
YAMANE Toshiaki
En vedette
(20)
neovim = VM
neovim = VM
deoplete: The dark powered auto completion plugin for neovim
deoplete: The dark powered auto completion plugin for neovim
Let's talk about neovim
Let's talk about neovim
Vimとctagsでコードリーディング 公開用
Vimとctagsでコードリーディング 公開用
An introduction to neocomplete
An introduction to neocomplete
Vim = VM
Vim = VM
Ultimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vim
ctagsでvimにひきこもる
ctagsでvimにひきこもる
Vimconf2015
Vimconf2015
高トラフィックサイトをRailsで構築するためのTips基礎編
高トラフィックサイトをRailsで構築するためのTips基礎編
軽快なPlan9
軽快なPlan9
neobundle.vimについて+おまけ
neobundle.vimについて+おまけ
Exploring the Performance Impact of Virtualization on an HPC Cloud
Exploring the Performance Impact of Virtualization on an HPC Cloud
Auto closing parenthesis @vim conf2014
Auto closing parenthesis @vim conf2014
20161026_超高層大気観測データのメタデータ作成実験経過報告
20161026_超高層大気観測データのメタデータ作成実験経過報告
バージョン管理入門
バージョン管理入門
関西ライフハック研究会×アイデアプラント
関西ライフハック研究会×アイデアプラント
TO LOVE IN'~人生のパートナーを見つける旅~
TO LOVE IN'~人生のパートナーを見つける旅~
Software Foundation:形式的証明と非形式的証明
Software Foundation:形式的証明と非形式的証明
X hago3
X hago3
Similaire à Unite vim
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny
gu4
Tdd vim
Tdd vim
Tak Nishikori
Vimはこわくない
Vimはこわくない
Yuichi Watanabe
rucs_vim LT
rucs_vim LT
Naoya Inada
Vimから見たemacs
Vimから見たemacs
Shougo
Gorilla.vim#6
Gorilla.vim#6
MasatakaHigashijima
5年間Yokohama.vimをやってみて感じた事
5年間Yokohama.vimをやってみて感じた事
gu4
Unite with script
Unite with script
Yohei Fushii
anyframeを使おう
anyframeを使おう
Hideaki Miyake
かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014
Sugoi Kanari
DevEnv Tryit.vim Phrase.vim
DevEnv Tryit.vim Phrase.vim
t9md
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
gu4
GNU Make でも使ってみようか
GNU Make でも使ってみようか
Y M
Similaire à Unite vim
(13)
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny
Tdd vim
Tdd vim
Vimはこわくない
Vimはこわくない
rucs_vim LT
rucs_vim LT
Vimから見たemacs
Vimから見たemacs
Gorilla.vim#6
Gorilla.vim#6
5年間Yokohama.vimをやってみて感じた事
5年間Yokohama.vimをやってみて感じた事
Unite with script
Unite with script
anyframeを使おう
anyframeを使おう
かなりすごい発表(かなり) at VimConf2014
かなりすごい発表(かなり) at VimConf2014
DevEnv Tryit.vim Phrase.vim
DevEnv Tryit.vim Phrase.vim
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
GNU Make でも使ってみようか
GNU Make でも使ってみようか
Dernier
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Dernier
(10)
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Unite vim
1.
ゆないと! unite.vim ーすべてを破壊し、すべてを繋げー
Shougo 1
2.
自己紹介 ハンドルネーム:Shougo Vim大好き 他の勉強会によく出没します 知っている人は知っている Lingrによくいます 毎日Vim Scriptを書いています 戦闘力:数万
2
3.
今までの(勉強会での) あらすじ
3
4.
伝説のVim=VM
4
5.
その内容
5
6.
その結果 ごらんの有様だよ!
6
7.
そして迎えたx86勉強会
7
8.
その内容 注:イメージです
8
9.
深まる誤解 またしても、ごらんの有様だよ!
9
10.
lingrでのやりとりも……
10
11.
変態じゃないよ! 「ボクはただ、Vim Scriptを書いていると何か興 奮することに気付いただけなんだ。変態じゃない よ。仮に変態だとしても、変態という名の紳士だ よ!」
11
12.
今日はunite.vimの紹介を します
12
13.
名前の由来 今までのインタフェースを「破壊」し、新たなインタ フェースの元にすべてを「統一」する ちなみに、某「仮面ライダー」とは何の関係もありま せん おのれunite、貴様のせいでこのVimの世界も破壊 されてしまった!
13
14.
unite.vimとは? Vim Scriptで実装されたanythingプラグイン 似たようなプラグインとして、ku.vimや fuzzyfinder.vim等がある が、設計思想はかなり異なる いつの日か、すべてを統一するプラグインになる (予定) http://github.com/Shougo/unite.vim
14
15.
unite.vimを作った理由 自分はVim信者なので、anything.elがVimに も欲しかった しかし、fuzzyfinder.vim, ku.vimともに開発が ストップする sourceを統合できるku.vim Ver.0.3を元 に、neouiを開発スタート だが、ku.vimの中身はよく分からない その上にInsert
mode補完の限界が見えてくる もう0から自作してしまおう! 15
16.
anything.elの紹介 anything.elとは、「候補を選択しアクションを実
行する」という操作を汎用的に実行するプラグイ ン イメージとしてはファイラーに近いが、操作する ものはファイルに限定されない 候補を収集する「source」と呼ばれるものを追 加することで、何でもanything化することができ る もっと詳しい解説は、 会場にいるEmacs使いに聞こう! 16
17.
anything.elの使用例 このように、「バッファ」「ファイル」「最近使用した
ファイル」を統合し、一度に検索することができ る。 17
18.
簡単な使い方 ~/.vimにunite.vimの配布ファイルをインストールする Vimを立ち上げる :Unite buffer file
file_mruを実行する 普通に使うときは専用のキーマッピングを定義する もっと詳しい解説は:help uniteで 18
19.
unite.vimの優位性 Insert mode /
Normal modeのどちらでも使える よりVimとの親和性の高いanythingを実現 開発が盛ん 比較的簡単にsourceを追加可能 候補をマークしてアクションの実行ができる ワイルドカードの実装 スペース区切りによる絞り込み 19
20.
注意! これからはunite.vimの思想や内部構造について の話をします しかし、unite.vimはまだ開発中なので、これらの機 能は実装されていない可能性があります 実装されていなくても泣かない unite.vimを使うときは、部屋を明るくしてモニター から30cmほど離れてください
20
21.
unite.vimの設計思想 Insert modeに入って絞り込み、Normal modeで実行やactionの 選択を行う ku.vim,
fuzzyfinder.vimのように、Vim組み込みの補完リストは使 用しない action, sourceは自由に追加・カスタマイズが可能 sourceにはパラメータを渡せないので、:FufFile pathみたいなこと はできない 曖昧マッチはできない。パフォーマンスの影響があるため。 sortはsourceを指定した順番で行われる。同一sourceの順序づけ はsource内で行う。この仕様はanything.elと同一。 ワイルドカードはあるが、正規表現で検索はしない。メタキャラクタに よるマッチは邪魔である。 21
22.
kind buffer, file, directoryのように、候補の型による共通の操作をまとめ たもの 標準のもの以外にも、ユーザーやsourceで自由に追加可能 kindがそれぞれのactionを定義している(source側で上書きも可 能) ku.vimではsouceがkindを持っているが、unite.vimではkindを持 つのは候補(candidates)側である ディレクトリだったら絞り込み、といった設定が容易にできる ちなみに、anything.elではtypeと呼ぶ kindはku.vimの用語
22
23.
source anything.elでは情報源とも呼ぶ 候補(candidates)をいろいろなところから収集するルーチンのこと sourceがなければunite.vimはゴミ 現在はbuffer, file, file_mru,
register, bookmarkが実装されてい るが、ユーザーも自由にsourceを追加できる bufferはバッファリストからバッファの候補を収集する fileはglob()を使ってファイルの候補を収集する file_mruはautocmdを使って開いたファイルを記録し、候補とする registerはレジスタの値を候補とする bookmarkはブックマークしたファイル・ディレクトリを候補とする 23
24.
action 選択した候補に対して行う操作のこと <Enter>を押したときにはデフォルトのactionが実行される <Tab>を押すと、そのほかのアクションも実行できる 複数選択可能にしたり、実行後すぐ終了したりといったフラグを持た せることができる 例えば、openやdeleteといったactionは複数選択可能になっている
24
25.
ちなみに…… ku.vimにあったkey_tableは存在しない アクションの選択では先頭マッチによる省略と補完ができる 例:openならばoと省略ができる。 ただし、他にoで始まる候補がない場合のみ。 当初はNormal modeを主力とする予定だったが、ku.vim, fuzzyfinder.vimに慣れていたユーザーの意見により、Insert mode でもそれなりの処理ができるようになった
25
26.
ちなみに…… Normal modeが主軸なので、キーマッピングは自由自在 候補のマークなど、vimfilerの影響もかなり受けている ぶっちゃけると、いつかanything.elすら越えて、独自の進化をしたい
参考:vimfiler 26
27.
今後のunite.vim そろそろsourceの仕様を固める ユーザーがカスタマイズ可能にする ヘルプの更なる充実 neocomplcacheの補完もunite.vimに統合 helpやタグから検索してジャンプ fuzzyfinder.vimの機能の取り込み
27
28.
まとめ anythingインタフェースはもはやEmacsユーザー の専売特許ではありません! みなさんもunite.vimを活用して、快適な生活を送り ましょう
28
29.
おまけ anything.elを勉強するには、「Emacsテクニックバ イブル」がおすすめ! この本を読んで、Vimの戦闘力を向上させましょう
29
30.
ご静聴ありがとうございました 僕もまた――― Vimというエディタに踊らされただけの 犠牲者の一人に過ぎないってことさ―――
30
Télécharger maintenant