Vim Part13

このエントリーをはてなブックマークに追加
908名無しさん@お腹いっぱい。
emacs+YaTeX を脱出しようとして gvimでlatexSuiteを使っているのですが,
ximで日本語を入力しようとしても入力キーがプラグインに乗っ取られてしまい,
まともに入力できない (入力中に壊れる) 状態です.

:set paste すると日本語入力はできるようになるんですが,
本来の機能 (SSEと入力して ¥section{} に展開等) が無効になります.

で,質問なのですが,ximの入力開始時に自動的に :set paste して,
終了時に :set nopaste する方法はありませんか?

また,latexSuite 使っている方,何か良いアイデアありませんか?
909名無しさん@お腹いっぱい。:2007/02/21(水) 21:54:26
910名無しさん@お腹いっぱい。:2007/02/23(金) 07:39:50
:copen
って何?
911名無しさん@お腹いっぱい。:2007/02/23(金) 23:41:29
>>910
エラーとか、grepの結果を表示するウィンドウを開くコマンドだと認識している。
912名無しさん@お腹いっぱい。:2007/02/24(土) 14:31:08
特定の文字列「hoge」をハイライトしたいんですが、
その場合.vimrcへどのように記述すればいいんでしょうか?

syntax keyword phpstring hoge
highlight phpstring ctermfg=magenta

というように見よう見真似してやってみたんですが
失敗しました。。
913名無しさん@お腹いっぱい。:2007/02/25(日) 05:35:37
cw かつ p するような方法ありませんか?
dw かつ P といってもいいんですが、
つまりワードなんかを消しつつ
その消えたスペースにペーストしたいんです。
914名無しさん@お腹いっぱい。:2007/02/25(日) 08:15:25
>>912
syntaxコマンドは~/.vim/syntax/php.vimに書く (phpなら)
vimrcに書きたいときはautocmdを使う
autocmd Syntax php syntax keyword phpstring hoge
highlightコマンドはcolorschemeを設定した後ならどこでもおーけー
915名無しさん@お腹いっぱい。:2007/02/25(日) 09:36:51
>>913
yw?
916名無しさん@お腹いっぱい。:2007/02/25(日) 12:25:40
vwp
917名無しさん@お腹いっぱい。:2007/02/25(日) 16:36:15
"_dwP
dw"0P
918913:2007/02/25(日) 21:35:54
>>915,916,917
みなさんありがとうございます。
vwp はわかりやすくていいですね。
レジスタ使う方法も勉強になりました。
"0Pは何も考えずにdwしてしまった後に使うと便利そうです。
919名無しさん@お腹いっぱい。:2007/02/28(水) 03:25:38
Windowsだけどメール書くときにVim使ってる人います?
920名無しさん@お腹いっぱい。:2007/02/28(水) 11:13:02
Windowsだけどメール書くときにex使ってる人います?
921名無しさん@お腹いっぱい。:2007/02/28(水) 21:14:45
Windowsは使ってない。
メーラーはThunderbirdだけどVimで書いてからコピペしてる。
922名無しさん@お腹いっぱい。:2007/03/01(木) 00:59:21
>>921
External Editorを使えよ。
923名無しさん@お腹いっぱい。:2007/03/01(木) 01:56:29
しばらく使ってなくて浦島なんだけど
VIMはscimとuimどっちが便利なんですか
924名無しさん@お腹いっぱい。:2007/03/01(木) 11:30:18
どっちもふつー
925名無しさん@お腹いっぱい。:2007/03/01(木) 22:10:16
vineで、vimのバージョンが6なんですが、
挿入モード出るときに日本語入力を自動的に切るように
設定することはできるんでしょうか?
過去レス見る限りではバージョン7ではデフォルトでそうなってるみたいですが。
926名無しさん@お腹いっぱい。:2007/03/01(木) 22:16:51
>>924
SCIMって「vi協調モード」ってあったっけ?
927名無しさん@お腹いっぱい。:2007/03/02(金) 02:05:10
>>925
vim7でもその辺は変わってないよ。
uimならvi協調モードを設定すればオフにできる。
scimは入力エンジンによって挙動が違うけどanthyなら設定次第でフルコントロール可能。
(GTK_IM_MODULE=xim XMODIFIERS=@im=SCIM と imactivatekey を設定し、scimのトグルキーを使わずにCTRL-^で切り替える)

>>926
vi協調モードがある分uimの方がマシかもね。少しだけ。
928名無しさん@お腹いっぱい。:2007/03/02(金) 03:46:08
ttp://peace-pipe.blogspot.com/2007/02/7-vim.html
Vimmerはこれを見て精進すべし。
929名無しさん@お腹いっぱい。:2007/03/02(金) 04:10:26
latex-suiteのヘルプの日本語訳ってまだないんですか?
もしないなら暇なときにやってみようかなあと思うんですが。
930名無しさん@お腹いっぱい。:2007/03/02(金) 14:43:55
>>927
丁寧にどうもです。
scim使ってたんですが、これを期にuimに乗り換えました。
vi協調モード、快適です。
ありがとうございました。
931名無しさん@お腹いっぱい。:2007/03/02(金) 17:03:43
scimはover-the-spotが使えるから>>908みたいに
挿入モードで激しく:imapしてるプラグインを使っても大丈夫
932名無しさん@お腹いっぱい。:2007/03/02(金) 18:17:40
uim-vim、scim-vimはどうよ
933名無しさん@Vim%Chalice:2007/03/03(土) 00:12:41
934930:2007/03/03(土) 00:36:24
>>908見落としてました。
これは痛いですね…これ克服できないんじゃuimは無理ですね。
実は>>929も僕なんですが、まだ日本語でlatex-suite使ってなかったんで
全く気付きませんでした。
latex-suite使ってる人はみんなscim使ってるんですかねえ…
935930:2007/03/03(土) 05:13:34
苦労しましたがなんとか解決しました。
vim7.0で、全てのパッチを当てた後、さらにこちら
http://yukihiro.nakadaira.googlepages.com/
のim patchというのを当ててmakeしたらOKでした。

ただし、そのままではlatex-suiteが自動起動されず、
let g:tex_flavor = "latex"
をする必要がありました。(これはけっこうはまった、、、)

これで、拡張子texのファイルを開くと自動的にlatex-suiteが有効になります。
uimでの入力も正常にできます。(anthyもSKKもOKでした)
936名無しさん@お腹いっぱい。:2007/03/03(土) 07:49:32
たぶん(簡単には)出来ないと思うけど質問。KaoriYa最新版WinXPです。
分割ウインドウを下のようにしたいです。
======
フ || file2
ァ || ===
イ || file3
ル || ===
1 || file4
======

ファイル1の部分はnetrw(?)とかいう、「:e .」で出てくるのにしたいのです。
file2〜4(実際はもっと)はnetrwから開きたいです。
(1)Vimを立ち上げる
(2)「:e .」
(3)netrwで適当なファイルを選んで「o」
※この時点で左にnetwr、右にfile2となり、かなり幸せ
(4-A)netrwのウインドウに戻って適当なファイルで「o」
※縦割りに三つのウインドウになってしまう
(4-B)netrwのウインドウに戻って適当なファイルで「v」
※左のウインドウが横割りに二分割になってしまう
→右のウインドウを横割りに二分割したい、その次のファイルも右のウインドウに出したい
937908:2007/03/03(土) 12:30:22
>> 935
そんなパッチがあったんですね.

今からコンパイルして試してみます.
938908:2007/03/03(土) 12:39:17
日本語でも問題なく入力できるようになりました.
皆さんどうもありがとうございます.
939KoRoN@Vim%Chalice ◆8XALICEsdk :2007/03/03(土) 13:36:50
Vim7用にformat.vimを修正してみました。

http://www.kaoriya.net/testdir/format_vim-1.7rc2.zip

$VIMRUNTIME/plugin/format.vimに上書きして使ってください。

主な変更と特徴は以下の通りです。
 * formatoptionsのaフラグには非対応(難し過ぎ!)
 * formatexprを使ったので、モーションとの組合せが完璧になった
 * 入力途中の自動改行でも禁則を考慮するようになった
     + ぶら下がりは考慮していない
     + 禁則により改行できない場合は、禁則を破って改行する

試用してバグや要望を出してくれる人がいると助かります。
940KoRoN@Vim%Chalice ◆8XALICEsdk :2007/03/03(土) 19:35:43
GTK2用のIM制御(日本語入力)がおかしくなっていたのを直してみました。このパッチ
をあててコンパイルしてみてください。

    http://www.kaoriya.net/testdir/im_control_gtk2.diff

FedoraCore 6のSCIM+Anthyで:set imak=c-spaceを設定することで、Win版とほぼ同じ
感じで動くことを確認しました。imakを設定しなかったり間違った設定をしてしまう
と、とんでもないことになるかもしれないので気をつけてください。
941名無しさん@お腹いっぱい。:2007/03/03(土) 20:15:00
>>940
>>935にあるパッチと同様のものですか?
942KoRoN@Vim%Chalice ◆8XALICEsdk :2007/03/03(土) 20:39:39
>>941
まったく違うらしいです。
943名無しさん@お腹いっぱい。
>>935
それたぶん q と . が使えなくなるのでこのコードも追加したほうがいいかもしんないです。
あと完成度はかなり低いんでそのつもりで。ほとんど問題ないとは思いますが。
diff -r b78008b446f1 -r 84cf8763794e src/getchar.c
--- a/src/getchar.c Wed Feb 28 12:47:30 2007 +0900
+++ b/src/getchar.c Sun Mar 04 07:54:34 2007 +0900
@@ -1606,6 +1606,8 @@ vgetc()
     curbuf->b_p_fo = "";
     curbuf->b_p_fex = "";
     ++no_mapping;
+    ++allow_keys;
+    block_redo = TRUE;
     continue;
  }
  else if (c == K_IM_SEQUENCE_END)
@@ -1613,6 +1615,8 @@ vgetc()
     curbuf->b_p_fo = p_fo_save;
     curbuf->b_p_fex = p_fex_save;
     --no_mapping;
+    --allow_keys;
+    block_redo = FALSE;
     continue;
  }
     }