CALENDAR

2010年9月
« 7月    
 12345
6789101112
13141516171819
20212223242526
27282930  

CATEGORIES

ARCHIVES

あわせて読みたい

  • LOADING...

Vim Tips & Plugins

Vim Tips & Plugins などまとめ。

Windows & gvim tips

・クリップボード
    Ctrl-insert コピー
    Ctrl-delete カット
    Shift-insert ペースト
 
・vim 上のタブとして開く
    レジストリを弄る。
    /HKEY_CLASSES_ROOT/Applications/gvim.exe/shell/edit/command
    "インストール先のパス\gvim.exe" -p --remote-tab-silent "%1"
 
・Diffエラー
    http://nanasi.jp/articles/howto/diff/vimdiff_in_windows.html
 
・ファイル選択ダイアログからファイル選択
    :bro e
    :bro tabe
 
・開いてるファイルのディレクトリ
    C-x

vim tips

・文字コード変換
    :e ++enc=utf-8
    :set fenc=utf-8
    :set fenc=sjs
 
・折り畳み
    ビジュアルモードでくくって zf
    折り畳む&開く za

vim プラグインリスト

・project
    http://www.vim.org/scripts/script.php?script_id=69
 
・FavEx
    http://nanasi.jp/articles/vim/favex_vim.html
 
・The NERD tree
    http://www.vim.org/scripts/script.php?script_id=1658
 
・The NERD Commenter
    http://www.vim.org/scripts/script.php?script_id=1218
 
・bufexplorer
    http://www.vim.org/scripts/script.php?script_id=42
 
・mru
    http://www.vim.org/scripts/script.php?script_id=521
 
・eregex
    http://www.vector.co.jp/soft/unix/writing/se265654.html
 
・grep
    http://www.vim.org/scripts/script.php?script_id=311
 
・taglist
    http://www.vim.org/scripts/script.php?script_id=273
 
・neocomplcache
    http://github.com/Shougo/neocomplcache/tree/master
 
・CD
    http://nanasi.jp/articles/vim/cd_vim.html
 
・commentout
    http://nanasi.jp/articles/vim/commentout_source.html

neocomplcache.vim 弄り

入力から補完までディレイが欲しかったから neocomplcache.vim をちょっと弄ったメモ。

neocomplcache は入力中に自動で補完候補をだしてくれる凄く便利なプラグイン。

便利だなーと使ってたけど、だんだんとインサートモードで上下移動する際、補完候補をぐるぐると辿り続けるシュールな状態に耐えられなくなった。
インサートモードでカーソル移動すんなって話かもしれないけど。

こんな感じの設定とかしてみたけど、あまし変わらず。

let g:NeoComplCache_EnableSkipCompletion = 1
let g:NeoComplCache_SkipInputTime = '0.5'

なので、ソースを弄ってみた。

autoload/neocomplcache.vim

 32         " Auto complete events
 33         "autocmd CursorMovedI * call s:complete()
 34         autocmd CursorHoldI * call s:complete()
 35         set updatetime=500

入力止めて 500 ms で補完表示するようになった。

一応、だいたい期待する動作になったけど set updatetime=500 が周りに影響しそうでやめた。
他にやり方がありそうだナー。

もう少し使い込んでみつつ他のも試してみるかー。

作者さんから頂いたアドバイスを元に

neocomplcache.vim 2.6.1

"------------------------------------------------
" neocomplcache settings
let g:AutoComplPop_NotEnableAtStartup = 1
let g:NeoComplCache_EnableAtStartup = 1
let g:NeoComplCache_SmartCase = 1
let g:NeoComplCache_TagsAutoUpdate = 1
let g:NeoComplCache_EnableInfo = 1
let g:NeoComplCache_EnableCamelCaseCompletion = 1
let g:NeoComplCache_MinSyntaxLength = 3
let g:NeoComplCache_EnableSkipCompletion = 1
let g:NeoComplCache_SkipInputTime = '0.5'
inoremap <expr><Up> pumvisible() ? neocomplcache#close_popup()."\<Up>" : "\<Up>"
inoremap <expr><Down> pumvisible() ? neocomplcache#close_popup()."\<Down>" : "\<Down>"

こんな感じの設定したところシュールな状態は解消され、実に快適になった。

ありがとうございましたー!

Teraterm + User Keys

teraterm の User Keys 設定をしたメモ。

これもまた vim で S-Right など割り当てたい為。

teraterm設定

teraterm インストールフォルダまで移動。

KEYBOARD.CNF をエディタで開く。

以下、Shift + Right, Shift + Left の設定。

[User Keys]
User1=843,0,$1b[1;2D
User2=845,0,$1b[1;2C

結構ピンポイントでメモってるサイトがなくてだいぶハマッたハマった。

参考文献

(b) Defaultで解釈するEsc文字列。

Mac + ターミナル + S-Right

Mac のターミナルに Shift-Right (Left) など認識させるメモ。
vim のショートカットキーに割り当てる目的。

ターミナルの設定する

ターミナルの環境設定 → 設定 → キーボード → +を押す

キー に右矢印, 修飾キーに shift, 文字列を下記のシェルへ送信を選択。

送信文字列

\033[1;2C

\033 は ESC キーを押すと出る。それ以外は直接入力する。

mac_term_s_right

ついでに Crtl-右矢印, Ctrl-左矢印についても値を変更。

control 右矢印 \033[1;5C
control 左矢印 \033[1;5D

いやーしかしこれはハマったなー。

参考文献

(b) Defaultで解釈するEsc文字列。

MacVim

普通のエディタも vim にしてこうかと思い、とりあえず MacVim を入れた。

最初から日本語使えるし、見た目キレイだし、いまのとこ文句なし!

だったのだけど、iminsert の挙動がどうも微妙。

いまは、MacVim-kaoriya 使ってる。

自宅サーバ + Vim

最小構成の vim-minimal しか入っていなかったので追加インストールしたメモ。

# rpm -qa | grep vim
vim-minimal-7.0.109-4.el5_2.4z
# yum search vim
...
vim-X11.i386 : VIM バージョンの X Window System 用 vi エディタ
vim-common.i386 : すべてのバージョンの VIM エディタで必要とされる共通ファイル
vim-enhanced.i386 : 最新の拡張機能を持つバージョンの VIM エディタ
vim-minimal.i386 : 最小バージョンの VIM エディタ
# yum -y install vim-common vim-enhanced
...
Installed
# vi ~/.bashrc
alias vi='vim'
# source ~/.bashrc

vimrc + gvimrc

Vim を真面目に使ってみるメモ。

手始めに自分用の vimrc を書いた。
追加したいもの出てきたら以下を更新することにしよう。

vimconfig

vimconfig

Vimからクリップボードへコピー

vim からクリップボードへコピーする方法メモ。

.vimrc に以下の2行を貼り付け

nmap _ :.w !nkf -Ws¥|pbcopy<CR><CR>
vmap _ :w !nkf -Ws¥|pbcopy<CR><CR>

nmap はノーマルモードのキーマップ設定。
vmap はビジュアルモードのキーマップ設定。

MacPorts から nkf をインストール

nkf がインストールされてないなら、インストールする。

$ sudo port install nkf

コピーしてみる

vim で何かしらファイルを開く。
コマンドモードで _ を入力してコピー!

雑感

:set nonumber しなくて良くなった。ターミナルからのコピーが楽に。

参考

[vim]vimからMacのクリップボードにコピーする