Vim 7リリース 26
ストーリー by Oliver
さあ、あなたもM-x shell[enter]vim[enter] 部門より
さあ、あなたもM-x shell[enter]vim[enter] 部門より
emacs遣いなAC曰く、"本家記事より、Bram MoolenaarによるテキストエディタVim(Vi IMproved)のversion 7がリリースされています(6.3リリース時の/.J記事)。ダウンロードページよりWindows、Unix、OS/2などの各プラットフォームのバイナリが入手出来ます。アナウンスはタレコミ時点で参照できませんが、Windows版Gvimの「:help version7」よりNEW FEATURESを抜粋すると、
- Vimスクリプトの強化
- スペルチェック機能
- 高性能な補完機能(Omni補完)
- マルチバイトテキストの印刷
- タブページ
- Undoのブランチ
- Unicodeサポートの改善
- ハイライト機能の追加
等、20項目以上が並んでいます。"
タブページ (スコア:5, 参考になる)
Re:タブページ (スコア:1)
補完機能 (スコア:5, 参考になる)
いまいち今までにあった補完機能たちとの違いがわかりませんが、辞書補完に似てる気がします。
helpのinsert.txt(和訳が香り屋さん [kaoriya.net]にあります)を見ると、Vim6までにも、使ったこともないような補完機能がいっぱいあります。
個人的によく使うのは、1ストロークのCTRL+PとCTRL+Nですが、ちゃんと関数辞書等がある言語だったり、ctagsでタグを用意してあればそれらの補完は便利に使えます。
Re:補完機能 (スコア:5, 参考になる)
:help version7 を見ると分かるけど、簡単に言うと IntelliSense っぽい補完らしいですね。現在の filetype に合わせた補完になるようです。
ちなみに、関数辞書や ctags を特に用意していない場合でも、${HOME}/include や ./include なんかを見させておくだけでも、結構違ったりします。
現状サポートされているのは以下の通り。最後のは、単に syntax を見た補完をするだけなのでは……。
それと、Undo ブランチ機能が便利なのだかわからないけど、ちょっと使ってみたい感じですね。
いいグラフィカルな表示は用意されていないようですが、10 分前に戻す (:earlier 10m) とかいうこともいけるようです。
Re:補完機能 (スコア:4, 参考になる)
http://www.vim.org/tips/tip.php?tip_id=102
を使ってタブキーでキーワード補完していた人は、vimrcを以下のように書きかえれば、
omniが使えるときはomniによるによる補完ができます。
function InsertTabWrapper()
if pumvisible()
return "\<c-n>"
endif
let col = col('.') - 1
if !col || getline('.')[col - 1] !~ '\k\|<\|/'
return "\<tab>"
elseif exists('&omnifunc') && &omnifunc == ''
return "\<c-n>"
else
return "\<c-x>\<c-o>"
endif
endfunction
inoremap <tab> <c-r>=InsertTabWrapper()<cr>
こんなに高機能なvimだけど (スコア:2, 興味深い)
あなたが新しいvi(m)を一から作りなおすとしたら、どの機能を残しますか?
Re:こんなに高機能なvimだけど (スコア:2, おもしろおかしい)
Re:こんなに高機能なvimだけど (スコア:0)
Re:こんなに高機能なvimだけど (スコア:0)
Re:こんなに高機能なvimだけど (スコア:1)
それともそういうキーが別にあったんだっけ。
それが移植されちゃうとすごいことになりそうなんですが(うっかり押しておののく人を見るのが楽しそう)。
-- やさいはけんこうにいちば〜ん!
Re:こんなに高機能なvimだけど (スコア:1)
SHIFT+hjkl
でぶつかるまで移動
すね
Re:こんなに高機能なvimだけど (スコア:0)
Re:こんなに高機能なvimだけど (スコア:4, 参考になる)
とかvimrcに書いておけばokです。 詳しくは:help swap
Re:こんなに高機能なvimだけど (スコア:0)
> とかvimrcに書いておけばokです。詳しくは:help swap
なるほど、できるのですね。これは良さげ。
あと、アンドゥが本家viライク(uでアンドゥ→uでリドゥ(連続アンドゥは.))だと良いのですが。これが出来れば乗り換えを検討するです。
Re:こんなに高機能なvimだけど (スコア:0)
1. nvi を使う
2. :set compatible しちゃう
どちらでもどうぞ。
undo だけ変えたいなら
3. :set undolevels=0
かな?
Re:こんなに高機能なvimだけど (スコア:0)
vim は標準で高機能なほうに傾いてますけど、機能を無効にすれば nvi と同じ状態にもなるし。
vim5 の頃から本家 vi とはバグの再現まで含めて99%以上の互換性を持ってます。
Re:こんなに高機能なvimだけど (スコア:0)
> vim は標準で高機能なほうに傾いてますけど、機能を無効にすれば nvi と同じ状態にもなるし。
> vim5 の頃から本家 vi とはバグの再現まで含めて99%以上の互換性を持ってます。
万歳!と思ってやってみましたが、どうも同じではないようです。
vimで:set compatibleにして、以下の操作を行ったとき、
(1) i
(2) The quick brown fox
(3) [Esc]
(4) xを連打して先頭のTまで消す
(5) uを押すと先頭のTが復活(アンドゥ)
(6) 再度Tを押すと先頭のTが消去(リドゥ)
(7) 再度Tを押すと先頭のTが復活(アンドゥ)
ここで、.を連打するとnviではすべての文字が復活(アンドゥリピート)しますが、vimだとどうも上手くいきません。これができれば乗り換えを検討するのですが。
Re:こんなに高機能なvimだけど (スコア:1)
実際本家 viもこの状態で.を押すとTが消去されるのでしかたないかと。
nvi.vim [vim.org]をvimfiles/pluginの下に放り込めば、redo, undoはあなたの希望通りの挙動になりますよ。
Re:こんなに高機能なvimだけど (スコア:1)
そこまで (vi ではなく) nvi に拘るよりは、素直に C-r で redo という VIM bind に指を慣らした方が幸せになれると思うのですが。
Re:こんなに高機能なvimだけど (スコア:0)
Re:こんなに高機能なvimだけど (スコア:0)
# だったらsedで置換しろてか:-)
ネタにマジレス (スコア:0)
制御文字がちゃんと表示されないから使い物になりません
Re:ネタにマジレス (スコア:2, 参考になる)
>制御文字がちゃんと表示されないから使い物になりません
そんなときは、
M-x terminal[enter]vim[enter]
Re:ネタにマジレス (スコア:1)
間違えて vi(m) 起動は事ありました。
でも、間違えた時以外でどんな事をしようとして
起動するんだろう?
Re:ネタにマジレス (スコア:0)