パスワードを忘れた? アカウント作成
12456 story

Vim 7リリース 26

ストーリー by Oliver
さあ、あなたも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, 参考になる)

    by Anonymous Coward on 2006年05月09日 10時16分 (#935325)
    ユーザーとしては、タブ機能がついたことがうれしいです。 :sp とかだと画面が分割されて、1ファイルあたりの表示面積が少なくなっていくので。
  • 補完機能 (スコア:5, 参考になる)

    by kazami (16479) on 2006年05月09日 10時34分 (#935336)
    Omni補完が増えて、辞書を用意しなくてよくなった?
    いまいち今までにあった補完機能たちとの違いがわかりませんが、辞書補完に似てる気がします。

    helpのinsert.txt(和訳が香り屋さん [kaoriya.net]にあります)を見ると、Vim6までにも、使ったこともないような補完機能がいっぱいあります。
    個人的によく使うのは、1ストロークのCTRL+PとCTRL+Nですが、ちゃんと関数辞書等がある言語だったり、ctagsでタグを用意してあればそれらの補完は便利に使えます。
    • Re:補完機能 (スコア:5, 参考になる)

      by Stealth (5277) on 2006年05月09日 13時18分 (#935446)

      :help version7 を見ると分かるけど、簡単に言うと IntelliSense っぽい補完らしいですね。現在の filetype に合わせた補完になるようです。

      ちなみに、関数辞書や ctags を特に用意していない場合でも、${HOME}/include や ./include なんかを見させておくだけでも、結構違ったりします。

      現状サポートされているのは以下の通り。最後のは、単に syntax を見た補完をするだけなのでは……。

      • C 言語
      • (X)HTML with CSS
      • JavaScript
      • PHP
      • Python
      • Ruby
      • SQL
      • XML
      • Syntax ハイライト追従可能ないろんな言語

      それと、Undo ブランチ機能が便利なのだかわからないけど、ちょっと使ってみたい感じですね。

      いいグラフィカルな表示は用意されていないようですが、10 分前に戻す (:earlier 10m) とかいうこともいけるようです。

      親コメント
    • Re:補完機能 (スコア:4, 参考になる)

      by t-wata (10969) on 2006年05月09日 18時38分 (#935675) 日記
      とりあえず
      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>
      親コメント
  • by Anonymous Coward on 2006年05月09日 17時05分 (#935620)
    あなたが良く使う機能は、全機能の1割しかありません。
    あなたが新しいvi(m)を一から作りなおすとしたら、どの機能を残しますか?
    • by Anonymous Coward on 2006年05月09日 17時10分 (#935623)
      編集モード
      親コメント
    • hjklを筆頭としたrouge互換のキーアサイン(違)
    • 本来viって、カレントディレクトリに作業ファイルを作らないんだけど、vimは作っちゃうからカレントディレクトリが更新されちゃって困ります。nviみたいに作らないようにできますか?
      • by t-wata (10969) on 2006年05月09日 22時33分 (#935788) 日記
        set dir=~/tmp
        とかvimrcに書いておけばokです。 詳しくは:help swap
        親コメント
        • > set dir=~/tmp
          > とかvimrcに書いておけばokです。詳しくは:help swap
          なるほど、できるのですね。これは良さげ。
          あと、アンドゥが本家viライク(uでアンドゥ→uでリドゥ(連続アンドゥは.))だと良いのですが。これが出来れば乗り換えを検討するです。
          • viっぽいのがいいのなら、
              1. nvi を使う
              2. :set compatible しちゃう
            どちらでもどうぞ。
            undo だけ変えたいなら
              3. :set undolevels=0
            かな?
          • nvi に出来てvim に出来ないことはないですよ。
            vim は標準で高機能なほうに傾いてますけど、機能を無効にすれば nvi と同じ状態にもなるし。
            vim5 の頃から本家 vi とはバグの再現まで含めて99%以上の互換性を持ってます。
            • > nvi に出来てvim に出来ないことはないですよ。
              > 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だとどうも上手くいきません。これができれば乗り換えを検討するのですが。
  • by Anonymous Coward on 2006年05月09日 10時23分 (#935329)
    >M-x shell[enter]vim[enter]

    制御文字がちゃんと表示されないから使い物になりません
typodupeerror

計算機科学者とは、壊れていないものを修理する人々のことである

読み込み中...