Vim Part18 ..
[2ch|▼Menu]
2:名無しさん@お腹いっぱい。
10/09/13 11:32:25
■ 入手場所関連
- www.vim.org (総合情報・スクリプト・Tips)
URLリンク(www.vim.org)
- ソースコード他
fURLリンク(ftp.vim.org)
- KaoriYa.net (Windows/MacOS Xバイナリ、掲示板)
URLリンク(www.kaoriya.net)

■ vimの情報ソース(国内)
- VIM wiki
URLリンク(vimwiki.net)

3:名無しさん@お腹いっぱい。
10/09/13 11:34:55
■ 関連ツール・ライブラリ
- まっつんさん(im_custom他)
URLリンク(hp.vector.co.jp)
- libiconv (ソースコード)
URLリンク(www.gnu.org)
- libiconv (Windowsバイナリ)
URLリンク(www.kaoriya.net)
- ctags (日本語対応版)
URLリンク(hp.vector.co.jp)
- hown-mode.vim
URLリンク(sworddancer.funkyboy.jp)
- C/Migemo
URLリンク(www.kaoriya.net)
- Vim + im_custom の rpm 作成スクリプト
URLリンク(hp.vector.co.jp)

4:名無しさん@お腹いっぱい。
10/09/13 11:35:37
■ 日本語ドキュメント
- 名無しのvim使い
URLリンク(nanasi.jp)
- Vim日本語ドキュメント(ユーザーマニュアル和訳)
URLリンク(www.water.sannet.ne.jp)
- Vim日本語ドキュメント(リファレンスマニュアル和訳)
URLリンク(www.kaoriya.net)
- C editing with VIM HOWTO (和訳)
URLリンク(www.linux.or.jp)

5:名無しさん@お腹いっぱい。
10/09/13 11:37:08
力尽きたorz
だれか後頼むスマン

6:名無しさん@お腹いっぱい。
10/09/13 15:52:53
■ 過去ログ・関連スレ
vim
- Part1 URLリンク(pc.2ch.net)
- Part2 URLリンク(pc.2ch.net)
- Part3 URLリンク(pc.2ch.net)
- Part4 スレリンク(unix板) (dat落ち)
- Part5 スレリンク(unix板) (dat落ち)
- Part6 スレリンク(unix板) (dat落ち)
- Part7 スレリンク(unix板) (dat落ち)
- Part8 スレリンク(unix板) (dat落ち)
- Part9 スレリンク(unix板) (dat落ち)
- Part10 スレリンク(unix板) (dat落ち)
- Part11 スレリンク(unix板) (dat落ち)
- Part12 スレリンク(unix板) (dat落ち)
- Part13 スレリンク(unix板) (dat落ち)
- Part14 スレリンク(unix板) (dat落ち)
- Part15 スレリンク(unix板) (dat落ち)
- Part16 スレリンク(unix板)
- 最新テンプレ URLリンク(www.kaoriya.net)

7:名無しさん@お腹いっぱい。
10/09/13 15:54:47
vim @ソフトウェア板
- Part1 スレリンク(software板) (dat落ち)
- Part2 スレリンク(software板) (dat落ち)
- Part3 スレリンク(software板)

Chalice(2ch閲覧プラグイン)
- Part1 URLリンク(pc.2ch.net)
- Part2 URLリンク(pc2.2ch.net)
- Part3 スレリンク(software板) (dat落ち)
- Part4 スレリンク(software板)

vi
- Part1 URLリンク(pc.2ch.net)
- Part2 スレリンク(unix板)

8:名無しさん@お腹いっぱい。
10/09/13 15:56:39
- Viと仲良くする方法
スレリンク(unix板)
- 【Linux板】初心者にもやさしい【vi】 @2ちゃんねる
スレリンク(linux板)
- Vim6スクリプトお勉強スレ
スレリンク(unix板)
-「vi」の小技教えてスレ
URLリンク(pc.2ch.net)
- :::viクローン nvi:::
スレリンク(unix板)

9:名無しさん@お腹いっぱい。
10/09/13 15:57:09
いちもつ

10:名無しさん@お腹いっぱい。
10/09/13 15:58:13
- Viと仲良くする方法
スレリンク(unix板)
- 【Linux板】初心者にもやさしい【vi】 @2ちゃんねる
スレリンク(linux板)
- Vim6スクリプトお勉強スレ
スレリンク(unix板)
-「vi」の小技教えてスレ
URLリンク(pc.2ch.net)
- :::viクローン nvi:::
スレリンク(unix板)

11:名無しさん@お腹いっぱい。
10/09/13 16:00:08
あああああごめんなさいいいいいいい
>>6
- Part17 スレリンク(unix板)
を追加。

12:名無しさん@お腹いっぱい。
10/09/13 16:10:00
【Firefoxアドオン】Vimperator【Vim】
スレリンク(software板)

■ フレーム系
- Vim vs Emacs (Editor War)
スレリンク(unix板) (dat落ち)
- 秀丸をUnixに移植しろ!emacs,viはゴミ以下 3
スレリンク(unix板)
- テキストエディタをまた〜り語ろう ver.25
スレリンク(software板)

■ その他
- Vi-IMproved.org (IRCの#Vim案内)
URLリンク(www.vi-improved.org)
- Vim Tips Wiki
URLリンク(vim.wikia.com)
- 日本の Vim ユーザのためのハブサイト
URLリンク(vim-users.jp)
- vim_jp
URLリンク(groups.google.com)
- Vim Development
URLリンク(groups.google.com)
- Vim Use
URLリンク(groups.google.com)
- 効率的なテキスト編集の7つの習慣
URLリンク(peace-pipe.blogspot.com)
- Vimの極め方
URLリンク(whileimautomaton.net)

13:名無しさん@お腹いっぱい。
10/09/13 20:38:29
インデントファイルの書き方について
解説したサイトを知りませんか?

14:名無しさん@お腹いっぱい。
10/09/13 20:57:26
>>13
:help indent.txt
:edit $VIMRUNTIME/indent
URLリンク(www.vim.org)

15:名無しさん@お腹いっぱい。
10/09/13 20:59:35
やっと新スレたったか


16:名無しさん@お腹いっぱい。
10/09/13 22:33:30
シンタックスファイルの混在ってできないですか

HTMLとjavascriptみたいに

17:名無しさん@お腹いっぱい。
10/09/13 23:44:46
>>14
thanks

18:名無しさん@お腹いっぱい。
10/09/14 01:20:13
>>16
:help :syn-include かな?

19:名無しさん@お腹いっぱい。
10/09/14 09:08:54
さんくす!!!

20:名無しさん@お腹いっぱい。
10/09/15 15:36:53
How I boosted my Vim
URLリンク(nvie.com)

21:名無しさん@お腹いっぱい。
10/09/16 01:02:59
端末が EUC-JP で、Unicode のファイル扱うとき「〜」の問題に苦しんでたんだけど、みんな困ってないの?
「〜」の問題ってのは、U+301C vs U+FF5E ね。

んで、つい先日やっと解決策を見つけたから忘れないように書いておく。誰かの参考になれば。
set encoding=utf-8 "←ここは、iconvな名前通らない(これに苦しんでた)。内部表現を指示するところ。
set termencoding=euc-jp-ms "←iconv通る。内部表現と画面/キー入力の相互変換時
set fileencoding=euc-jp-ms "←iconv通る。ファイルと内部表現の相互変換時
としておくと、デフォルトが U+FF5E の入出力。
で、U+301C の「〜」を入力したいときだけ、set termencoding=euc-jp してから入力。
入力したらすぐ戻しても平気。 statusline に [U+%04B] とかしておけば、文字コードがわかって便利。長文ゴメン。

22:名無しさん@お腹いっぱい。
10/09/17 08:39:22
vim のインサートモードでタブキーを押したときの挙動を以下のようにしたいのですが、設定はどのようにすればいいでしょうか?
以下のプログラム (hoge.rb) は例です。タブ文字は >--- で、半角スペースは " " (そのまま) で表現しています。


hoge.rb
---- hoge.rb ここから ----
class HogeClass
>----def initialize(foo, bar, foobar)
>---->----@foo =foo
>---->----@bar =bar
>---->----@foobar =foobar
>----end

>----def print_vars()
>---->----puts @foo, @bar, @foobar
>----end
end
---- hoge.rb ここまで ----

タブキーを押したときの挙動を、
・インデントをする場合はタブ文字
・そうでない場合は expandtab を有効にしている時のように半角スペースで整形
を入力したいということです。宜しくお願いします。

23:名無しさん@お腹いっぱい。
10/09/17 09:43:39
どこでタブキーを押したら、どうなって欲しいのか書いてくれんと良く分からんな
「そうでない場合」の判断基準って何だ?

24:名無しさん@お腹いっぱい。
10/09/17 10:19:20
レスありがとうございます。

>>23
情報不足で申し訳ないです。。プログラム例の部分が等幅フォントでないとちょっと分かりにくかったかもしれません。
上の例で、変数の代入部分において (カーソルが = の左にあるとき) タブキーを入力することによって = の位置を揃えたいと思っています。
そして揃えるときの挙動が expandtab 有効時のようにタブ文字分の半角スペースが入力されて欲しいと思っています。

インデントでない場合の判断基準が難しいですが、インデント以外において半角スペースが入力されて欲しいので、
・カーソルが行の途中にある
・カーソルの左には既に何かしらの文字が入力されている状態
という感じで考えています。宜しくお願いします。

25:名無しさん@お腹いっぱい。
10/09/17 13:25:44
質問には答えられないんだけど
インデントにタブ文字使うの止めちゃった方がよくね?

26:名無しさん@お腹いっぱい。
10/09/17 13:37:35
ヒントだけ

function! hoge()
if getline(".")[:max(0, [col(".")-2])] =~ "^\t*$"
return "\<Tab>"
else
return "xxx"
endif
endfunction

imap <expr> <Tab> hoge()

これで、カーソル位置から行頭までがtabならばtabキーが入力され、そうでない場合は"xxx"が入力される
あとは、:help evalして自分で作る

他に>>24のような整形をするためには、Alignというプラグインがある
これは行を選択して :Align =で済む

27:名無しさん@お腹いっぱい。
10/09/17 17:56:29
neocomplcache.vim (4e271922ef57b2eec525c54dae49e949befad052)
native windows でコメントの中で、大括弧 { を使うと
Vim(let):E220: } がありません.
というようなエラーが出ます。
とりあえず、672d75e34f07b7577585532e3af236352e293359 での修正を
元に戻すと直りましたが、中の人見てましたら何らかの修正お願いします。

diff --git a/autoload/neocomplcache.vim b/autoload/neocomplcache.vim
index a8cf514..4e5218b 100644
--- a/autoload/neocomplcache.vim
+++ b/autoload/neocomplcache.vim
@@ -103,8 +103,13 @@ function! neocomplcache#enable() "{{{
   endif
   call neocomplcache#set_dictionary_helper(g:neocomplcache_keyword_patterns, 'default',
         \'\k\+')
-  call neocomplcache#set_dictionary_helper(g:neocomplcache_keyword_patterns, 'filename',
-  \'\%(\\[^[:alnum:].-]\|\f\)\+')
+  if has('win32') || has('win64')
+    call neocomplcache#set_dictionary_helper(g:neocomplcache_keyword_patterns, 'filename',
+          \'\%(\\[^[:alnum:].-]\|[[:alnum:]:@/._+#$%~-]\)\+')
+  else
+    call neocomplcache#set_dictionary_helper(g:neocomplcache_keyword_patterns, 'filename',
+          \'\%(\\[^[:alnum:].-]\|[[:alnum:]@/._+#$%~-]\)\+')
+  endif
   call neocomplcache#set_dictionary_helper(g:neocomplcache_keyword_patterns, 'lisp,scheme,clojure,int-gosh,int-clisp,int-clj',
         \'[[:alnum:]+*@$%^&_=<>~.-]\+[!?]\?')
   call neocomplcache#set_dictionary_helper(g:neocomplcache_keyword_patterns, 'ruby,int-irb',

28:名無しさん@お腹いっぱい。
10/09/17 19:11:26
>>26
レスありがとうございます。
情報収集不足で Align プラグインの存在を知りませんでした。。
Align プラグインが非常に便利で上で自分の要求を満たしてくれそうなので Align プラグインを使ってみようと思います。
示していただいた function 定義は非常に勉強になったのでこちらも利用させていただきます。
ありがとうございました。

29:名無しさん@お腹いっぱい。
10/09/18 15:43:23
すいません、間違ってwindows版の方に書き込んでしまったので
こちらでも質問させてください。

色々いじってたら
'<,'>
というのがコマンドラインのところに出ました。
これはどうやったら出るのでしょうか?何に使うのでしょうか?

また、/の検索の際に、nキーで一個ずつ進めますが、
いま選択している部分だけ消したいときはどうすればよいのでしょうか??

ご教示いただけると幸いです。

30:名無しさん@お腹いっぱい。
10/09/18 18:14:53
>> '<,'>
visualモードで : を押すとそうなる
選択範囲に対してコマンドを実行する場合に使用する

>> 選択している部分だけ消したい
検索はヒットした検索語をハイライトしているだけなので、選択しているわけではない
普通にxとかdwなどで消す
もしくは :%s/hoge//gcで該当するところだけyを押して置換するとか

31:名無しさん@お腹いっぱい。
10/09/18 19:41:15
>>27
最新リビジョンで修正されたみたいです。

32:名無しさん@お腹いっぱい。
10/09/29 22:19:06
buftabs.vim URLリンク(vim.sourceforge.net) というプラグインについて質問です。
.vimrcには
let g:buftabs_only_basename=1
let g:buftabs_in_statusline=1
を記述し、vim file1 file2 file3 と開くと、ステータスバーにバッファ一覧が表示されますが、:sp して上のウィンドウで :bn や :bp で移動すると、
バッファ一覧が消えて、buftabsを使わないときと同様のステータスバーが表示されます。:spした直後に開かれているバッファを開いているときだけは正常動作します。下のウィンドウでは正常動作します。
:sp する前に一番最初のウィンドウで :bn などで開いたバッファがあれば、そのバッファは :sp した後の上のウィンドウでも正常動作します。
これを正常動作させるにはどうしたらいいでしょうか?
vimは7.2、buftabs.vimは0.16です。

33:名無しさん@お腹いっぱい。
10/10/02 00:51:29
vimのnetrwで使えるマークを有効活用したいです。
マークしたファイル&ディレクトリをまとめてコピーしたり削除したり。

ただ現状だとディレクトリにマークを付けられないのでほとんど使い物になりません。
ディレクトリにもマークできるようにする方法は無いでしょうか?

34:名無しさん@お腹いっぱい。
10/10/02 13:13:09
>>33
いつの netrw 使ってるのか知らないけど少なくとも g:loaded_netrw == 'v140' なら普通にディレクトリにマークできるよ

35:33
10/10/02 13:46:21
>>34
ありがとうございます。
netrwを起動すると、右上に
(netrw v132)
という表示があるのですが、このことでしょうか?
だとしたらバージョンが古いためディレクトリにマークが付いてないのかな…

36:名無しさん@お腹いっぱい。
10/10/02 16:14:14
yes!

37:名無しさん@お腹いっぱい。
10/10/02 17:48:22
we

38:名無しさん@お腹いっぱい。
10/10/02 18:19:08


39:33
10/10/02 19:48:12
>>36
ありがとうございます。
ただ、ちゃんと調べてみたら、v132でも実はディレクトリにもマークが付けられてました。
マークは付いてるのに、ディレクトリだと色が変わらないんですね。。
ファイルだと黄色になるのに。

40:名無しさん@お腹いっぱい。
10/10/03 09:06:04
vimの重大なバグ

rm ~/vim/ftplugin/vim_hoge.vim
rm ~/vim/ftplugin/vim/hoge.vim
としても、バックアップファイル vim_hoge.vim~ hoge.vim~ があれば
それを読み込んでしまう。

解決法
$VIMRUNTIME/runtime/ftplugin.vim の
exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim'

exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim$ ftplugin/' . name . '/*.vim$'
に変更。

41:名無しさん@お腹いっぱい。
10/10/03 09:22:50
>>40
$VIMRUNTIME/ftplugin.vim の間違い。

追加
$VIMRUNTIME/menu.vim
$VIMRUNTIME/syntax/synload.vim
も同様に。

42:40
10/10/03 11:07:46
ごめんない。:runtime の指定に $ は使えないみたいです。
:help wildcard

だれかvim自身のpatchお願いします。

43:名無しさん@お腹いっぱい。
10/10/03 12:52:20
うちでは再現できないんだけどosとvimのバージョンは?
vim -u NONE -c "runtime! ftplugin/vim.vim ftplugin/vim_*.vim ftplugin/vim/*.vim" でもなる?


44:名無しさん@お腹いっぱい。
10/10/03 14:01:48
>>43

Windows XP
vim72-20100510-kaoriya-w32j

rev2596 (fae782ef63dd) + kaoriya.patch
で確認。

ワイルドカードの展開はシステムによって動作が違う?
cygwin-1.7では再現せず。

45:名無しさん@お腹いっぱい。
10/10/03 22:17:08
vista+vim7.3.19では大丈夫なので
7.2以降に修正が入ったかkaoriyaパッチが怪しいのかどっちかではないかと...

46:名無しさん@お腹いっぱい。
10/10/04 07:25:02
>>45
素の状態の XP + vim7.3.19 でもダメでした。

$ hg clone URLリンク(vim.googlecode.com)
rev2596 (fae782ef63dd) vim7.3.19

$ make -B -f Make_ming.mak \
CC=gcc-3 ARCH=i686 \
GUI=yes FEATURES=HUGE OLE=yes \
ICONV=yes MBYTE=yes IME=yes GETTEXT=yes \
gvim.exe 2>&1 | tee ../../make.mingw.gui.log
として何もpatchを当てずコンパイル。

>>40 では :filetype on としたときの動作を例に挙げましたが
:so[urce] {file} というような {file} が引数に含まれているものについても
同様なことが起きます。
:help :filename
:help E480
:help file-pattern

test01.vim~ という名のファイルに
let g:test = 'test01.vim~'
として保存。

gvim -u NONE -c "so test*.vim" -c "echo g:test"

test01.vim~~ というファイルがあるとき、マッチが1個以上と見なされ
E77 エラーが出るので注意。
:so test*.vim としたとき正常ならば E480 のエラーになるが
Windows XPだと、test01.vim~が読み込まれる。
XPというのが原因?
自分の環境だけだったらすいません。

47:名無しさん@お腹いっぱい。
10/10/04 10:27:04
失礼、vistaでも再現した
windowsのshort nameがマッチしてるからですね
dir /x で出るやつ
FindFirstFileの仕様
互換性とか考えるとしょうがない部分ではある
べつにpatchなんて書かなくても普通にバグレポートすればいいと思うよ

48:名無しさん@お腹いっぱい。
10/10/04 20:01:24
>>47
原因が解ってすっきりしました。
一応、vim_devに報告しましたが仕様ということで片付けられそうな予感。

URLリンク(groups.google.com)

49:名無しさん@お腹いっぱい。
10/10/05 01:16:21
単純にショートネームを見てるわけじゃなくて
1. FindFirstFileでワイルドカード検索
2. ロングネームを見て正規表現(ワイルドカードから同等のものを生成)でフィルタをかける
3. 一つも残らなかったらFindFirstFileの検索結果をそのまま使う(つまりショートネームを使う)
という不思議なことをしてるんだな

50:名無しさん@お腹いっぱい。
10/10/06 01:03:40
妖怪人間vim

51:名無しさん@お腹いっぱい。
10/10/06 07:34:06
はやくemacsに成りたい

52:名無しさん@お腹いっぱい。
10/10/06 10:44:34
IDEにかーくれて生きる

53:名無しさん@お腹いっぱい。
10/10/06 11:25:45
人にはvimrcを見せられぬ
獣のようなキーバインド

54:名無しさん@お腹いっぱい。
10/10/06 15:22:49
GUI さだめを吹き飛ばせー

55:名無しさん@お腹いっぱい。
10/10/10 02:01:05
vim 7.3にしたら構文ハイライトができなくなた。
googleに聞いてもヒットせず、泣く泣く7.2に戻した。
ChangeLog見ても。。。

56:名無しさん@お腹いっぱい。
10/10/11 00:28:55
たぶんちゃんとインストールできてないだけ

57:名無しさん@お腹いっぱい。
10/10/11 07:06:07
泣く泣く戻すような状況になるほど7.3にはいい機能が追加されているのか。
これは試してみなければ

58:名無しさん@お腹いっぱい。
10/10/12 07:12:18
7.3にはすごく良い機能がある

59:名無しさん@お腹いっぱい。
10/10/12 22:47:13
空を飛ぶのかな。

60:名無しさん@お腹いっぱい。
10/10/13 08:20:48
それはもう7.2から実装されてるし。

61:名無しさん@お腹いっぱい。
10/10/13 16:05:13
おれによーし

62:名無しさん@お腹いっぱい。
10/10/13 19:08:31
あをによし

63:名無しさん@お腹いっぱい。
10/10/13 20:20:49
あおはすすんでよし

64:名無しさん@お腹いっぱい。
10/10/14 15:21:08
>>55
: modeline

65:名無しさん@お腹いっぱい。
10/10/14 16:55:14
>>55
× :modeline
○ :se modeline

66:名無しさん@お腹いっぱい。
10/10/14 21:52:05
なんでmodelineなんだろう。
:syn onとかしてみたら?

67:名無しさん@お腹いっぱい。
10/10/15 00:38:43
>>66
65氏は、ft= とかを考えているのかも
:h 'ft' すると最初に modeline の設定が出ている
確かに filetype の設定は必要だけど
通常は modeline を使わずに、デフォルトで設定されるし
最初に疑うのは syn on だよな

68:65
10/10/15 02:42:28
言葉足らずですみません。
65で :se modeline を挙げたのは、自分の環境でも 7.2 -> 7.3 変更時に
一度ハイライトしない事象が出たので、その経験を元に書きました。

私の場合は、helpファイル(例:help.txt)をvimで開いたところ
ハイライトされなかった、というもので、7.2のときは問題なく
ハイライトされていました。

こちらの環境では、.vimrc は 7.2 と同じものを使用。
コンパイルオプションも 7.2 と同じ条件でコンパイルした上での
差異なので、7.3 ではデフォルトの設定が変わったのかも…
(ヘルプ上では、7.2/7.3いずれも、root 以外はデフォルト on
と書いてありますが…)と考えて、65 のような回答をしています。

:syn on については、7.3 のソースでもグローバルの vimrc は
普通に syntax 機能を付けてコンパイルしてあれば、有効に
なるようになっていますから(ローカルの .vimrc で意図的に
off にでもしないかぎり…):syn on の影響はないように考えて
います。

modeline の件については、7.3.27 時点でも、手元の .vimrc
から se modeline の一行をコメントアウトするか、.vimrc を
リネームするだけで再現しますので、バグかどうかは別にし
ても、7.2 との実装上の差異のように見受けられます。

69:65
10/10/15 03:12:19
追記
   いま、自宅環境でいろいろ調べたところ、次の点がわかりました。
   Ubuntu 10.10 で一般ユーザで上記 help.txt ファイルを .vimrc なしで開くと
   7.2/7.3 いずれもハイライトされませんでした。→ modeline オフ

   一方、7.3 でも Ubuntu 8.4.4 では、問題なくハイライトされます→ modeline オン
   同じことが、CentOS 5.5 でも確認されました→ modeline オン

   ということで、簡単に 7.2/7.3 の実装の違いと言い切ってしまいましたが、
   どうも環境要因も考慮する必要がありそうです。

70:名無しさん@お腹いっぱい。
10/10/15 04:33:24
>>69
そう考えているならfiletypeが適切に設定されていないことを疑うべきじゃないか?
modelineに何も記述していないにもかかわらず、modelineのon/offでハイライトが切り替わるならまだしも。


71:65
10/10/15 04:46:35
>>70
上で説明した help ファイルの filetype(ft) は、 modeline で設定されています。
したがって、modeline が環境要因などでオフに設定された段階で filetype が判定で
きず、ハイライトもされないということだと認識しています。

「modeline に何も記述してない」という点は、どこから判断されたのでしょうか。

72:65
10/10/15 04:52:51
追記
   失礼、

   modelineに何も記述しなくても、modelineのon/offでハイライトが切り替わるなら、問題は
   modeline にある、という文意でしたね。

   私の判断は、modeline に適切に filetype の指定がされているにも関わらず、
   そのファイルタイプのハイライトが反映しない=環境または実装またはその両方の要因
   により modeline がオフになっていることが直接の原因

   ととらえて、.vimrc で明示的に se modeline を指定することで対応したということを述べた
   までです。

73:65
10/10/15 04:57:51
補足
   >>72 のコメントに追加説明ですが、modeline で filetype を指定しているのですから
   modeline がオフになった段階で、filetype は設定されません。つまり、filetype が
   正しく設定されていないことは事実です。疑う余地はありません。
   ただし、本問題の対症療法的は解決策としては、filetype の設定をどうこうする、
   という観点より、modeline を正しく設定すればよいというのが簡単な方法ではないか
   と考えています。

74:名無しさん@お腹いっぱい。
10/10/15 06:06:34
.c の拡張子だと runtime/filetype.vim の設定にしたがって、
filetype=c に設定される。.rb の拡張子だと filetype=ruby に設定される。
しかし、ヘルプファイルの拡張子は、一般的なテキストファイルを表す .txt だから、
filetype は、modeline で設定する。
:h で見ることのできるファイルは、ぜんぶファイルの最後の vim:....: で
ft=help をしている。
ちなみにkoronさんの gvim フォルダの README_w32j.txt の最後は、
ft=memo を設定して、koron さんの syntax/memo.vim が反映される。

75:名無しさん@お腹いっぱい。
10/10/15 11:55:16
エスパーなのかな。状況を限定しすぎてる

76:名無しさん@お腹いっぱい。
10/10/15 15:26:50
うん、エスパー的に答えてみた。なんせ、質問者の状況が明確ではないので
ただし、事象は検証したものなので、書いておくことは、同じ経験をした人
には役に立つかと…

77:名無しさん@お腹いっぱい。
10/10/17 21:40:21
Vimでソースひらいて二分割したとき左側に関数一覧を表示するみたいなことできますか?

78:77
10/10/17 21:45:54
すいません。みつかりました
taglist.vimってやつです。

79:名無しさん@お腹いっぱい。
10/10/20 10:37:20
minibufexpl.vimやtabbar.vimのステータスラインって消せませんか?

80:名無しさん@お腹いっぱい。
10/10/20 10:53:18
きっとスクリプト書いた本人も消せるもんなら消したいと思っているだろうな…

81:名無しさん@お腹いっぱい。
10/10/20 13:18:43
:set laststatus=0で消せるよ


全部消えるけどな

82:名無しさん@お腹いっぱい。
10/10/20 19:06:13
>>81
www

83:名無しさん@お腹いっぱい。
10/10/21 18:46:08
超初歩的な質問です。
vim72-kaoriya-w32j を解凍後にgvim.exeを実行すると起動時に
常に以下のエラーが出ます。

E575: viminfo: 不正な先頭文字です 行目: O
E575: viminfo: 不正な先頭文字です 行目: U
E575: viminfo: 不正な先頭文字です 行目: ^I"^I22^IO

などのエラーメッセージです。少し調べてみて
viminfoを消せば治るという情報もあったので試してみたのですが
治りません。どうすれば治りますでしょうか?








84:名無しさん@お腹いっぱい。
10/10/21 20:55:08
それって初歩的な質問なの?

85:名無しさん@お腹いっぱい。
10/10/21 21:49:19
;e hoge でファイルを開いたとき、常に新しいタブで開くようにできますか?

86:名無しさん@お腹いっぱい。
10/10/22 00:01:59
cabbrev e tabe

87:名無しさん@お腹いっぱい。
10/10/23 07:28:52
>>86
ありがとうございます。
cabbrevって初めてしりました便利ですね

88:名無しさん@お腹いっぱい。
10/10/30 08:20:14
vimwikiの見出しの書式を以下のように変えたいです。

=Title=

#Title

3時間くらい試行錯誤してみたんですが、できませんでした。
自力では無理だという結論に達しました。
なので、誰か作ってください。
お願いしますお願いしますお願いしますお願いしますお願いします

いじるのは
/autoload/vimwiki.vim
の、650行付近にある
function! vimwiki#AddHeaderLevel() "{{{
のところだと思います!!!

89:名無しさん@お腹いっぱい。
10/10/30 19:45:23
vimwiki は、syntax highlight の有効が必須だったはず
ハイライトとかも書き換えないとマズイでしょ
でもさ、ハイライトだけを調べて、ヘッダーだと判定しているだけならばいいけど、
正規表現 /^==\+/ で判定していたらヤバイよね

90:名無しさん@お腹いっぱい。
10/11/02 21:28:34
skk.vim使用中にC-gでvimごと落ちる事象が、vim7.3から、オレのところで発生していた。
という事を以前書いた気がしていたが、見つからないので、このスレにメモっておく。
skk.vimの分家を見つけた。今のところ無問題。
URLリンク(github.com)

91:名無しさん@お腹いっぱい。
10/11/02 22:14:46
>>90
URLリンク(groups.google.com)
URLリンク(groups.google.com)

92:名無しさん@お腹いっぱい。
10/11/03 07:53:45
ありがとう。
skk.vimの作者がfixパッチを書いたなら、vim.orgのページも更新してくれりゃいいのに。
URLリンク(www.vim.org)

93:名無しさん@お腹いっぱい。
10/11/05 17:23:21
Opsploreの使い方で質問。
今はvim起動して:Opsploreで使えている状態です。ここから起動時にもプラグインが実行されるようにしたいです。
.vimrcに
set runtimepath+=$HOME/.vim/after
.vim/afterに
Opsplore
といれたんですが、実行されません。どうすればいいですか?

94:名無しさん@お腹いっぱい。
10/11/07 09:15:26
エラーが起きないなら、ディレクトリ行蔵でもまちがえてるんじゃね

95:名無しさん@お腹いっぱい。
10/11/07 12:58:11
友達のemacs使いに馬鹿にされるんですけどどうすればいいですか。

96:名無しさん@お腹いっぱい。
10/11/07 14:12:30
>>95
何を馬鹿にされてるんだ?
両刀使いの俺なら emacsしか使えないの? って言い返すけど。


97:名無しさん@お腹いっぱい。
10/11/07 17:05:41
信心が足りてません

98:名無しさん@お腹いっぱい。
10/11/07 18:05:22
>>95
))))))))))))))))))))))

ダンゴムシのAA

99:名無しさん@お腹いっぱい。
10/11/07 18:26:23
vimなら10時間ぶっ通しでコーディング出来るけどemacsでは無理

100:名無しさん@お腹いっぱい。
10/11/07 18:34:48
スクラッチでゼロから書く時はそう変わらないけど、修正したりデバッグする時はvimの方が速いと思う
テキストオブジェクト最強

101:名無しさん@お腹いっぱい。
10/11/07 20:36:36
vimで出来ることは例外無くemacsでも実現出来る。

102:名無しさん@お腹いっぱい。
10/11/07 21:00:38
マジで?

103:名無しさん@お腹いっぱい。
10/11/07 21:11:28
軽快さは失われるだろうけど。

104:名無しさん@お腹いっぱい。
10/11/07 21:12:19
だったら俺vim勉強するよりEmacsに乗り換えよ

105:名無しさん@お腹いっぱい。
10/11/07 21:16:13
>>103
そういえば、486SXでmule(emacs19)がなかなか立ち上がんなくてな。。。
それまでemacsとviを行き来していたが、結局vi系がメインになってまった。

106:名無しさん@お腹いっぱい。
10/11/07 21:27:46
問題はemacsで実現するのに要する手間だよな
viper-modeを試したり、自分でelisp書いたりもしたが、これがなかなか面倒

素直に使い分けた方が楽だ

107:名無しさん@お腹いっぱい。
10/11/07 21:41:13
メールの読み書きはemacs。
プログラミングはvim。

108:名無しさん@お腹いっぱい。
10/11/08 19:45:20
Zen CodingでCSSを書くときの実行コマンドを忘れました教えてください。
HTMLなら<Ctrl>y,のやつです。

109:名無しさん@お腹いっぱい。
10/11/08 20:31:39
Eclipsとvimを連携させたいんだけどできないかな

110:名無しさん@お腹いっぱい。
10/11/08 20:41:17
eclim

111:名無しさん@お腹いっぱい。
10/11/09 13:19:19
メールはSeaMonkey
プログラミングはGedit
設定ファイルごにょごにょはvim
2chブラウザはgvim

112:名無しさん@お腹いっぱい。
10/11/09 19:32:19
>Gedit

113:名無しさん@お腹いっぱい。
10/11/09 21:47:27
Geditさんをバカにするなよっ

114:名無しさん@お腹いっぱい。
10/11/10 03:53:49
geditは良いエディタだよ
機能の割に重いのが難点だが。

115:名無しさん@お腹いっぱい。
10/11/10 23:50:47
bramの$PATH丸見え>7.3.051

116:名無しさん@お腹いっぱい。
10/11/10 23:57:07
まじかw

117:名無しさん@お腹いっぱい。
10/11/11 08:34:08
みるなよ、エッチ

118:名無しさん@お腹いっぱい。
10/11/16 07:59:37
twitvimで、他者のつぶやき文中にコントロールコード(ascii zero)が入るんだけど、こういうもの?

119:名無しさん@お腹いっぱい。
10/11/16 09:15:21
それはvim的改行コードだね

120:名無しさん@お腹いっぱい。
10/11/17 02:01:32
windows vim で :se shell=zsh shellcmdflag=-c にして :!echo 'a|b' とすると
b' なんてないよとか言われます。
どうも "vimrun zsh -c echo 'a|b'" って感じの文字列を
デフォルトシェル?(cmd になるのかな?)で解釈実行してて、
解釈上 ' の quote が意味を持たず | が pipe とされている結果、
b' を実行しようとしてる。ようです。多分。

そんで、まあ、特殊記号を普通に扱えないわけですが、
お客様の中に windows vim で :se shell=sh とかをうまいことやってる方が
いらっしゃいましたら、お力添えをお願いします。
いらっしゃらなくてもお願いします。

121:名無しさん@お腹いっぱい。
10/11/17 07:09:15
:!"echo 'a|b'"
:echo vimproc#system("echo 'a|b'")

122:416
10/11/18 21:28:32
mの動作がよくわからないのですが
教えていただけますか?
mark というのはどういうことでしょうか

123:名無しさん@お腹いっぱい。
10/11/18 21:33:24
>>122
mはviのmと同じです。(vim特有じゃないです)

124:416
10/11/18 21:39:21
>>123
vi
で改めて検索したらわかりましたありがとうございます


125:名無しさん@お腹いっぱい。
10/11/18 23:03:02
exコマンドの中でスクリプト変数を評価して使いたいのだけど、どうすればいい?

126:名無しさん@お腹いっぱい。
10/11/18 23:19:12
:execute のことかな?

:let i='hello world'
:exec 'echo i'
hello world

127:名無しさん@お腹いっぱい。
10/11/19 00:42:13
>>126
それだ!ありがとう!
しかし、 :exec 'echo i'のiがクオートの中に入っているのに、ちゃんと変数として評価されるのが微妙に気持ち悪いね。不思議な感じ。

128:名無しさん@お腹いっぱい。
10/11/19 17:45:43
ruby書いてる時に,クラスとかeachとかの構文を:setclass とかすると,class endって行って,間に改行も含まれててカーソルはその間に戻る的なのがしたいです.
どんなん書けばいいです?

129:名無しさん@お腹いっぱい。
10/11/19 17:58:14
snippetとは違うのか

130:名無しさん@お腹いっぱい。
10/11/20 01:53:22
>>129
スニペットって補完じゃないんですか?

131:名無しさん@お腹いっぱい。
10/11/20 02:37:12
>>129は何とか意味を汲み取って、その結果スニペットを提示したんだろうけど、やりたいことを伝えきれていないからこうなったんじゃないかな。

簡単に言うと、日本語でおk>>128

132:名無しさん@お腹いっぱい。
10/11/20 03:06:25
:ab を定義すれば良いんじゃないかとエスパーしてみる

133:120
10/11/20 06:47:29
>>121
:set shell=zsh としているのは、
:!zsh -c "echo 'a|b'" とかを :!echo 'a|b' と書きたいからで、
それは " やら ' やら | の特殊記号についてエスケープとかを
本来やろうとしていることに対して余計に気にしたくないという欲求によるものです。
というか、普通に unix でできているようにしたいというだけです。
案(代替案?)を示して頂いて申し訳ないのですが、
つまり、余分に " で囲ったり、関数を噛ませたりはしたくない訳です。
:!echo 'a|b' として実行したい。

と、なんかちょっと無理そうな気はする。
unix vim だと system() とかに渡す前に \ エスケープとかしてるっぽいけど、
win32 vim だとそれがないっぽい。
system() 相当の関数から呼ばれている parser ('shell' とは別。cmd.exe ?) を
指定できればなんとかなったりするのかな。何か勘違いしてる気もするが。

>>127
:exec 'echo i' と :echo i って同じですよ。
例としては :exe '!echo' i の方が適切かと。
:exe '!echo ' . i の方が解りやすいかも。

134:名無しさん@お腹いっぱい。
10/11/20 18:35:11
Vimscriptの書き方について教えてください。
以下のように書いたら、結果がコマンドラインに表示されるんですが
バッファ内に表示させるにはどうすればいいんですか。

map <leader>f :call Test()<CR>

function Test()
  let input = input('Text: ')
  let text = input
  echo text
endfunction

135:名無しさん@お腹いっぱい。
10/11/20 21:13:23
setline
だったかで、書き込むんだよ。

136:名無しさん@お腹いっぱい。
10/11/20 23:09:33
let @z=input('Text: ')
put! z
とかもあるよ

でも一時的な表示でバッファーを使いたいというのならば、
香り屋 plugin cmdex.vim の Scratch かな
同じことだけど
new
setlocal bt=nofile noswf
これで保存しないで閉じても文句を言われない

137:名無しさん@お腹いっぱい。
10/11/21 00:47:36
>>133

解決方法その1
alias gvim='perl -we "exec q{$HOME/bin/vim/gvim.exe},
map { s/^(.*)$/(-f \$1)?qx{cygpath -aw \"\$1\"}:\$1/e; chomp; \$_; }
(@ARGV); " --'

として、cygwim から gvim を使う。


解決方法その2
if s:is_win
function! s:set_shell(shell) "{{{
let $HOME = 'E:/home/hoge'
"let $PATH = 'C:/strawberry/perl/bin' . ',' . $PATH
execute 'set shell=' . a:shell
set shellcmdflag=-ic
set shellpipe=2>&1\|\ tee
if a:shell =~# '\<zsh\.exe'
set shellredir=>&
else
set shellredir=>%s\ 2>&1
endif
set shellxquote=\"
set shellquote=
endfunction "}}}

138:名無しさん@お腹いっぱい。
10/11/21 00:48:31
function! s:set_cmd() "{{{
set shell=cmd.exe
set shellcmdflag=/c
"set shellpipe=>
set shellpipe=2>&1\|nkf\ -w>%s
set shellredir=>%s\ 2>&1
set shellxquote=
set shellquote=
endfunction "}}}

" URLリンク(got-ravings.blogspot.com)
function! s:shell()
let save_cwd = getcwd()
try
execute 'lcd ' . expand('%:p:h')
redraw!
shell
finally
execute 'lcd ' . save_cwd
endtry
endfunction

command! Shell call s:shell()
command! Mingw call s:set_shell(s:msys_home . '/bin/bash.exe')
command! Cygwin call s:set_shell(g:CygwinHome . '/bin/bash.exe')
command! Zsh call s:set_shell(g:CygwinHome . '/bin/zsh.exe')
command! Cmd call s:set_cmd()
endif

139:名無しさん@お腹いっぱい。
10/11/21 00:58:58
ちょっと変更
@@ -5,7 +5,7 @@
map { s/^(.*)$/(-f \$1)?qx{cygpath -aw \"\$1\"}:\$1/e; chomp; \$_; }
(@ARGV); " --'

-として、cygwim から gvim を使う。
+として、cygwim から native windows の gvim を使う。


解決方法その2
@@ -31,8 +31,11 @@
function! s:set_cmd() "{{{
set shell=cmd.exe
set shellcmdflag=/c
- "set shellpipe=>
- set shellpipe=2>&1\|nkf\ -w>%s
+ if &encoding ==# 'utf-8'
+ set shellpipe=2>&1\|nkf\ -w>%s
+ else
+ set shellpipe=>
+ endif
set shellredir=>%s\ 2>&1
set shellxquote=
set shellquote=

140:名無しさん@お腹いっぱい。
10/11/21 01:07:53
なんか力作キター

141:名無しさん@お腹いっぱい。
10/11/21 03:25:35
>>132
エスパーさんさすが!!
それどうやってやるですか?

142:名無しさん@お腹いっぱい。
10/11/22 04:53:08
ついさきほどvim使い始めたド素人なんですが、質問させてください!
javascriptのsyntaxをダウンロードして/syntax/に放り込んだのですが、
関数も変数も色分けされません(デフォルトの文字色)…PHPなどと違い、javascriptは控えめな色分けなのでしょうか?
ちょっとしたスペルミスなどに気づくことができず、はまってばかりです。

それともうまくインストールできてないのか…

143:名無しさん@お腹いっぱい。
10/11/22 05:06:30
どの拡張子が来たらこれを適用する。
っていうのをどっかの設定ファイルに1行かないといけない気がする

144:名無しさん@お腹いっぱい。
10/11/22 05:18:11
function とか var のキーワードがハイライトされてるならそれでおk。
PHPだと組み込みの関数も色が変わるから、それに比べたら地味に見えるかもね。

145:142
10/11/22 05:28:47
>143,144
こんな時間にレスありがとうございます><

>143
!!もう一度調べてみます;

>144
なるほど…一応それらはハイライトさています。
これは自分で作るしかない予感…

お二方ありでした!!



146:名無しさん@お腹いっぱい。
10/11/22 09:20:32
>>145
URLリンク(github.com)

147:名無しさん@お腹いっぱい。
10/11/22 17:17:00
>>135-136
できました
ありがとうございました

148:名無しさん@お腹いっぱい。
10/11/23 03:44:41
skk.vimをメンテしている方、ここにAZIKのtypoとかを修正したものがあります。
URLリンク(mrymy.cocolog-nifty.com)
URLリンク(mrymy.cocolog-nifty.com)

149:名無しさん@お腹いっぱい。
10/11/23 21:26:06
>>128

Windows ならば %USERPROFILE%\vimfiles\ftplugin\ruby.vim に
Linux ならば $HOME/.vim/ftplugin/ruby.vim に、以下を書く

inoreab <buffer> module module<cr>end<up><end>
inoreab <buffer> class class<cr>end<up><end>
inoreab <buffer> def def<cr>end<up><end>

んで、filtype が ruby のときだけ、class を書けば次行に end が入力されて
クラス名を入力する状況になる。do, case でやってもいいけど
"string" や /regexp/ の中で書くとウザイよ。
補完を停止するには、class と入力した後に、C-c する。
以下だと _ が補完の発動になるので、じゃまっけではないかも
inoreab <buffer> module_ module<cr>end<up><end>
inoreab <buffer> class_ class<cr>end<up><end>

150:名無しさん@お腹いっぱい。
10/11/24 14:06:12
>>149
おぉー!!でキター!!
ありがとうございましたっ!!

151:名無しさん@お腹いっぱい。
10/11/24 14:12:10
短縮入力っていうのね・・・
勉強になりまつ

152:名無しさん@お腹いっぱい。
10/11/26 10:08:25
" Php, php3, php4, etc. " Also Phtml (was used for PHP 2 in the past) " Also .ctp for Cake template file au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp setf php

153:名無しさん@お腹いっぱい。
10/11/28 16:06:47
>>148
これは便利!ありがたや〜

154:名無しさん@お腹いっぱい。
10/11/28 22:17:09
inset modeを出ることなしに で copy, cut ってどうやるんですか?
put(paste) は出来ました

155:名無しさん@お腹いっぱい。
10/11/30 03:47:43
どちらかというと、insertの方に入る感覚なんだよ

156:名無しさん@お腹いっぱい。
10/11/30 17:09:10
挿入って気持ちいいおね

157:名無しさん@お腹いっぱい。
10/12/01 21:38:52
くだらねぇーこと言ってんじゃねーよ!!

158:名無しさん@お腹いっぱい。
10/12/01 23:13:32
iとEsc交互に叩きながら腰を振ってたら一日が終わった。

159:名無しさん@お腹いっぱい。
10/12/02 06:27:27
任意の uri の文字エンコーディングを取得するベターな方法があれば教えてください。
とりあえず、思いついたもの。これは、大げさな気がする。
function! GuessEncode(x)
perl use Encode::Guess qw/ utf8 euc-jp shiftjis /
perl $value = VIM::Eval('a:x')
perl $guess = Encode::Guess::guess_encoding($value)
perl VIM::DoCommand("let result ='" . $guess->name . "'")
return result ==# 'ascii' ? &encoding
\ : result ==# 'utf8' ? 'utf-8'
\ : result ==# 'shiftjis' ? 'cp932'
\ : result
endfunction
" URLリンク(github.com)
" echo GuessEncode(http#get('URLリンク(hibari.2ch.net)').content)



160:名無しさん@お腹いっぱい。
10/12/03 05:58:12
大げさとか気にせずにあるものを使うのがベター。
pure vimで文字コード判定したいならgaucheのguess.cあたりを移植するのが簡単かな。

161:名無しさん@お腹いっぱい。
10/12/06 15:19:24
現在開いているバッファの数をステータスラインに表示させることはできますか?

162:名無しさん@お腹いっぱい。
10/12/07 01:17:13
こんな感じ?

set statusline=%{CountBuffers()}

function! CountBuffers()
  let cnt = 0
  for nr in range(1, bufnr('$'))
    if buflisted(nr)
      let cnt += 1
    endif
  endfor
  return cnt
endfunction

163:名無しさん@お腹いっぱい。
10/12/09 13:07:27
挿入モードからコマンドモードに戻る時に、
全角入力から半角入力に勝手に切り替わるように出来ないでしょうか。


164:名無しさん@お腹いっぱい。
10/12/09 15:51:39
inoremap <ESC> <ESC>:set iminsert=0<CR>

gvimでは効果があったけどCygwinのvimだと効かなかった

165:名無しさん@お腹いっぱい。
10/12/09 15:57:50
KaoriYa版のgvimってことを書き忘れてた

166:名無しさん@お腹いっぱい。
10/12/10 01:55:21
>>163
無印MacVimだと下の設定でGoogle日本語入力のEscによる切り替えは効いた。

set noimdisable
set iminsert=1
set imsearch=1

ただコンソールからだとうまくいかなかったりカーソルがバグったりインサートモードになったらおせっかいにも前回Escする前の入力言語にもどしてくれたりと良いことなしなので、あまりおすすめしない。
常に意識して変換するクセをつけた方が幸せになれると思う。
ヤンクとクリップボードの関係でもそうかもしれんけど、デフォルトに慣れてしまえばそう悪いもんでもない。
本家が力入れてくれるとも思えないしな。

いい設定見つけたら教えてくれ。

167:名無しさん@お腹いっぱい。
10/12/11 16:49:08
特定エディタの設定をするためだけの言語とか覚える気しねぇ
やっぱEmacsの方が分があるよな

168:名無しさん@お腹いっぱい。
10/12/11 17:01:37
emacsは設定用の言語を覚える必要がないのか?
不思議だ。

169:名無しさん@お腹いっぱい。
10/12/11 17:33:44
その言語が特定エディタのためのものかどうかって話だろ

170:名無しさん@お腹いっぱい。
10/12/11 17:38:13
lispの仕事も来ないし、趣味でlispを書くこともない俺にとっては、
lispも特定エディタ(emacs、xyzzy)の設定をするためだけの言語ですw

171:名無しさん@お腹いっぱい。
10/12/11 18:12:27
lisp知っててもemacsの設定は書けんよ。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5328日前に更新/159 KB
担当:undef