Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all 5755 articles
Browse latest View live

VimDiff for MacVim を設定してわかった事

$
0
0

MacでVimDiffを使ってみようといろいろ調べた結果を共有します。

結論

普通にvimdiffを起動するとデフォルトのvimdiffが起動するので、適時設定を変更する必要があります。
MacVimの設定をしたから大丈夫と考えていたため、意外な盲点でした。

設定例

cmdの設定をしなくてもvimdiffは機能しますが、ターミナル上ではsyntax highlightがうまく機能せず、それ以外にも問題があったので、MacでVimDiff使っている方は設定した方が幸せになれると思います。

.bash_profile
alias vimdiff='/Applications/MacVim.app/Contents/MacOS/vimdiff'
.gitconfig
[diff]algorithm=histogram    tool      = vimdiff[difftool "vimdiff"]cmd=/Applications/MacVim.app/Contents/MacOS/vimdiff $LOCAL $REMOTE

※ブログからの転載です。


VimでJSONファイルを100倍快適に作成する方法

$
0
0

タイトルは釣りです.

JavaScriptを使った開発をしていると、とかくJSONによる設定ファイルが頻出しますよね.
NPMのpackage.jsonとか, Bower.json, .jshintrc, tsconfig.json等々です.

それぞれの設定ファイルについて, どのようなkeyが必要なのか, 値には何が書けるのか, 暗記していますか?
僕は覚えていません. 毎度毎度, ググったり, リファレンスページに行ったりしてました.

npm initbower initで雛型は生成してくれるものの, 全てのkeyが載っている訳ではないですし...
(JSONにコメントが許されないのが辛いですね).

そこでJSON Schemaです.
JSON Schemaを使えば, keyや値(と言ってもenum程度ですが)の補完情報を生成出来ます.
誰かがそういうVim pluginを作って無いかなと思って探したのですが, 見つからなかったので自分で作りました.
Quramy/vison .

visonはJSON Schema Storeに登録されているschemaファイルを利用します.
冒頭で列挙したpackage.json(NPM), bower.json/bowerrc(Bower), .jshintrc(JSHint), tsconfig.json(TypeScript)等、よく使うようなschemaはSchema Storeに登録されているため, visonをインストールするだけで利用可能になります.

Install

Schema StoreからJSONをDLする都合上, gitコマンドがインストールされていることが前提です.

僕はNeoBundle使いなので, NeoBundleでのインストール方法を書いておきます.
下記2行を書いて, :NeoBundleInstallを実行してください.

.vimrc
NeoBundle 'Shougo/unite.vim'
NeoBundle 'Quramy/vison'

uniteは必須ではありませんが, visonはuniteのsourceにもなっているので, あると便利です.

visonのインストールが完了したら, Vimから :VisonSetupコマンドを実行してください.
Schema StoreのJSONをvisonのキャッシュフォルダにダウンロードします.
(:VisonSetupは次回以降のVim起動時は実行不要です)

使い方

Schemaの適用

例えば, NPMのpackage.jsonを作成するとしましょう.
Vimでpackage.jsonを開いたら, :Vison package.jsonのコマンドを実行してください.
このコマンドにより, 編集中のバッファに対して, visonが管理しているschemaファイル"package.json"が適用されます.
バッファにschemaが適用されると, 補完(omni-complete)が使えるようになります.
keyの入力中に <Ctrl-x><Ctrl-o>をタイプすると, 入力可能なkeyが補完されます.
capt_comp.png

自動適用

.vimrcに下記のように記載することで, schemaを自動的に適用することができます.

.vimrc
autocmdBufRead,BufNewFile package.json Vison
autocmdBufRead,BufNewFile .bowerrc Vison bowerrc.json

:Visonコマンドはバッファのbasenameがschema名と一致している場合, 引数を省略できます. 上記のpackage.jsonに対するautocmdについては, 引数を省略しています.

Unite

uniteを使ってschemaを適用することも可能です. :Unite visonを実行すると, visonにキャッシュされたschemaファイルの一覧が表示されます.
選択してEnterをタイプすることで, :Visonコマンドと同様に, カレントバッファに選択したschemaを適用できます.
capt_unite.png

独自schemaの登録

自分でschemaファイルを作ったり, Schema Storeに存在しないshcemaファイルをダウンロードしたりした場合に, visonに登録することができます.
登録したいschemaファイルをVimで開き, :VisonRegisterSchemaコマンドを実行してください.

そのschemaファイルのbasenameをschema名として, visonに登録されます. schema名を明示的に指定したい場合は, :VisonRegisterSchema スキーマ名のように引数として指定してください.
一度登録したschemaは, Schema Storeからキャッシュしたファイルと同様に :Visonコマンドや Unite vison上から選択可能です.

なお, 現状, 自分で登録したschemaファイルを削除する仕組みがありません.
デフォルトでは, :VisonRegisterSchemaで登録したファイルは ${HOME}/.cache/vison/defaultフォルダにコピーされます.
削除する場合は, このディレクトリからファイルを削除してください.

その他

  • 実は補完の仕組みはまだ完璧でなかったりします. anyOfのような複雑なschemaについてはfeature workということで...
  • もう少し細かい内容については, :help vison.txtでドキュメントを参照してください(こちらも書き掛けですけど...)

NERDTreeが重い時はカレントディレクトリを確認してみて

$
0
0

環境

  • OS: Windows 8.1
  • Vim: gVim 7.4

起動直後に:NERDTreeするとやたら重い

Vimでディレクトリツリーを表示して楽に開いてくれるNERDTree

大変重宝していますが、Vimの起動直後に:NERDTreeすると

Please wait, caching a Large dir...

というメッセージが出てしばらく動かなくなります。

NERDTreeを起動するときのディレクトリを変えてみて

どうやらカレントディレクトリを調べると、初期位置がC:\Windowsとかになってました。
これをサイズが小さいディレクトリにcdしてやるとスムーズになるみたい。

そこで起動後のカレントディレクトリをホームディレクトリにしましょう。
ということで、以下をvimrcに追記

" 起動時のカレントディレクトリ
cd ~

これでVimを再起動すれば、直後に:NERDTreeしても重くならないですよ。

もしC直下とかで作業することが多いのならBookmarkでもすればよいのではないでしょうか。

参考

Vim becomes unresponsive when toggling NERDTREE - Super User

vimでdeleteいろいろ

$
0
0

最初viの使いにくさとカスタマイズの弱さが嫌で長らくemacserだったのですが、NeoBundleとかを知ってからvimに乗り換えています。
.vimrcをいろいろいじると簡易なIDEとしても十分使え...ることもありますし(go言語の場合はかなりよい)、colorschemeがイイカンジですから。

改めていろいろ使ってみると「こんなのあったらいいなあ」→「実はありました!」みたいなのが多くて驚きます。
今回はdeleteについてメモ代わりにまとめてみました。

基本的なお話(おさらい)

vimの場合、delete(削除)は消したい位置にカーソルを持って行ってコマンドモードで
d<enter>もしくはdd(1行削除)
みたいにします。つまりdがdeleteコマンドです。念のため。

今回のお題

こういう行があったとします。

          hello, xdelete!!!
  • 左側の空白を削除したい

あっちこっちで編集してるとうっかりハードタブとソフトタブ(スペース)が入り混じったりしてインデントがぐちゃぐちゃになるケースって結構あると思います。そのときは左側の空白を一回消してタブ打ち直すか!となりませんか?(goだとgo fmtがあるから無敵か...)
こういう場合は行頭にカーソルを移動してから
d/h<enter>(文字'h'より手前を削除)
または正規表現を使って
d/\S<enter>('\S'(空白以外の文字)より手前を削除)でOK。
文字数がわかってれば10xでもいいんですが上記のようにハードタブと混じってるとアウトですし。
結果はもちろん

hello, xdelete!!!

になります。

  • 特定の文字まで含めて削除したい

xdeleteのxがイヤンな感じなので消します。
この場合はdfx(文字'x'を含めて削除)。
結果は

delete!!!

になります。

  • カーソルがどこにいてもその単語をまるまる消したい

例えばカーソルがhelloの最初のlの前にいた場合、単純にdwってすると

          he, xdelete!!!

になりますが、dawとすると単語がまるまる消えて

          , xdelete!!!

になり、daWとすると続くカンマと空白まで消えて

          xdelete!!!

となります。

補足

他のコマンド、c, y, tなどでも同じように使えます。

ubuntu14.04のデフォルトVimに色分けが入っていない件

$
0
0

ubuntuのvimはデフォルトで色分け機能が入っていない。
下記コマンドを実行すると、色分けされる。

sudo apt-get install vim-nox

vimshellで文字コードを制御する

$
0
0

はじめに

Windowsのコマンドプロンプトに機能不足を感じるvimmerにとってvimshellは頼もしい存在です。
ですが、GitやGoのようにUTF-8を出力するコマンドでは文字化けしてしまいます。
そんな場合の対処方法を紹介します。

exeのencodingオプション

他のコマンドを実行するexe内部コマンドに--encodingオプションがあり、ここでコマンドが出力する文字コードを指定できます。
指定できる文字コードはiconvに準拠しています。

使用例

$ exe --encoding=utf-8 git log

以下のように~/.vimshrcにaliasを定義してもよいでしょう。

~/.vimshrc
alias git='exe --encoding=utf-8 git'

g:vimshell_interactive_encodings変数

g:vimshell_interactive_encodings変数はキーにコマンド名、値が文字コードの辞書で、キーと一致したコマンドが実行されるとその出力は値で指定された文字コードで変換されます。
また、キーに/が含まれているとコマンド名ではなくコマンドのパスに含まれるかチェックされます。

Windowsの場合だけ以下の初期値が設定されています。

キー
/MinGW/bin/utf-8
/msysgit/bin/utf-8
/cygwin/bin/utf-8
goshutf-8
fakecygptyutf-8

活用例

Windowsの場合

SourceTree経由でインストールしたgitを使っているので次のように設定しています。
このようにディレクトリを指定するとlsfindなど他のコマンドも一括指定できます。

.vimrc
letg:vimshell_interactive_encodings = {
\'/Users/'.$USERNAME.'/AppData/Local/Atlassian/SourceTree/git_local/':'utf-8',
\}

OSXの場合

OSXのデフォルト文字コードはUTF-8なので問題なさそうに見えますが、ファイル名だけは改変NFDであるUTF-8-MACが使われているので、ファイル名を出力するlsfindで濁点、半濁点を含むファイル名の表示がおかしくなります。
そこで少し乱暴ですが/utf-8-macを指定してしまいます。
また、g:vimshell_user_promptのカレントディレクトリ名も同様に変換します。

.vimrc
letg:vimshell_interactive_encodings = {
\'/':'utf-8-mac',
\}
letg:vimshell_user_prompt ='iconv(fnamemodify(getcwd(), ":~"), "utf-8-mac", "char")'

勉強しよう -Vim編-

$
0
0

Qiitaを始めてずっとROM専。
「自分から何か発信してみたい」と「何か勉強しよう」と漠然と思い、
再燃してきたVimについて書いていこうと思う。
(既に多くの方がVim関連の投稿をされててびびりながら)

準備

何はともあれVimを使えるようにインストールしなければ。
偉大な先人達が作ってくれたVimを頂く。ありがたい。
色々あるようだが以下をインストールする。

windowsはこちらからVim — KaoriYa
MacはこちらからMacVim

index 基本操作

まず何か書こうとすると何か書けない。それどころかカーソル移動すら違和感。
という初めてのVim(Linuxサーバ上でのView/Vi君でした)を思い出しつつ改めて勉強しよう。

  • hjklでそれぞれ左下上右にカーソル移動。
  • 入力したいときはまずはiを押してから入力する。
  • 入力が終わったらescキーを押す。
  • 一時保存するときはescキーを押して:w。保存して閉じる時は:wq
  • 保存せずに閉じるときはescキーを押して:q!

多分これで書きたいことは書けるし保存できる。
まったくVimのいいとこ無しの時代。

覚えた操作01

  • xを押すとカーソル直下の文字を1文字削除。
  • rを押してから任意の文字を打つとカーソル直下の文字を置換できる。

どちらもいちいちiとか押さなくていいので編集するとき便利。
* 間違えたらesc押してuを押すと元に戻す。Undo。「Ctrl + z」的な。まじお世話になるキー。
* Ctrl + rを押すと取り消しを取り消してくれる。やり直し。Redo。「Ctrl + y」的な。そこそこお世話に。
* :set nuで行番号が表示される。見やすくなるので開いたら即打つ。

覚えた操作02

Vimには4つのモードがある。まずモードを覚えるといいらしい。

モード名切替えるには思ったこと
ノーマルモードeschjklで移動するモード。入力できない感じのやつ。
インサートモードioなど入力できる感じの。
コマンドラインモード:を押してから各種コマンド入力やってると玄人っぽい。
ビジュアルモードv「Shiftキー押しっぱなしモード」だとイメージし易かい。

上の「切替えるには」で各モードを切り替える。
とりあえずこういうもんだと思いばしばしモードを切り替える練習をする。

  • yyが行コピー(ヤンクと言うらしい)
  • pがペースト
  • /を押して検索したいキーワードを入力しEnter。以降はnで次を検索。F3的な。Nで前を検索。Shift + F3的な。
  • *を押すとカーソル位置の単語でハイライト(まじ便利!)かつ検索した扱いなのでnとかNが効く。ハイライトが邪魔になったら:noh(no highlight)で消せる。

やっぱりエディターなんだからコピペと検索を覚えねば。今回はこの辺で終了。

所感

  • 書き出した操作を1つずつ手になじむまで使ってみる。何も見なくても自然に書けるようになったら次に進もう。
  • ちょっとずつ編集して(後から追記できるよね??)勉強していこう。
  • 書いていて他の方の投稿のリンクを貼りたい・・・ でも小心者なのでびくびくして貼れない。 やっぱいきなりじゃ迷惑か?とか考えちゃう。 やっぱ貼ろう!

参考

投稿に辺り非常に参考にした投稿をご紹介。
hachi8833さんのVim幼稚園からVim小学校へ

初心者Vimmerに伝えたい地味に便利な.vimrcの設定

$
0
0

Vimmerのいろんな人の記述を見ながら.vimrcの設定をした。
とりわけ地味だけどちょっとVimライフが幸せになりそうな記述を並べてみる。
※自分はMacVimをVimの代わりにターミナル上で起動するようにしています。

スクロール送りを開始する前後の行数を指定

いい感じにページが送られて地味にソース読みやすい。

set scrolloff=5

検索結果のハイライトと取り消し

検索結果をハイライトして、その後ESC2回押しですぐ消せて地味に目に優しい。

set hlsearch
nnoremap <ESC><ESC> :nohlsearch<CR>

エラービープ音の全停止

トゥッ!トゥッ!てならなくて地味に耳に優しい。

set visualbell t_vb=
set noerrorbells

カーソル行の背景色変更

カーソルのある行がわかりやすくて地味に操作しやすい。

set cursorline

検索結果の対象を中央に表示

検索対象がすぐ目について地味に親切。

"検索語が画面の真ん中に来るようにする
nmap n nzz 
nmap N Nzz 
nmap * *zz 
nmap # #zz 
nmap g* g*zz 
nmap g# g#zz

インサートモードから抜ける時に便利なキーバインド

jjでインサートモードからコマンドモードに戻れるのが、地味なようで便利すぎて考えた人神。

inoremap <silent> jj <ESC>

参考:Vim幼稚園からVim小学校へ
http://qiita.com/hachi8833/items/7beeee825c11f7437f54

全角スペースの可視化

地味に大事。

highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=#666666
au BufNewFile,BufRead * match ZenkakuSpace / /

ヤンクしたデータをクリップボードで使用&選択範囲自動コピー

なんだかんだで地味に使用頻度高い。

set clipboard=unnamed,autoselect

※使用できるかは環境による
参考:http://nanasi.jp/articles/howto/editing/clipboard.html


とりあえず地味シリーズはこんなもんでしょうか。


[vim]すでにあるファイル開いて、編集後別名で保存して閉じる

$
0
0

すでにあるファイル開いて、
編集後別名(下のfilenameという名前)で
保存して閉じようと思い

:w filename

とすると、新しいファイルには遷移しないので
saveas(sav)を使うと遷移するが、もう消したいというときには

:sav filename|q

とする。パイプせずにwqみたいにできればいいんだが・・・

Vimで現在開いているファイルのfiletypeを確認する

$
0
0

.vimrcにインデントの設定を書く時に、「あれ、これfiletypeなんだっけ?」ってなった時のために。

:echo &filetype

でいける。

複数プロセス間でyank/pasteできるvimプラグイン(yanktmp.vim改造)

$
0
0

はじめに

自作vimプラグインrtakasuke/yanktmp.vimの紹介です。

複数プロセス間を跨いでの yank / paste が可能になります。
screenやtmuxを使っている方におすすめです。

secondlifeさんのyanktmp.vimを基に、改造を加えました。

オリジナルで元々できたこと

オリジナルは行単位でのyankのみ対応していた
L1.pngL2.png

できるようになったこと

文字単位でのyankにも対応しました
S1.pngS2.png

できないこと

矩形選択はごめんなさい。
B1.png

使い方

インストール

NeoBundleの場合

NeoBundle 'rtakasuke/yanktmp.vim'

キーマッピング

map <silent> sy :call YanktmpYank()<CR>
map <silent> sp :call YanktmpPaste_p()<CR>
map <silent> sP :call YanktmpPaste_P()<CR>

ねこのアスキーアートが出るvimプラグイン(vim-neko)

$
0
0

はじめに

自作vimプラグインvim-nekoの紹介です。
ランダムにねこのアスキーアートが出ます。

スクリーンショット

1__vim.png

使い方

インストール

NeoBundleの場合

NeoBundle 'rtakasuke/vim-neko'

キーマッピング

map <silent> neko :Neko<CR>

ねこ募集

可愛いねこのプルリクをお待ちしています(審査あり)

vimでsudoを付け忘れた時に…

$
0
0

こんな経験にあったことはありませんか

スクリーンショット 2015-05-08 16.50.20.png

「うわーん、ドラ◯もん!sudoつけ忘れたよぉ!」

解決方法

:w !sudo tee > /dev/null %

覚えられないよ

.vimrcに

# 保存時にsudo権限で無理やり保存
cnoremap w!! w !sudo tee > /dev/null %<CR> :e!<CR>

と設定し、vimで保存時に

:w!!

注意事項

  • そもそもsudo権限がない
  • 3回以上パスワードを間違える
  • ctrl+c等でキャンセルする

と編集がリフレッシュされて消えます.

これが嫌な人は、.vimrcを

# 保存時にsudo権限で無理やり保存
cnoremap w!! w !sudo tee > /dev/null %<CR>

に変更して

:w!!

で保存した後に

:e!

で再読み込みをするか

:q!

でバッファを閉じでください。

XCodeでvimキーバインドを使えるようになるまでの手順

$
0
0

XCodeでvimキーバインドを使えるようになるまでの手順

  • XVimをインストール
cd ~/Library/Application\ Support/Xcode/
mkdir plugins
git clone https://github.com/XVimProject/XVim
cd XVim
make
  • ~/.xvimrcの設定
cd ~
vim .xvimrc //.xvimrcに設定を書き込む
  • Ctrl + P, Ctrl + N で上下移動に設定する

挿入モード時にxcodeのデフォルトではCtrl+P, Ctrl+Nでコード補完が現れてしまうので、これを変更。

1. Karabinerをインストール

https://pqrs.org/osx/karabiner/index.html.ja

2. Karabinerで設定変更

Preference  
->Change Key
->EmacsMode
->Control+PNBF to Up/Down/Left/Right
->チェックをつける
  • XCodeを再起動する

XCodeでvimキーバインドを使えるようになるまでの手順

  • XVimをインストール
cd ~/Library/Application\ Support/Xcode/
mkdir plugins
git clone https://github.com/XVimProject/XVim
cd XVim
make
  • ~/.xvimrcの設定
cd ~
vim .xvimrc //.xvimrcに設定を書き込む
  • Ctrl + P, Ctrl + N で上下移動に設定する

挿入モード時にxcodeのデフォルトではCtrl+P, Ctrl+Nでコード補完が現れてしまうので、これを変更。

1. Karabinerをインストール

https://pqrs.org/osx/karabiner/index.html.ja

2. Karabinerで設定変更

Preference  
->Change Key
->EmacsMode
->Control+PNBF to Up/Down/Left/Right
->チェックをつける
  • XCodeを再起動する

screenでvimを使っている時、ESCの反応が遅い時の対処方法

$
0
0

~/.screenrc でmaptimeoutに0を設定するだけ

maptimeout 0

AtomでVimキーバインド(vim-mode, ex-mode)を使ってみた

$
0
0

動作確認バージョン

Windows版 Atom Version 0.201.0
atom4.PNG

インストール方法

[File]→[Settings]
atom1.PNG
[Install]→[Search Packages]から「vim-mode」、「ex-mode」を検索しインストールする。
atom2.PNG

atom3.PNG

個人的に対応しておいてほしい機能

機能可否
: [Exコマンド]「ex-mode」をインストールすると Shift + : で起動可能
/ [ファイル内検索]
* [カーソル位置の単語を検索]Exコマンドが起動する
検索時のハイライト×
% [カッコなどの始端から終端への移動]
gg [先頭行への移動]
G [最下行への移動]
:w [保存]
:clo [カレントウィンドウを閉じる]×
:q [カレントウィンドウを閉じる]
:qa [アプリケーションを閉じる]×
:vs [横分割]
:sp [縦分割]
Ctrl + w + k [上ウィンドウへ移動]
Ctrl + w + j [下ウィンドウへ移動]
Ctrl + w + h [左ウィンドウへ移動]
Ctrl + w + l [右ウィンドウへ移動]
Ctrl + f [一画面下へ移動]
Ctrl + b [一画面前へ移動]
gt [次のタブへ移動]
gT [前のタブへ移動]
Shift + v [行単位の範囲選択]
Ctrl + v [単一行の矩形の範囲選択]
Ctrl + v [複数行の矩形の範囲選択]×
クリップボードレジスタ共有
u [アンドゥ]
Ctrl + r [リドゥ]
yi( [指定文字「(」の内側のみコピー]指定文字が「[」、「{」の場合は成功するが、「(」、「'」、「"」の場合は失敗する
ya( [指定文字「(」の外側までコピー]指定文字が「[」、「{」の場合は成功するが、「(」、「'」、「"」の場合は失敗する
yf( [カーソル位置から指定文字「(」まで含めてコピー]
yt( [カーソル位置から指定文字「(」の1文字手前までコピー]
di( [指定文字「(」の内側のみ削除]指定文字が「[」、「{」の場合は成功するが、「(」、「'」、「"」の場合は失敗する
da( [指定文字「(」の外側まで削除]指定文字が「[」、「{」の場合は成功するが、「(」、「'」、「"」の場合は失敗する
df( [カーソル位置から指定文字「(」まで含めて削除]
dt( [カーソル位置から指定文字「(」の1文字手前まで削除]
vi( [指定文字「(」の内側のみビジュアルモードで選択]×
va( [指定文字「(」の外側までビジュアルモードで選択]×
vf( [カーソル位置から指定文字「(」まで含めてビジュアルモードで選択]×
vt( [カーソル位置から指定文字「(」の1文字手前までビジュアルモードで選択]×
f( [カーソル位置から指定文字「(」までカーソル移動]
t( [カーソル位置から指定文字「(」の一文字手前までカーソル移動]
>> [右へインデント]
<< [左へインデント]
= [オートインデント]×

Sublime Text2でVimキーバインド(Vintageモード)を使ってみた

$
0
0

動作確認バージョン

Windows版 Sublime Text 2 Version 2.0.2, Build 2221
st9.PNG

インストール方法

https://packagecontrol.io/installation#st2
ココ↑でSublime Text2用として表示されているコマンドをコピーする。
st1.PNG

[View]→[Show Console]
st2.PNG

コピーしておいたコマンドをコンソールに貼りつけて実行する。
st3.PNG

Sublime Text2を再起動すると、[Preferences]に[Package Control]のメニューが追加されます。
再起動前
st4.PNG

再起動後
st5.PNG

[Preferences]→[Settings - User]で以下のように入力し保存する。

settings
{"ignored_packages":[],"vintage_ctrl_keys":true,"vintage_use_clipboard":true}

Exコマンドを利用するために、VintageExパッケージをインストールする。
[Preferences]→[Package Control]
st6.PNG

「PackageControl: Install Package」と入力しエンター。
st7.PNG

「VintageEx」と入力しエンター。
st8.PNG

[Preferences]→[Settings - User]で以下のように入力し保存する。

settings
{"ignored_packages":[],"vintage_ctrl_keys":true,"vintage_use_clipboard":true,"vintage_start_in_command_mode":true}

個人的に対応しておいてほしい機能

機能可否
: [Exコマンド]「VintageEx」をインストールすると : で起動
/ [ファイル内検索]
* [カーソル位置の単語を検索]
検索時のハイライト
% [カッコなどの始端から終端への移動]
gg [先頭行への移動]
G [最下行への移動]
:w [保存]
:clo [カレントウィンドウを閉じる]×
:q [カレントウィンドウを閉じる]
:qa [アプリケーションを閉じる]
:vs [横分割]×
:sp [縦分割]×
Ctrl + w + k [上ウィンドウへ移動]×
Ctrl + w + j [下ウィンドウへ移動]×
Ctrl + w + h [左ウィンドウへ移動]×
Ctrl + w + l [右ウィンドウへ移動]×
Ctrl + f [一画面下へ移動]
Ctrl + b [一画面前へ移動]
gt [次のタブへ移動]×
gT [前のタブへ移動]×
Shift + v [行単位の範囲選択]
Ctrl + v [単一行の矩形の範囲選択]クリップボードのペーストが実行される
Ctrl + v [複数行の矩形の範囲選択]クリップボードのペーストが実行される
クリップボードレジスタ共有
u [アンドゥ]
Ctrl + r [リドゥ]
yi( [指定文字「(」の内側のみコピー]
ya( [指定文字「(」の外側までコピー]
yf( [カーソル位置から指定文字「(」まで含めてコピー]
yt( [カーソル位置から指定文字「(」の1文字手前までコピー]
di( [指定文字「(」の内側のみ削除]
da( [指定文字「(」の外側まで削除]
df( [カーソル位置から指定文字「(」まで含めて削除]
dt( [カーソル位置から指定文字「(」の1文字手前まで削除]
vi( [指定文字「(」の内側のみビジュアルモードで選択]
va( [指定文字「(」の外側までビジュアルモードで選択]
vf( [カーソル位置から指定文字「(」まで含めてビジュアルモードで選択]
vt( [カーソル位置から指定文字「(」の1文字手前までビジュアルモードで選択]
f( [カーソル位置から指定文字「(」までカーソル移動]
t( [カーソル位置から指定文字「(」の一文字手前までカーソル移動]
>> [右へインデント]
<< [左へインデント]
= [オートインデント]

PhpStormでVimキーバインド(IdeaVIM)を使ってみた

$
0
0

動作確認バージョン

Windows版 PhpStorm 8.0.3 Build #PS-139.1348, built on February 12, 2015
ps1.PNG

インストール方法

[File]→[Settings]
ps2.PNG

「Plugins」の画面で「Browse repositories」ボタンをクリックする。
ps3.PNG

「Browse repositories」の画面で検索欄に「IdeaVim」と入力し、「Install plugin」ボタンよりインストールする。
ps4.PNG

ダウンロードの同意を求められるので「Yes」ボタンをクリックする。
ps5.PNG

インストール完了後、PhpStormの再起動を求められるので、「Restart PhpStorm」ボタンをクリックする。
ps6.PNG

すぐに再起動してプラグインを有効化するか同意を求められるので、「Restart」ボタンをクリックする。
ps7.PNG

個人的に対応しておいてほしい機能

機能可否
: [Exコマンド]
/ [ファイル内検索]
* [カーソル位置の単語を検索]
検索時のハイライト×
% [カッコなどの始端から終端への移動]
gg [先頭行への移動]
G [最下行への移動]
:w [保存]
:clo [カレントウィンドウを閉じる]
:q [カレントウィンドウを閉じる]
:qa [アプリケーションを閉じる]全てのウィンドウを閉じるがアプリケーションは閉じない
:vs [横分割]
:sp [縦分割]
Ctrl + w + k [上ウィンドウへ移動]
Ctrl + w + j [下ウィンドウへ移動]
Ctrl + w + h [左ウィンドウへ移動]
Ctrl + w + l [右ウィンドウへ移動]
Ctrl + f [一画面下へ移動]
Ctrl + b [一画面前へ移動]
gt [次のタブへ移動]
gT [前のタブへ移動]
Shift + v [行単位の範囲選択]
Ctrl + v [単一行の矩形の範囲選択]
Ctrl + v [複数行の矩形の範囲選択]
クリップボードレジスタ共有:set clipboard=unnamed と入力するか ~/.ideavimrc に同じ内容を記述することで可能
u [アンドゥ]
Ctrl + r [リドゥ]
yi( [指定文字「(」の内側のみコピー]
ya( [指定文字「(」の外側までコピー]
yf( [カーソル位置から指定文字「(」まで含めてコピー]
yt( [カーソル位置から指定文字「(」の1文字手前までコピー]
di( [指定文字「(」の内側のみ削除]
da( [指定文字「(」の外側まで削除]
df( [カーソル位置から指定文字「(」まで含めて削除]
dt( [カーソル位置から指定文字「(」の1文字手前まで削除]
vi( [指定文字「(」の内側のみビジュアルモードで選択]
va( [指定文字「(」の外側までビジュアルモードで選択]
vf( [カーソル位置から指定文字「(」まで含めてビジュアルモードで選択]
vt( [カーソル位置から指定文字「(」の1文字手前までビジュアルモードで選択]
f( [カーソル位置から指定文字「(」までカーソル移動]
t( [カーソル位置から指定文字「(」の一文字手前までカーソル移動]
>> [右へインデント]
<< [左へインデント]
= [オートインデント]

NetBeans8でVimキーバインド(jVi)を使ってみた

$
0
0

動作確認バージョン

Windows版 NetBeans IDE 8.0.2 (Build 201411181905)
nb1.png

インストール方法

[ツール]→[プラグイン]→[使用可能なプラグイン]から「jVi」を検索するとNetBeans7用のものがインストールされてしまうので、NetBeans8の場合は↓この辺りを参考にインストールを行います。

インストール後、[ツール]→[オプション]→[jVi Config]から設定を行います。
nb3.png

非常に多くの設定項目が準備されているので、必要に応じて修正してください。
nb2.png

個人的に対応しておいてほしい機能

機能可否
: [Exコマンド]
/ [ファイル内検索]
* [カーソル位置の単語を検索]
検索時のハイライト
% [カッコなどの始端から終端への移動]
gg [先頭行への移動]
G [最下行への移動]
:w [保存]
:clo [カレントウィンドウを閉じる]
:q [カレントウィンドウを閉じる]
:qa [アプリケーションを閉じる]×
:vs [横分割]
:sp [縦分割]
Ctrl + w + k [上ウィンドウへ移動]
Ctrl + w + j [下ウィンドウへ移動]
Ctrl + w + h [左ウィンドウへ移動]
Ctrl + w + l [右ウィンドウへ移動]
Ctrl + f [一画面下へ移動]
Ctrl + b [一画面前へ移動]
gt [次のタブへ移動]
gT [前のタブへ移動]
Shift + v [行単位の範囲選択]
Ctrl + v [単一行の矩形の範囲選択]
Ctrl + v [複数行の矩形の範囲選択]
クリップボードレジスタ共有
u [アンドゥ]
Ctrl + r [リドゥ]
yi( [指定文字「(」の内側のみコピー]
ya( [指定文字「(」の外側までコピー]
yf( [カーソル位置から指定文字「(」まで含めてコピー]
yt( [カーソル位置から指定文字「(」の1文字手前までコピー]
di( [指定文字「(」の内側のみ削除]
da( [指定文字「(」の外側まで削除]
df( [カーソル位置から指定文字「(」まで含めて削除]
dt( [カーソル位置から指定文字「(」の1文字手前まで削除]
vi( [指定文字「(」の内側のみビジュアルモードで選択]
va( [指定文字「(」の外側までビジュアルモードで選択]
vf( [カーソル位置から指定文字「(」まで含めてビジュアルモードで選択]
vt( [カーソル位置から指定文字「(」の1文字手前までビジュアルモードで選択]
f( [カーソル位置から指定文字「(」までカーソル移動]
t( [カーソル位置から指定文字「(」の一文字手前までカーソル移動]
>> [右へインデント]
<< [左へインデント]
= [オートインデント]

Microsoft Visual Studio Community 2013でVimキーバインド(VsVim)を使ってみた

$
0
0

動作確認バージョン

Microsoft Visual Studio Community 2013 Version 12.0.31101.00 Update 4
vsc4.PNG

インストール方法

[ツール]→[拡張機能と更新プログラム]
vsc1.PNG
[オンライン]→[Visual Studio ギャラリーの検索]から「VsVim」を検索しインストールする。
vsc2.PNG
指示通り再起動を行う。
vsc3.PNG

Visual Studioと競合するキーバインドをVsVim優先にする
[ツール]→[オプション]
vsc4.PNG

[VsVim]→[Keyboard]から競合するキーバインドを見つけたら、[Visual Studio]から[VsVim]に変更してOKボタンをクリックする。
vsc5.PNG

個人的に対応しておいてほしい機能

機能可否
: [Exコマンド]
/ [ファイル内検索]
* [カーソル位置の単語を検索]
検索時のハイライト×
% [カッコなどの始端から終端への移動]
gg [先頭行への移動]
G [最下行への移動]
:w [保存]
:clo [カレントウィンドウを閉じる]
:q [カレントウィンドウを閉じる]
:qa [アプリケーションを閉じる]
:vs [横分割]
:sp [縦分割]
Ctrl + w + k [上ウィンドウへ移動]
Ctrl + w + j [下ウィンドウへ移動]
Ctrl + w + h [左ウィンドウへ移動]×
Ctrl + w + l [右ウィンドウへ移動]
Ctrl + f [一画面下へ移動]
Ctrl + b [一画面前へ移動]
gt [次のタブへ移動]
gT [前のタブへ移動]
Shift + v [行単位の範囲選択]
Ctrl + v [単一行の矩形の範囲選択]
Ctrl + v [複数行の矩形の範囲選択]
クリップボードレジスタ共有:set clipboard=unnamed と入力するか ~/.vsvimrc に同じ内容を記述することで可能
u [アンドゥ]
Ctrl + r [リドゥ]
yi( [指定文字「(」の内側のみコピー]
ya( [指定文字「(」の外側までコピー]
yf( [カーソル位置から指定文字「(」まで含めてコピー]
yt( [カーソル位置から指定文字「(」の1文字手前までコピー]
di( [指定文字「(」の内側のみ削除]
da( [指定文字「(」の外側まで削除]
df( [カーソル位置から指定文字「(」まで含めて削除]
dt( [カーソル位置から指定文字「(」の1文字手前まで削除]
vi( [指定文字「(」の内側のみビジュアルモードで選択]
va( [指定文字「(」の外側までビジュアルモードで選択]
vf( [カーソル位置から指定文字「(」まで含めてビジュアルモードで選択]
vt( [カーソル位置から指定文字「(」の1文字手前までビジュアルモードで選択]
f( [カーソル位置から指定文字「(」までカーソル移動]
t( [カーソル位置から指定文字「(」の一文字手前までカーソル移動]
>> [右へインデント]
<< [左へインデント]
= [オートインデント]
Viewing all 5755 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>