Vim Part18at UNIX
Vim Part18 - 暇つぶし2ch2:名無しさん@お腹いっぱい。
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の設定は書けんよ。

172:名無しさん@お腹いっぱい。
10/12/11 20:37:20
>>168
細かな設定には lisp を書く必要もあるだろうけれど
M-x customize とか customize-group とか使えば
lisp わからなくてもいじれる気がする。

173:名無しさん@お腹いっぱい。
10/12/11 21:11:22
昔はElisp書くことが目的になるほど夢中になってる人がたくさんいた。
今は書ける人はたくさんいるが研究してる人は少ない。
情報が出尽くして誰でもある程度のElispを書けてしまうから、ハッカーにとってみればもう魅力が無いのだろう。

174:名無しさん@お腹いっぱい。
10/12/12 05:49:16
emacs lispはCommon LispとかSchemeとかに比べるとイマイチ魅力に欠けるからなあ

175:名無しさん@お腹いっぱい。
10/12/12 06:57:38
kaoriya版のmacvimだとC-^でIMを切り替えると,insertモードに入った時にIMをオンにするかオフにするかを切り替えられるよね.
でも同じmacvimでもコンソールだとそれができないんだよね・・・
コンソール上でも出来るようにならんかな

176:名無しさん@お腹いっぱい。
10/12/12 19:51:28
こんなの出ていた

vi/Vim コマンドポケットリファレンス
URLリンク(www.amazon.co.jp)
出版社: 技術評論社 (2010/10/22)

177:名無しさん@お腹いっぱい。
10/12/12 20:53:48
>>176
これってどうなの?
俺は見送ったんだけど。

178:名無しさん@お腹いっぱい。
10/12/12 23:01:59
>>177
helpをちゃんと読める人には不要だと思う。

vimscriptをじっくり解説してくれるようなマニアな本は無いのかなぁ
elispはよく見るのに。

179:名無しさん@お腹いっぱい。
10/12/12 23:33:15
>>177
フォントが大きいせいか1ページあたりに書き込める内容が少ないから
ポケットの名を冠するわりには分厚かった

実際に携帯するポケットリファレンスとして買うなら
俺は持ってないけど、オライリーのviデスクトップ リファレンスのほうがいいんじゃないかな

180:名無しさん@お腹いっぱい。
10/12/12 23:36:47
>>137
レスが遅れ失礼。
試してみました。
解決方法1、2とも set shellxquote=\" が肝のようですね。
それ以外の部分は大体今回の問題に対しては不要、かな?

さて、これで | は使えましたが、" がそのままでは使えません。
(" → "^"" とすると使える)

解決方法1 を参考に SHELL=zshのwindowsパス としていますが、
" も使えるようにする手段としては

- vim をいじる
- vimrun をいじる
- COMSPEC にこの問題に対応したものを指定する

ぐらいかなあ、と思います。
色々試したところ、COMSPEC 変えるのはよく分からない結果になり、
vimrun いじればなんとかなるかな、って感じです。
vim をいじるより vimrun いじる方がいいかな、と。
(最近あんまりコンパイルとかしたくないけど。深い理由はなく)

# shellxquote の他に shellexpr みたいな感じのオプションがあれば、
# もっと簡単に対応できるんだけどなー。 ! のコマンドを入力に
# shell に渡す文字列を返す処理を指定するようなやつ。
# あるいは shelltype が win でも有効ならいいのか?

# というかコレバグなんだよな、多分。

181:177
10/12/12 23:44:42
>>178 >>179
ありがとう。
ちょっと余裕できたから、オライリーの方も含めて検討する事にした。

182:名無しさん@お腹いっぱい。
10/12/13 00:13:50
体系的な学習をするならオライリーの入門viが向いてるよ
あとは技術評論社の はじめての vi & Vim ってのがあるけど評判は分からない

183:名無しさん@お腹いっぱい。
10/12/13 00:15:40
vimに関しては:helpより有用な本を見たことが無いな。

184:名無しさん@お腹いっぱい。
10/12/13 01:58:40
Vim の解説 PDF があったよね。5.7 頃のやつ。
あれ印刷してベット脇において、寝る前にパラパラめくっていたら、
Vim の知らない機能をいろいろ発見して役に立ったよ。
どっちにしろ、全体的な本は必要だと思う。

185:名無しさん@お腹いっぱい。
10/12/13 01:59:45
ポケットリファレンス、各コマンドに使用頻度が1~5段階でランク付けされてるんだが、
ほとんどが4か5でまったく機能してない感じだな

186:名無しさん@お腹いっぱい。
10/12/13 12:41:11
ここにあるやつvimwikiにのせていい?

187:名無しさん@お腹いっぱい。
10/12/13 14:52:27
いいよ。

188:名無しさん@お腹いっぱい。
10/12/13 15:01:08
1行目:......$[カーソル]
2行目:^......
この状態で右方向キーを押したら
2行目の先頭に移動するようにはできないのでしょうか?
つまりFreeBSDのee(1)みたいな挙動にしたいです。


189:名無しさん@お腹いっぱい。
10/12/13 15:20:30
>188
:help whichwrap

190:名無しさん@お腹いっぱい。
10/12/13 15:35:08
おおー。これは知らなかった。横だがトン

191:名無しさん@お腹いっぱい。
10/12/13 19:11:45
>>177
他の人が書いてるように内容はアッサリ風味なんだけど
項目の順序立てが考えてあって手元に置いとくのに以外と便利
「Vim完全バイブルが大きすぎて机に置いときたくない」って俺には重宝する

もちろん内容的にはhelpに敵いようもない
パラパラと目次見て気に入れば…

192:188
10/12/13 20:10:38
>>189
┏O)) アザ━━━━ス!

193:名無しさん@お腹いっぱい。
10/12/15 00:35:49
新規でバッファを制作し始めた時に、エンコードがUTF8になるように設定するにはどうすれば良い?
KaoriyaのWin32版gvimを使っていて、標準でcp932になってしまうんだが。

194:名無しさん@お腹いっぱい。
10/12/15 01:06:02
ぐぐれよそれくらい

195:名無しさん@お腹いっぱい。
10/12/15 04:20:17
>>193
スレリンク(software板:758番)
ちゃんと該当スレ見ようぜ。

196:名無しさん@お腹いっぱい。
10/12/16 01:54:36
ヤンクされている文字で検索したり、Grepしたりするのはどうすればいいですか?

/C-r*とか書いてあったりしますけど、Ctrl+rやるとダブルクォーテーションが出てきて期待通りの結果になりません。
単純にヤンクしている文字を貼り付けられれば検索だろうがGrepだろうが簡単なんですけど…


197:名無しさん@お腹いっぱい。
10/12/16 02:21:29
その状態で*を押そう。
あと、/C-rw も便利だと思うよ。カーソルがあるところの単語を拾ってくる

198:名無しさん@お腹いっぱい。
10/12/16 03:47:58
>>196
ctrl-r で `"' が出たら, もう一回 `"'.
:h i_ctrl-r

199:名無しさん@お腹いっぱい。
10/12/16 11:15:19
>>197
>>198
ctrl+rwは出来たんですがかんじんのヤンクの方が…
つまりどういうことだってばよ


200:名無しさん@お腹いっぱい。
10/12/16 11:43:53
Ctrl-rの後に、残りのレジスタ記号を打つんだよ
" → 無名レジスタ "" (ヤンクした文字列)
* → クリップボード "*

:help registers

201:名無しさん@お腹いっぱい。
10/12/16 13:08:08
できました
どうもありがとうございました

202:名無しさん@お腹いっぱい。
10/12/17 00:09:01
^WTでウィンドウをタブにできるけど、
逆にタブをウィンドウにすることはできますか?

203:名無しさん@お腹いっぱい。
10/12/17 13:07:07
行頭でh押した時に前行の行末へ移動する
行末でl押した時に次行の行頭へ移動する

これができるような設定方法っありますか?

204:名無しさん@お腹いっぱい。
10/12/17 13:21:14
>>189ではだめな理由を

205:名無しさん@お腹いっぱい。
10/12/17 16:25:16
>>203
できる mswin.vimにかいてあったぞ

206:名無しさん@お腹いっぱい。
10/12/19 10:48:38
glob(), globpath() を使用してディレクトリやファイル名を求めるとき、
&encoding != &termencoding においてマルチバイト文字や '(' を含むファイルが
あると vim が落ちるのは自分だけ?
native windows vim7.3.087 rev2668 (bfade53bcafb) + kaoriya.patch を
mingw でコンパイルしたものは、Visual C++ Runtime Error で
vim73-20101209-kaoriya-w32j は何もエラーを出さずそのまま vim が終了する。
:echo globpath('./', '(*')
:echo glob('(*')
neocomplcache とか unite でよく落ちる。
function! neocomplcache#util#globpath(path, expr, ...)"{{{
let flag = exists('a:1') ? a:1 : 0
let save_encoding = &encoding
let l:termencoding = (has('win32') || has('win64')) && &termencoding == ''
\ ? "default" : &termencoding
let &encoding = l:termencoding
" finally がないと <C-c>で途中でキャンセルしたとき
" &encoding の値が &termencoding になる。
try let result = s:iconv(globpath(a:path, a:expr, flag),
\ l:termencoding, save_encoding)
finally
let &encoding = save_encoding
endtry
return result
endfunction"}}}
" iconv() wrapper for safety.
function! s:iconv(expr, from, to)"{{{
if !has('iconv') || a:from == '' || a:to == '' || a:from ==# a:to
return a:expr
endif
let result = iconv(a:expr, a:from, a:to)
return result != '' ? result : a:expr
endfunction"}}}

207:名無しさん@お腹いっぱい。
10/12/19 22:05:23
windows持ってないからわからんけど
デバッグ付きでビルドしてgdbかなにかで見てみるとか?

208:名無しさん@お腹いっぱい。
10/12/19 22:50:05
ウェブ屋ならemacsじゃなくてvim使え
って言われたから使ってるのだが
なんだこの糞エディタ
vimscriptとか糞過ぎる
拡張性も糞もないから愛着が沸かない

209:名無しさん@お腹いっぱい。
10/12/19 22:55:36
>>208
> ウェブ屋ならemacsじゃなくてvim使え

誰に言われたのか知らんけど多分鯖管理などリモートで作業するときのために
一通りコマンドを覚えとけってことじゃないの?
別に常用する必要はないと思うけど

210:名無しさん@お腹いっぱい。
10/12/19 23:00:03
そもそも使うエディタを他人に強要されている時点で愛着なんて沸かないだろ

211:名無しさん@お腹いっぱい。
10/12/19 23:05:13
vimを使い込むと逆にリモートの初期設定のviが使えなくなる不思議

212:名無しさん@お腹いっぱい。
10/12/19 23:09:53
209が言うように
「緊急時にサーバにログインして、ターミナルで作業する時のために使い方は知っとけ」
って意味で言われたんだと思うよ>Web屋ならVim

昔ならわかるけど、今でもそんなこと言われるんかね?

213:名無しさん@お腹いっぱい。
10/12/20 00:19:19
>>207
ありがとうございます。原因が解りました。
vim73-20101209-kaoriya-w32j のほうは、iconv.dll を KoRoNさんがビルドしたもの
を使用、mingw版は upx圧縮をしないようにすると解決しました。

214:名無しさん@お腹いっぱい。
10/12/20 01:35:06
>>208
どんな拡張がしたいの?

215:名無しさん@お腹いっぱい。
10/12/20 10:59:49
>>212
vimscript とか拡張性とか言ってるから違うんじゃないかな。
緊急用ならそんなんいらんでしょ。

216:名無しさん@お腹いっぱい。
10/12/20 12:02:42
>>205
出来ませんでしたよ
それWindowsのGUI環境じゃないと動かないんですかね
自分はCentOSなんですが。


217:名無しさん@お腹いっぱい。
10/12/20 12:09:07
>>216
>>204

218:名無しさん@お腹いっぱい。
10/12/21 10:04:05
>>216 
うごくおれもCENTOSだ mswinじゃないけどソースにあった
それくらいすぐ解決できるだろうよ
vimrcに1行かくだけだから


219:名無しさん@お腹いっぱい。
10/12/21 10:11:09
22 set backspace=indent,eol,start
23 set whichwrap=b,s,h,l,<,>,[,],

218だがこれでだめだったらおれもわからん

220:名無しさん@お腹いっぱい。
10/12/25 12:00:07
highlight CursorIM guifg=NONE guibg=Purple
としてもIMEをオンにした時に色が変わらないんですが…

221:名無しさん@お腹いっぱい。
10/12/25 12:16:32
・色が変わるのはgvimだけ
・colorschme hogeの後で設定する(ほとんどのスキームは中でhi clearしてるので)

222:220
10/12/25 12:29:17
>>221
gvimを使用して、~/.gvimrc内でcolorschemeを設定した後にやっているのですが…

223:名無しさん@お腹いっぱい。
10/12/25 13:02:36
どこで設定されているか
:verbose hi CursorIM

ターミナルでカーソルの色を設定するには
URLリンク(vim.wikia.com)

cygwin mintty の場合
let &t_SI .= "\e[5 q"
let &t_EI .= "\e[1 q"
let &t_ti = "\e[2 q\e[?1049h"
let &t_te = "\e[0 q\e[?1049l"
"set timeoutlen=50
noremap <Esc>O[ <Esc>
noremap! <Esc>O[ <Esc>

224:220
10/12/25 13:12:15
:verbise hi CursorIM
CursorIM xxx cleared
と表示されました。

225:名無しさん@お腹いっぱい。
10/12/25 13:38:59
set verbose=1 としないと設定した場所が表示されないかもしれない。
gvimrc で colorscheme hoge より後で CursorIM が設定されているかどうか
または、autocmd の ColorScheme で設定する
:help autocmd.txt
augroup GvimrcCursorIM
autocmd!
autocmd InsertEnter * highlight CursorIM guifg=NONE guibg=Purple
augroup END

226:220
10/12/25 14:36:42
>>225
うまく行きました。ありがとうございます。

227:名無しさん@お腹いっぱい。
11/01/04 21:52:24
□とか☆のような文字が入ると表示がおかしくなってしまいます。

ネットで調べると、
set ambiwidth=double
で解決するとのことですが、自分の環境では解決できませんでした。

おそらくgvimではなくターミナル内で起動させているのが原因だと思うのですが
解決する方法はあるのでしょうか。

228:名無しさん@お腹いっぱい。
11/01/04 22:48:12
>>227
端末のフォントを変えてみる
vteを使った端末なら環境変数に「VTE_CJK_WIDTH=1」を設定する

229:227
11/01/05 01:43:59
>>228
返信ありがとうございます。
頂いたアドバイスを試してみましたが直りませんでした。
ググってみるとgnome-terminalの問題らしいですね。
--disable-factoryなども合わせて試しましたがダメでした。
奥が深そうです。。

230:名無しさん@お腹いっぱい。
11/01/05 02:46:59
surround.vim改造版
URLリンク(www.sopht.jp)

231:名無しさん@お腹いっぱい。
11/01/07 21:40:37
ホーム直下の gvim 設定ファイルの代わりに
別の場所に置いた設定ファイルを読み込むようにしたいのですが
どうすればいいですか?

Vim 7.3 windows 64bit用 を使っています。

具体的には、

$HOME/_gvimrc の代わりに
$HOME/vimfiles/_gvimrc を読み込むようにしたいです。

232:名無しさん@お腹いっぱい。
11/01/07 21:43:15
~/_gvimrc
こう表記した方がいいのかな???

233:名無しさん@お腹いっぱい。
11/01/07 22:00:56
:split状態を90度回転させて:vsplit状態に移行する方法ないの?

+-------+    +-------+
|   1   |    |   |   |
|-------| => | 2 | 1 |
|   2   |    |   |   |
+-------+    +-------+

234:名無しさん@お腹いっぱい。
11/01/07 22:10:12
>>231
source .other-vimrc

>>233
Ctrl+w Shift+j

235:名無しさん@お腹いっぱい。
11/01/07 22:11:00
Ctrl+w Shift+l
か。

236:名無しさん@お腹いっぱい。
11/01/07 22:20:20
ヘルプ的には CTRL-W_L か。

237:名無しさん@お腹いっぱい。
11/01/07 22:24:40
へー
C-w L
C-w K
を組で覚えればいいんだ

238:231
11/01/08 00:22:26
>>234
ありがとうございます。
おかげさまで解決できました。

239:名無しさん@お腹いっぱい。
11/01/08 07:15:22
えー、それで解決なの?

240:231
11/01/08 07:54:07
>>239
はい、
Vim をインストールしたフォルダの設定ファイルに
下記の :soource コマンドを記述して解決しました。

if filereadable(expand('~/vimfiles/_gvimrc'))
source ~/vimfiles/_gvimrc
endif

241:名無しさん@お腹いっぱい。
11/01/08 10:41:21
neocomplcacheについて質問なのですが、
デフォルトvimの補完やAutocomplpopなどにある'complete'オプションにあたるものはどこにあるのでしょうか。
裏で読んでるバッファから単語を拾って補完してくれなくて困ってます。

242:名無しさん@お腹いっぱい。
11/01/13 01:31:55
コマンドモードでスペースキーを押してスペースを挿入できるようにするには、どうすればいいですか?


243:名無しさん@お腹いっぱい。
11/01/13 02:19:24
雰囲気的にコマンドモードがノーマルモードを指してる気がするので
:nnoremap <Space> i<Space><Esc>
とかでどうですかね。

244:名無しさん@お腹いっぱい。
11/01/14 00:28:15
>>243
エスパーの方ですか?

245:名無しさん@お腹いっぱい。
11/01/14 07:18:03
ESP能力の無い者がこのスレに迷い込んだようです、ヨミさま。

246:名無しさん@お腹いっぱい。
11/01/14 19:39:40
オムニ補完の仕組みがよく分かりません。
C言語の場合は、ソースからタグを作ってそれを参照しているということなのでまだ分かるのですが、
vim-rubyなどは、配布されている設定ファイルを.vimディレクトリに配置するだけのようです。
URLリンク(rubyforge.org)
ローカルでどのバージョンのRubyを利用しているかによって補完すべきメソッドなどは変わると思うのですが、
vim-rubyはどうやって実現してるのですか?
あるいは固定のバージョンにのみ対応しているだけですか?

247:名無しさん@お腹いっぱい。
11/01/15 02:03:08
rubyのコードがついてるくらいだから言語機能でなんかあったりしないの

248:名無しさん@お腹いっぱい。
11/01/18 13:08:35
>>243
できないよー

249:名無しさん@お腹いっぱい。
11/01/18 13:44:33
見た目どおりに入力してもだめだったかー

250:名無しさん@お腹いっぱい。
11/01/18 23:38:42
>>249
頭のコロンいらないですよね?vimrcに書く場合
そうなら、できなかった。
ちなみにLinuxのvimですよ


251:名無しさん@お腹いっぱい。
11/01/19 15:07:45
yankringってvim7.3で使えてますか?
入れてみたら起動が妙に遅くなったんですが

252:名無しさん@お腹いっぱい。
11/01/19 19:09:31
アルプス一万尺小槍の上でアルペン踊りをさあ踊りましょ

253:名無しさん@お腹いっぱい。
11/01/19 23:48:50
>>250
そもそもやりたいことはあってるのか

254:名無しさん@お腹いっぱい。
11/01/22 17:28:56
netrwをssh越しに使ってる人っている?
動作が鈍いのが何とかなればそこそこ使えそうなのだが。

255:名無しさん@お腹いっぱい。
11/01/23 23:12:08
おとといからVim使い始めた新参者なので変なこといってたらすみません…

Project.vim起動中にQuickRun.vimでソース実行させると、選択されてるウィンドウが変更されないから、[C-w]してqで消してるんだけど、消した後Projectのウィンドウの幅がやたら大きくなったままで<space>をおしてもっかい[C-w]ってやってます…どうにか一発で
QuickRun実行→出力されたウィンドウ選択状態→コマンドなんか一つ→QuickRun実行前の状態に戻る
というふうにできないでしょうか?
よくばりすぎてすみません/

256:名無しさん@お腹いっぱい。
11/01/24 00:20:20
:bdelete でどうかな

257:名無しさん@お腹いっぱい。
11/01/29 13:40:20
.vim/autoload
このディレクトリの役割は何ですか?
名前からしてvim起動時に一度だけ呼ばれるファイルを置くのかな?とも思ったのですが
それは.vim/pluginの役目のようです。
実験してみてもvim起動時には.vim/autoloadのファイルを読んでいないようです。

258:名無しさん@お腹いっぱい。
11/01/29 14:13:56
:help autoload

259:名無しさん@お腹いっぱい。
11/02/05 17:06:21
質問させてください~

よく、コマンドライン端末からvim起動させてJavaScriptの編集をするのですが、
どういう訳か、編集中に文章の色分けがおかしくなる事があります。
画面をスクロールさせてると、どこかで直るのですが・・・
その他の(PerlやJAVA)ソースの編集中には起こらない不具合なのですが
どうすれば、JavaScriptでも色分けがおかしくならないようになるでしょうか?

260:名無しさん@お腹いっぱい。
11/02/05 20:46:18
>>259
:help :syn-sync

261:名無しさん@お腹いっぱい。
11/02/05 21:52:03
ブログとか書く時にブラウザが突然落ちることもあるから
これで下書きしようと思うんだけどオススメの設定とかあるかな

262:名無しさん@お腹いっぱい。
11/02/06 01:10:00
>>259
色がおかしくなったら、Ctrl-L を押すべし。

263:名無しさん@お腹いっぱい。
11/02/06 03:09:01
PHPのオムニ補完 で
スクラッチ ウインドウが分割されてしまうんですが

しないようにできますか?

264:名無しさん@お腹いっぱい。
11/02/06 04:38:30
たまにメモリ不足エラーが出るけど、
不足しているようには思えないんだよなあ。
vim としての使用上限でもあるのかな。
あーでも win gvim でしか出てなかったかも。
project.vim でよく出てた気も。

265:名無しさん@お腹いっぱい。
11/02/06 08:12:36
> たまにメモリ不足エラーが出るけど、
見たことない。

266:名無しさん@お腹いっぱい。
11/02/06 13:11:49
vmware使ってると固まることは度々あるな。
eclipseですらヌルヌル動くのに。

267:名無しさん@お腹いっぱい。
11/02/06 13:41:39
>>260
おぉ、ありがとうございます
勉強になりました~が、設定を見直しても正常な色分けにならないです・・・

>>262
CTRL-Lを押すと、正常だったのがおかしくなります・・・
おかしくなってしまった後に押しても、何の変化もありません


う~ん、折りたたみとか使ってるんですが、
それが原因なんでしょうかねぇ・・・
でも、他の言語なら色分けおかしくなる事ないのに何故だろ・・・
ソース編集中に、突然色がおかしくなると、それだけでイライラしますねw

268:名無しさん@お腹いっぱい。
11/02/06 14:14:52
>>267
vim.orgで探してみるのはどうか
vim-hacksか何かで読んでウチでは~/.vim/syntax/javascript.vimが設置してある


269:名無しさん@お腹いっぱい。
11/02/06 23:15:15
あーそうだ、メモリ不足エラーは win gvim でしか出てなかったな。うん。
unix では見た記憶ないわ。project.vim だけだったかわ覚えてないが、
深いディレクトリで \C する時によく出てた記憶がある。
plugin の問題なのかなー。

>>267
その症状だと :help :syn-sync にある内容が該当すると思うけど。
まあ javascript の syntax で起こりそうには思えないけどね。
というか自前 syntax ですか?それならありうる。

270:名無しさん@お腹いっぱい。
11/02/10 00:18:09
vimって拡張性低いし自由利かないしつまらないし~
みたいなことを、知り合いのemacs使い(エディタに詳しいが頭は悪い)にしつこく言われる。
洗脳されてしまいそうだ。

271:名無しさん@お腹いっぱい。
11/02/10 00:34:27
その人はエディタにも詳しくない


272:名無しさん@お腹いっぱい。
11/02/10 01:11:33
まぁ、間違ってはいないんだけどね
あくまで「Emacsに比べれば」だけど

で、Emacsじゃなきゃ無理なレベルの拡張性と自由が欲しいかと言われると全く欲しくないわけで…w

273:名無しさん@お腹いっぱい。
11/02/10 02:08:52
>>270
エディタに求める機能を十分満たしてるのでわざわざ乗り換えようとは思わないです。
emacsの方がよい点を挙げてもらって、それが欲しい機能なら乗り換えるかもしれません。

って言ってみたらどう。

274:名無しさん@お腹いっぱい。
11/02/10 09:36:17
エディタに詳しい人間ほど、emacsとvimの間を揺れ動くもんだと思う

275:名無しさん@お腹いっぱい。
11/02/10 10:58:49
>>270
当たり前のことをしつこく言うってのは・・・

差は少なくなったとはいえ、コンセプトの違いはハッキリしてるんだから、
ケースとニーズで使い分けろと

276:名無しさん@お腹いっぱい。
11/02/10 11:32:30
最近は vim vs emacs ではなく、(vim, emacs)連合 vs 総合開発環境 の話をよくする。

277:名無しさん@お腹いっぱい。
11/02/10 19:08:12
Vim が好きだけど、emacs の elisp による比類なき拡張性には憧れる。
とは言っても、別に emacs的な環境が欲しいというわけではない。あってもいいけど、Vim遣い的にはおまけ。
それで elisp の拡張性にモノを言わせてVimをエミュレーションすればいいんじゃね?って思って
vim-mode とか試してみたけど、なんか動きが微妙に怪しい。
他にいいのがあったら教えてほしいけど、
特に↓コレが出ないのが何とも寂しすぎる…。やっぱり Vim に Vim用Lisp 組み込むか、新しい vim 作るしか無いのかなぁ?
~
~
~

278:名無しさん@お腹いっぱい。
11/02/10 20:01:00
>>277
:help mzscheme

あと、gaucheインタフェースも開発中だとか。

279:名無しさん@お腹いっぱい。
11/02/11 00:09:40
vimscriptで出来ないことって具体的に何があるんだ?

280:277
11/02/11 00:47:28
>>279
確か neocomplcache の中の人も苦しんでたと思うけど、
例えば Vimの組み込み補完自体の挙動を変えたいって場合には、
vimscript 「だけ」 では太刀打ち出来ないと思う。
Vim の進化の過程で、割と複雑な補完という大機能を搭載したのに
その実装方法が十分に一般化されておらず、
ハードコードされてる部分が多すぎて十分に制御できない。
例えば、補完で使われるポップアップウィンドウは、コマンドモードからは呼べない。
そういうものがたくさんあるから、emacs の elisp でエディタを実装している、という
Vimから見ると正反対のアプローチによる強力さに憧れる。

281:名無しさん@お腹いっぱい。
11/02/11 00:54:21
>>280
おおなるほど。ありがとう。あまり理解できてないがw
rubyとかperlでもvimは拡張できるけど、ああいうのもやっぱり駄目なのかな。
根っこの部分が問題なのか。

282:名無しさん@お腹いっぱい。
11/02/11 00:54:26
またこの流れか
該当スレへどうぞ

283:名無しさん@お腹いっぱい。
11/02/11 09:23:22
>>277
emacsのvimエミュレーションで、vimpulseというのもある
viper-modeを拡張してテキストオブジェクトなんかも出来るのだけど、
ちょっと挙動が違う部分もあってとまどう点は、他のviエミュと一緒なのであまり期待しないようにw

284:名無しさん@お腹いっぱい。
11/02/11 09:34:30
システム内の他プロセスが大量にファイルIO(ファイルディスクリプタ)を使用している場合、
vimが、一切反応が無くなることがあるのですが、これを改善する方法はあるでしょうか。
(topで見ると、STATがDで、反応がなかった間に行ったキー操作が数分後にまとめて反映される)
ファイル保存は仕方ないとして、カーソルさえまともに動かせなくなるのは厳しいです。
検証はしていませんが、スワップファイルの更新が影響しているのかなぁと考えています。
スワップファイルを更新するイベントを減らすとか、
編集中に一時的にスワップファイルの更新を止めるとかそういう事は可能でしょうか。

285:名無しさん@お腹いっぱい。
11/02/11 19:57:30
挿入モードで、1文字入力するごとに反映されて
後続の文字が後退していくんだけど、
これって昔からこんなだったっけ?
しかも、それなのに BackSpace では戻らないのはどういうことなんだ。


286:名無しさん@お腹いっぱい。
11/02/11 21:30:22
なんか覚えのある…

287:名無しさん@お腹いっぱい。
11/02/12 03:56:24
:set noswapfile

288:名無しさん@お腹いっぱい。
11/02/12 08:14:14
本家サイトが壊れたまま復旧しないお。。。

289:名無しさん@お腹いっぱい。
11/02/12 11:52:07
>>285 って設定できないの?

290:名無しさん@お腹いっぱい。
11/02/12 16:56:41
viみたく変更する部分までを$表示するなら
set cpo+=$

291:名無しさん@お腹いっぱい。
11/02/12 17:49:56
>>288
うわマジだwなんだこれ。個人の趣味サイトじゃあるまいし。

292:名無しさん@お腹いっぱい。
11/02/12 21:07:18
Vim もどんどん肥大化して
もう結局 Emacs と変わんないよな。


293:名無しさん@お腹いっぱい。
11/02/12 21:35:09
shellの中での起動がデフォ
という圧倒的利点がある。

emacsは環境だから、それ自体が主役になってしまう。
勿論それはそれで良いのだが、zshを使い込んでるような輩には不満も出てくる。

294:名無しさん@お腹いっぱい。
11/02/12 22:21:52
個人的に Vim script はあまり好きじゃないけど。
emacs は起動に 10秒かかるからなあ。昔の話だけど。
vim は起動 0.1秒台だからなあ。昔はそれより遅かっただろうけど。

つか、pluginなしなら 0.01秒台なんだよなあ。実用性には関係ないけど
キーを押した瞬間に起動を終えているというのはいいものだ。
0.01秒だとほぼ「キーを押したと思ったら起動していた」なんだが
0.1秒だと間が感じられる。いやどうでもいいだろうけど。

>>285
set nocompatible で <BS> で戻るよ。

295:名無しさん@お腹いっぱい。
11/02/12 22:25:19
主役はシェルという視点はある。
VZ が DOS と親和性が高くて人気があったのと同じく。

296:名無しさん@お腹いっぱい。
11/02/12 22:47:55
emacsで補完系のelisp見ても無駄に頑張ってる感しか伝わってこないしな。
eclipse使えばいいのに、って思ってしまう。

297:名無しさん@お腹いっぱい。
11/02/12 23:17:27
emacsclient使えばシェルからすぐファイルを開くってのは可能なので
結局キーバインドの好みの違いのほうが大きいような気がする

298:名無しさん@お腹いっぱい。
11/02/13 00:15:48
sourceforgeからvimscript落とすことも出来ないんだけど。
sourceforgeがおかしくなってるのか?

299:名無しさん@お腹いっぱい。
11/02/13 09:48:58
1月末に攻撃されて、徐々に復旧中
URLリンク(sourceforge.net)

300:名無しさん@お腹いっぱい。
11/02/13 12:44:00
いつも本家サイトでバージョン番号確認してVimを最新に保っていたのに
本家サイトが壊れている中、7.3.119 に上がってた
vim.googlecode.com はちゃんと稼働してるので、みなさん忘れず hg pull しましょう

301:名無しさん@お腹いっぱい。
11/02/17 11:08:34
文字列をコピーして、ブラウザに貼りつけようとしたのですがうまくいきません
何が間違っているのでしょうか?

302:名無しさん@お腹いっぱい。
11/02/17 11:27:48
はい

303:名無しさん@お腹いっぱい。
11/02/17 11:46:11
「vim クリップボード」で検索

304:名無しさん@お腹いっぱい。
11/02/17 13:13:33
>>302
はいじゃねーよボケカス

>>303
ありがとうございます、出来ました!
ですがまた困った問題が出ました
htmlタグ付きのリンクを文字の途中に貼り付けようとすると
なぜか上の行の先頭にペーストされます。
普通の文字列をコピペするときは問題なかったのですが・・・。

どうしたら文字の途中に挿入することができるでしょうか

305:名無しさん@お腹いっぱい。
11/02/17 13:32:22
文字の…途中だと?

306:名無しさん@お腹いっぱい。
11/02/17 13:39:20
はいはい文字列の、でいいですか
アスペかよ

307:名無しさん@お腹いっぱい。
11/02/17 13:45:36
見事に教える気がなくなった

308:名無しさん@お腹いっぱい。
11/02/17 13:57:35
>>307
すいません、ご存知でしたらお願いします、教えてください

309:名無しさん@お腹いっぱい。
11/02/17 14:14:24
もういやです。

310:名無しさん@お腹いっぱい。
11/02/17 14:24:18
>>309
どうせしらないくせに偉そうに言ってんじゃねーよボケ
お前みたいなのはレスしなくていいから

311:名無しさん@お腹いっぱい。
11/02/17 19:18:20
「htmlタグ付きのリンク」とは何?

312:名無しさん@お腹いっぱい。
11/02/17 20:48:25
挿入モードで貼り付ければ?カス。

313:名無しさん@お腹いっぱい。
11/02/17 23:01:53
>>311
<a href="URLリンク(www.>)ほげほげ</a>
こういうのをコピペしようとしたんです

>>312
ノーマルも挿入も試しましたがダメでした

314:名無しさん@お腹いっぱい。
11/02/17 23:05:49
どうやって貼り付けようとしたかも書かないとかクズすぎる
釣り乙

315:名無しさん@お腹いっぱい。
11/02/18 00:24:11
挿入モードでダメと言うなら、もう俺たちに教えてあげられることは無い

316:名無しさん@お腹いっぱい。
11/02/18 01:04:57
>>314
この流れでどうやってかわからないとか馬鹿すぎるだろ
話に入ってこなくていいよ、難しいでしょw

>>315
バグかもしれないですね

317:名無しさん@お腹いっぱい。
11/02/18 01:23:58
ハイハイ、バグかもしれないね

318:312=314
11/02/18 01:54:26
俺のところでは起こらないけど、カスのところだけ再現するバグだよ。

319:名無しさん@お腹いっぱい。
11/02/18 05:47:35
vimproc(fd43703aaa8c3cf5ccc8519dc4f4a507e2de629e) native Windows でのエラー報告

その1
bc6fb43d550e8b5dac43132415705c89a51f9045 Date: 2011/02/15 16:22:21
以降の vimproc で vimproc#system() に第二引数を与えると、
vim がフレーズし <C-c> でキャンセルした後も起動したプログラムのプロセスが残る。
native Windows: make_mingw.mak, make_msvc.mak
cygwin-1.7: make_cygwin.mak, make_gcc.mak(proc.so)
でビルドしたものでそれぞれ確認。
:echo vimproc#system('ghc -v0 --interactive', ':browse Prelude')
:echo vimproc#system('nkf --guess ', iconv('てすと', &encoding, 'euc-jp'))

vimproc#get_command_name()
その2
%PATH% に " が含まれているとき、エラー。
(これは %PATH% を修正すべきだが)

その3
カレントディレクトリにある実行ファイルを見つけることが出来ない。

その4
引数がフルパスで拡張子のないものの実行ファイルを見つけることが出来ない。
:echo vimproc#get_command_name('C:/cygwin-1.7/bin/git')
フルパスの場合は 'C:/cygwin-1.7/bin/git.exe' としないとエラー。

その5
%PATHEXT% に '.COM;.EXE;.BAT;.CMD'
%PATH% に 'C:\Python26\Scripts;C:\TortoiseHg'
が含まれるとき、$ which hg は C:/Python26/Scripts/hg.bat であるべきだが
:echo vimproc#get_command_name('hg') としたとき
返り値は C:/TortoiseHg/hg.exe となり
%PATH% の順番より %PATHEXT% の順番が優先されてしまう。

320:名無しさん@お腹いっぱい。
11/02/18 05:48:24
その6
その5での設定のとき、:echo vimproc#get_command_name('hg', $PATH, -1) の返り値は
['C:/Python26/Scripts/hg.bat', 'C:/TortoiseHg/hg.exe'] であるべきだが [] となる

その7
vimproc#open() で 引数を相対パスで与えられたとき、フルパスの相対パス部分以外に
マルチバイト文字を含むと失敗する。

その8
:echo vimproc#system('hoogle $') とすると
function vimproc#system..vimproc#parser#system
..vimproc#parser#parse_pipe..<SNR>36_parse_variables
の処理中にエラーが検出されました: 行 18: 無効な式です:

但し、hoogle を vim で使う場合は、vimproc#system('hoogle "$"') とするのが正解。
echodoc で使う場合。
let the_type = split(neocomplcache#system('hoogle "' . escape(cur_text, '\') . '"'), "\n")[0]

vimproc#system('hoogle \$') とすれば成功するが
vimproc#system('hoogle ($)') がエラーでないことを考慮すると
b:vimshell判定の誤爆?

上記のその1以外を修正したパッチ
URLリンク(cid-d5dfcc082f413eaa.office.live.com)

判っている不具合
native Windows でディレクトリ名が {[ とか {{ の場合、vim の起動時に
$VIM/vimrc, $MYVIMRC 内で set encoding とか vimproc#system を使うとE220エラー。
vim自身のバグ?

321:名無しさん@お腹いっぱい。
11/02/18 11:47:38
ここで報告されても。

322:名無しさん@お腹いっぱい。
11/02/18 12:14:26
あの人のプロダクトはいつも何かしらデグレや不具合がある使いにくい

323:名無しさん@お腹いっぱい。
11/02/18 14:47:24
開発スピード凄いから安定を求めるならリリースバージョン使わないと

324:名無しさん@お腹いっぱい。
11/02/18 15:17:40
あれを安定版と呼ぶのか…

325:名無しさん@お腹いっぱい。
11/02/18 15:53:04
まあ、それは見解の相違ってやつじゃないか。。。な

326:名無しさん@お腹いっぱい。
11/02/18 20:47:41
>>313
コピーした中にエスケープやらの制御文字が入ってたのでは。

327:名無しさん@お腹いっぱい。
11/02/22 17:13:54.22
Vimって便利なんですけど個人的に使いづらいのが
・初期設定でInsert状態になってる(文字上書きされる)
・Ctrl+マウスホイールで文字拡大縮小
・選択された行をTabキーでインデント(1行だけなら出来るが複数行を1度にインデントができない)
これってどうにか使えるように出来ますか?

328:名無しさん@お腹いっぱい。
11/02/22 17:25:26.78
最後だけなら。
:vnoremap <Tab> >

ほかはちょっとわかんないです。

329:名無しさん@お腹いっぱい。
11/02/22 17:45:52.92
最後だけなら
選択してShift+>で複数行でも一度にインデントできる

330:名無しさん@お腹いっぱい。
11/02/22 17:48:53.57
Tabでやりたいんだろう

331:名無しさん@お腹いっぱい。
11/02/22 21:37:50.32
>・初期設定でInsert状態になってる(文字上書きされる)
これがよくわからない

332:名無しさん@お腹いっぱい。
11/02/22 22:12:47.99
そうなってるように設定したい、ってことでそ。

333:名無しさん@お腹いっぱい。
11/02/22 22:18:09.13
これかな。
URLリンク(vim.wikia.com)

334:名無しさん@お腹いっぱい。
11/02/22 22:18:35.67
Backspaceで実際には文字列の消去されているが
Escキーを押すまで画面上ではカーソルが戻り上書きされてるように見えるってやつだっけ
入門viの2章にダム端末云々って載ってたけど

335:名無しさん@お腹いっぱい。
11/02/23 00:14:26.02
nnoremap <BS> a<BS>
vnoremap <BS> d
こういう意味かな?

最近windows7に変えたんだが_gvimrcってどこに置くべきなんだ?
$HOMEにおいても:wで保存できない。わざわざ:w!とマップするのももったいない気がする


336:名無しさん@お腹いっぱい。
11/02/23 02:24:23.95
>>333
じゃあなくって、Insertキーを押した状態にしたいんだとおもったよ。
viでいうところのR状態かなと。
起動時にそうする方法がわからないのでスルーしたけど

337:名無しさん@お腹いっぱい。
11/02/23 02:28:13.62
>>335
$HOMEにおいて普通に保存できてるけどなにがちがうんだろ。

338:名無しさん@お腹いっぱい。
11/02/23 11:39:44.19
>>327
help scroll-mouse-wheel
winではできんがXなら動くかもしらん


339:名無しさん@お腹いっぱい。
11/02/23 11:54:55.72
ごめんできた。
swapfileとbackupの設定が$HOMEにしてなかった。
set backupdir = $HOME . "\vimbackup"とか間違った風に書いてた。
正しくは
set backupdir=$HOME\vimbackup
だった

さらにバックアップファイル作れないエラーは、windows7に固有するものに違いない。フォルダの読み取り専用属性が怪しい。
とか考えて、ぐぐってました。



340:名無しさん@お腹いっぱい。
11/02/23 13:46:37.41
ああー、そっちか。見抜けなくてすまなかった。
解決おめでとん

341:名無しさん@お腹いっぱい。
11/02/23 20:33:49.42
今vim使ってるけどどうも使いにくい・・・
IDEのほうが便利だろ完全に
なんでお前らVimなんかつかってんの?

342:名無しさん@お腹いっぱい。
11/02/23 20:45:23.35
ナイフと包丁くらいの違いがある
使い分ける必要を感じないなら、別にどっちでもいいんじゃないの

343:名無しさん@お腹いっぱい。
11/02/23 21:23:49.08
IDEでメモ書いてるバカがいると聞いて

344:名無しさん@お腹いっぱい。
11/02/23 21:36:40.86
でも本当に「ちょっとしたテキスト」とかもIDEで書いてるのかもね
俺が乗り遅れてるだけで、既にそんな時代が来たのかなぁ

345:ごめんウソ
11/02/23 22:49:26.08
>>341 が何を書いててそう思ったのかが知りたい。
Java や .net なら理解できる。
ちょっとしたテキストや、設定ファイルなら理解できない。
1,000行以内のスクリプト言語なら、出来れば vi(m) 使って欲しいところだが。

346:名無しさん@お腹いっぱい。
11/02/23 23:14:14.90
手段は何でもいいんだよ


347:名無しさん@お腹いっぱい。
11/02/24 01:43:07.36
俺メモソリューションにおかずのレシピプロジェクトとか日記プロジェクトとか作る時代なのかな

348:名無しさん@お腹いっぱい。
11/02/24 11:11:33.94
業務じゃ、ドキュメント書いたり、データやログをいじる時間もけっこうあるんだよな

349:名無しさん@お腹いっぱい。
11/02/24 15:03:05.16
Vi使い=美人
Vim使い=美人(ドM)

350:名無しさん@お腹いっぱい。
11/02/24 15:15:18.48
ホントにちょっとしたテキストの編集くらいなら
わざわざVimの使い方覚えるコストの方が高いだろ

351:名無しさん@お腹いっぱい。
11/02/24 15:19:28.06
notepad.exeマジオススメ

352:名無しさん@お腹いっぱい。
11/02/24 15:22:54.17
>>350
俺は最初に使ったエディタがviだったから、そのままvi系を使ってるだけかなぁ。結果的に当たりだったと思っているけれど。
Windows使い始めたころはメモ帳でコードとか書いてたけど、もうちょっと
機能の多いものも標準でついてればなぁと思ったよ。

353:名無しさん@お腹いっぱい。
11/02/24 15:25:13.69
IDEで(ちょっとしたテキスト以外)何でも書くぜ、って人は
ちょっとしたテキストは「特に気をつかわずOSに付いてる奴を適当に使う」ってことなのかな?
昔は「そのポジションがviだった」んだけどねw

「わざわざ使い方覚えるコスト」ってことは
もうすっかり「最初に触るエディタがvi、Emacsだった世代」とは変わったんだね
最近は全員Windowsスタイル?のキー操作からコンピュータ使い始めるってことか
なんか感慨深いな
まぁ、そりゃわざわざ使い方おぼえる必要ないよなw>vim

354:名無しさん@お腹いっぱい。
11/02/24 15:52:03.90
加齢臭がすごいな

355:名無しさん@お腹いっぱい。
11/02/24 17:13:44.23
ed

edlin
copy con

356:名無しさん@お腹いっぱい。
11/02/24 18:46:20.08
viは使い出すと便利で止められなくなるな

357:名無しさん@お腹いっぱい。
11/02/24 19:14:31.89
ct) で関数の残りのパラメータだけ書き換えたり、
ci" で文字列だけ書き換えたり、
6Y で6行ヤンクしたり、
いちいち範囲を選択しなくて良いのがいいw
テンポが良いというか、思考が途切れずに本来の編集作業に集中できるから

358:名無しさん@お腹いっぱい。
11/02/24 20:19:00.75
思考と編集の切り替えがすごくいいんだけどな
vim になれると普通のエディタはふにゃふにゃして思考がまとまらない感じ

359:名無しさん@お腹いっぱい。
11/02/25 00:12:13.31
vimで初めてPythonのコードを読んでいます。
ブロックを括弧でくくる言語では条件式や関数のコードブロックをカーソル移動するのに
括弧の対応を追う $ を使っていたのですが、Pythonのようにインデントしか無い場合の
良い方法は無いでしょうか。
特に長いネストがあったりすると、追うのが厳しいです…

360:359
11/02/25 00:20:14.52
すみません、間違えました、
括弧の対応を追うのは $ ではなくて % でした。。。

361:名無しさん@お腹いっぱい。
11/02/25 00:51:53.37
Python を窓から投げ捨てる

362:名無しさん@お腹いっぱい。
11/02/25 01:14:11.80
これ入れる
URLリンク(www.vim.org)

紹介ページ
URLリンク(python.about.com)

363:名無しさん@お腹いっぱい。
11/02/25 02:44:36.63
"0p を多用するんだけど、どこにマップしたものかなぁと思い続けて、"0pを使う日々。

364:名無しさん@お腹いっぱい。
11/02/25 05:00:00.37
長いネストというのがそもそも間違いということ

365:名無しさん@お腹いっぱい。
11/02/25 08:09:02.32
折り畳みで対応してるな
jpythonfold とか python_ifold などがある
デフォではclassやdefだけしか畳まないが、俺はこれで十分
(ifとかforまで畳むと、かえって見通しが悪くなる気がするので)

366:名無しさん@お腹いっぱい。
11/02/25 16:29:03.66
関数内でfoldを使う必要があるのは悪いコード
VCでregion開いたら魔物が出てくるなんてよくあること

367:名無しさん@お腹いっぱい。
11/02/26 17:27:51.38
腐ったif文の連続とかに対処する時は
set fdm=indent
して適当にzaしたり
set fdl=2
とかやって見てるな。

368:名無しさん@お腹いっぱい。
11/02/26 17:51:33.97
一般的なテキスト編集向けのファイルタイプなどはありますか?

現在vimをプログラミング用途として使っているのですが、
それ以外にも、メモや人に見せる文章などにもvimを使いたいと思っています。
ただ現状では適当にファイル名を付けて、ファイルタイプを無視しているので
基本的なvim操作のみ(hjkl移動やコピーなど)の恩恵を受けて編集しています。
カラーリングやインデント、補完などが何も働かない状態です。

イメージとしては、WordやWiki、はてな、などのように文章の編集や見栄えを考えてくれるような
ファイルタイプやプラグインがあればいいなぁと思っています。
何かオススメのものがありましたら教えてください。よろしくお願いいたします。

369:名無しさん@お腹いっぱい。
11/02/26 18:07:01.65
>>368
syntaxに表示されないという新しい機能ができたから
見栄え的な機能のプラグインはこれからでてくるんじゃないかしらん

370:名無しさん@お腹いっぱい。
11/02/26 18:10:49.96
>>368
markdownかvimwiki

371:名無しさん@お腹いっぱい。
11/02/26 18:55:41.82
>>367
ふたをするだけじゃ何にもならないという話では

372:368
11/02/26 20:29:23.37
>>369
>syntaxに表示されないという新しい機能
これはconcealのことでしょうか。使いどころが謎でしたがこういう方面で生きるんですね。

>>370
ありがとうございます。
markdownとvimwikiを両方調べてみましたが、素晴らしいですね。
特にvimwikiが良さそうなので使ってみたいと思います。

ただ一つ気になったのは、基本的にはHTMLに変換するのが目的になるんでしょうか?
Windowsでメモ帳にメモを残すようなレベルのものは、>>369さんの言うようにこれから出てくる、ということですかね

373:名無しさん@お腹いっぱい。
11/02/26 20:39:47.26
>>372
基本的にはメモツールだと思うよ、俺はHTML変換はめったに使ってない
キーマップでインデックスページをすぐ呼び出せるようにしといて、
テーマごとにページを作ってメモ感覚で文章の管理をしてる
ページごとにファイルタイプを指定できるから、コードの保存にも便利

374:名無しさん@お腹いっぱい。
11/02/26 20:42:58.82
ファイル名に changelog を含めるのでは駄目?

375:368
11/02/26 21:25:03.91
>>373
ありがとうございます。
キーマップでページをすぐに呼び出すというのはいいですね!まさに求めていたメモ帳です。
使い勝手は使ってみないと分からないと思うのでこれからインストールして試してみます。

376:名無しさん@お腹いっぱい。
11/02/26 21:41:04.64
>>368
vimwikiはcalender.vimと一緒に使うとすげー便利

377:名無しさん@お腹いっぱい。
11/02/27 02:56:09.75
インサートモードでカーソル移動するのってあまり効率よくないでしょうか?
vimに使い慣れてる人だとやはりカーソル移動の時はいつもノーマルモードなのでしょうか

378:名無しさん@お腹いっぱい。
11/02/27 03:21:46.28
そんなことはない
これは定番
inoremap <C-p> <Up>
inoremap <C-n> <Down>
inoremap <C-f> <Right>
inoremap <C-b> <Left>
inoremap <C-a> <Home>
inoremap <C-e> <End>

379:名無しさん@お腹いっぱい。
11/02/27 03:58:22.16
そんなことすると補完のキーマップ別に割り当てないといけないじゃん。

カーソル移動時はノーマルモードもしくは、<C-o>を活用

380:378
11/02/27 04:21:50.70
" 合字
inoremap <C-u> <C-k>
" Completion
inoremap <C-k> <C-p>
inoremap <C-j> <C-n>

381:名無しさん@お腹いっぱい。
11/02/27 06:20:06.80
定番だったんじゃないの?

382:名無しさん@お腹いっぱい。
11/02/27 08:35:46.72
>>377
例えば vi を使うのが、今日から 3 日間だけだとします。
常時インサートモードで、カーソルキーでカーソル移動するのが効率がいいでしょう。
例えば Linux サーバの管理者に任命され、最低 1 年間は従事予定とします。
インサートモードでのカーソル移動は、ほとんどの場合非効率でしょう。


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