====== KoRoN氏によるテンプレ終わり ======
考えてみれば、
>>2以降はchaliceでいいんだった。
なぜわかったのか…は大体想像がつくなあ(笑
あぼーん
新すれおめでとうヽ( ・∀・)ノ ウンコー
13 :
名無しさん@お腹いっぱい。:03/07/21 00:33
Vimのウィンドウ内で仮想端末を動かすことはできない?
もし可能なら、screenより使いやすそう。
あぼーん
あぼーん
>>13 どういうこと?
elscreenみたいなもの?
あぼーん
cp932で「煤vシグマが入ってるとlibiconvのeuc-jp変換が失敗するみたいなのですが
どうしたらよいのでしょうか?
>>13 \s
:call InitShell()
多分、vimの中でShellを使いたいってことでじゃないのかな?
>>13 :h shell-window
> There have been questions for the possibility to execute a shell in a window
> inside Vim. The answer: you can't!
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
あぼーん
なんでここだけ集中的に宣伝貼られてるの?
宣伝を装った荒らしさんかな。
>>13 shellだったら、vim.sf.netに2つあった。
RHL 9 で vim 6.2 をインストールしようとしているのですが、make がうまくいきません。
configure オプション(multibyte など)をつけてもつけなくても同じです。
パッチを 14 や最新の 21 まであてても同様のところでエラーになります。
エラーは下のようになります。
解決策がありましたら、情報お願いします。
gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -I/usr/include/gtk-2.0
-I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0
-I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -g -O2 -I/usr/X11R6/include -o
objects/buffer.o buffer.c
buffer.c:29 から include されたファイル内:
vim.h:39: 構文解析エラー が ':' トークンの前にあります
/usr/include/_G_config.h:44 から include されたファイル内,
/usr/include/libio.h:32 から,
/usr/include/stdio.h:72 から,
os_unix.h:21 から,
vim.h:186 から,
buffer.c:29 から:
/usr/include/gconv.h:72: 構文解析エラー が "size_t" の前にあります
/usr/include/gconv.h:88: 構文解析エラー が "size_t" の前にあります
/usr/include/gconv.h:97: 構文解析エラー が "size_t" の前にあります
/usr/include/gconv.h:174: 構文解析エラー が "size_t" の前にあります
/usr/include/gconv.h:177: 構文解析エラー が '}' トークンの前にあります
/usr/include/libio.h:32 から include されたファイル内,
/usr/include/stdio.h:72 から,
os_unix.h:21 から,
vim.h:186 から,
buffer.c:29 から:
/usr/include/_G_config.h:47: 領域 `__cd' は不完全な型です
/usr/include/_G_config.h:50: 領域 `__cd' は不完全な型です
/usr/include/_G_config.h:52: 前のエラーにより混乱していますので、脱出します
make[1]: *** [objects/buffer.o] エラー 1
>>35 vim.h:39をみると「SIZEOF_INTが0として定義されているエラー」らしいです。恐ら
くconfigureの実行に問題があったと推測されます。auto/config.log等をチェックし
て、問題箇所を探してみてください。
>>34 おれはRHL9でコンパイルできたよ。だけど、RHL8ではそのバイナリが使えない。
>34
あ、漏れもPlamo3.2でなった。で、放置してまつ…
libiconvとgettext差し替えで直んないかなぁ…
【バトル】プログラマーが語るviとemacs Part2 を見ていたらKoRoNさんが・・・
KoRoNさんも結構こういうの好きだなぁw
前スレより下がっていたので
>>39 ああいう荒れてるところにコテ付きで書くのはうかつだと思うんだが。
粘着叩きがくっついてくる恐れがあるぞ。
名無しで書いて、文体や内容でコテとばれることを考えれば
最初からコテで堂々とやる方が賢明だと思うよん。
無論、最初から近付かないのが一番賢明だとは思うけど。
外野が心配する必要はないだよもん。
/ ⌒ ⌒ヽ
i _iノノノノ))))〉
┌fF(リ。( | | 。|l / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Z」 |ト_" (フ/| 。 < KoRoNさんが煽られないか心配だよもーん!!
ノ |iヽ_ivl〉ノノ ゚ \________
〃 /リ| .|クヒ|((
∧_/ /L.|〈| |ζ_∧
|~| ゝ/○l_○_|~|
l__| ̄ ̄ ̄ | |. | .|__|
ヽ |l|i〜 ` 〜~| |. | !i|l 〜〜
〜 | |, ⌒ |'~|~| 〜| |〜
〜〜 ~ 〜〜^ 〜〜
__ロロ __ロロ __ロロ __ロロ __ロロ
l_ | l_ | l_ | l_ | l_ |
_| | _| | _| | _| | _| |
|___| |___| |___| |___| |___|
なぜこの板はだよもん星人ばかりなのだ?
>>39-45 心配ありがとだよもん。そして、申し訳ないです。
たしかに迂闊でしたが、ファイルを持っている身としては見逃してしまうわけには行
かない内容だったので、レスしておきました。「質問はこちらに誘導してから答える
べき」と言われれば、まさしくそのとおりなのですが。
ちなみに、荒れたりループしているスレは、結構好きだったりします。本当は自ら飛
び込んでしまいたいくらいなんですが、コテハンを使っている責任上、自制していま
す。それやっちゃうと大半の荒れるのを望まない人に申し訳が立たないので。
なんだかんだ言っても自分も結構ああ言うスレ好きだったりしてw
なかなか面白いんだよなぁ、参加はしないんだけど。
KoRoNさんがうずうずする気持ちも解らなくもないw
Windows版のVim6で申し訳ないんですけど、アイコンについて教えて欲しいです。
拡張子の関連づけで、gvim.exeを参照してアイコンを探すと五種類のアイコンが
見つかります。
通常Vimに関連づけたアイコンは「白い紙みたいなのの中央に緑のVimロゴ」な
アイコンになると思います。(以下「書類Vimアイコン」)
「ツール→オプション→ファイルタイプ→アイコンの変更」から、この書類Vim
アイコンに変更する場合は、どうすればいいのでしょうか?
gvim.exeの五種類の中には見つかりませんでした。
>>48 Vimに関連付けた状態でレジストリエディタを使って
HKEY_CLASSES_ROOT\.{関連付けた拡張子}
を開いて、そこの(標準)のデータをチェックします。これを「内部ファイルタイプ」
と名付けます。次に
HKEY_CLASSES_ROOT\{内部ファイルタイプ}\DefaultIcon
というキーを削除します。これでアイコンの設定はリセットされます。実際に画面上
に反映させるにはログインし直すか、再起動する必要があるかもしれません。
なおレジストリは下手にイジるとOSが不調になったり、最悪起動しなくなる危険性が
あります。そのことを十分理解した上で、実行する場合には慎重に作業してくださ
い。もしも上記を読んで一部でも分からないようであれば、手動で行なうのは諦め、
そのようなことを行なえる補助ツール(あるかどうかは知りませんが)を探すことをオ
ススメします。
>>20 helpに書いてあったのか…。すんません。
エディタの範囲から外れるってのは分かってるんだけど、どうもVim内で全て
行いたいという誘惑が。(w
むしろ、Vimのウィンドウ分割も使わずにscreenで分割すべきなのか。
>>19 >>33 Shell.vimとvimsh.vimを試してみました。vimsh.vimは何とか使えそうだけど、
1行毎に入力文字が送られるので、TAB補完が効かないのが痛い。
たとえここを修正したとしても、今度は速度面で問題が出てきそうです。
(一文字毎にフックできるのかは知りませんが。)
うーん。現状ではなかなか難しいようで。dumb terminalでも難しいのかなぁ。
ちなみにvimsh.vimは、Pythonのバージョンによってはソースの修正が必要っ
ぽいです。
dumbでよければ:shellしてみそ
>>51 Vimの"バッファ内で"動かしたいのれす。
>>49 Vimの質問じゃなく、Windowsの質問になってしまったのに
答えを頂いてありがとうございました。
オートインデントについてなんですが、
Pythonではelif、defの次の行にはインデントが必要なのに、
自動的にインデントしてくれないんです。
indent/python.vimはvim6.1付属のものを使っています。
中も見てみたんですが、理解できなくて・・・
どこを書き換えればいいのか、簡単に教えてもらえないでしょうか。
55 :
名無しさん@お腹いっぱい。:03/07/26 17:39
win98 香り屋版 vim6.2.014 にて
空のファイルを開いたときに、なにか書きこんでも色付になりません。
んで、syntax on すると色付きになります。
まぁそんなに困ることでもないですが…。
>>55 起動直後や:newした時等、拡張子や中身で判別できない空ファイルについては、ファイ
ルタイプが定義されていません。だからVimにとってはどのように色付けして良いのか
判断できないのです。そのような時にはファイルタイプを編集したいのか宣言すると良
いでしょう。
:set filetype=perl
:set ft=c
>>54 何か設定をいじったか、def等の行の最後に : を書き忘れたか。
>>54 set cindent
を .vimrc に追加してみるとか。
>>56 ファイル名は拡張子付き(test.cpp)なので
ファイルタイプは正しく認識できてます。
:set の表示は中身の有るファイルを開いたときと同じです。
>>61 申し訳ないです。問題を正しく認識していませんでした。調べてみるとNetUp版の
6.2.021のverifyenc.vimの不具合でした。近いうちに修正します。
:edit ++enc=
:doautocmd BufReadPost
としなければならないところのdoautocmdを忘れていたのが原因です。
>>57 >>60 スマソ、解決しました。
単にindent/python.vimが読まれていないだけでした。
自分でsourceしなくちゃいけないんですね。
>63 filetype indent on をvimrcに書く。
>35
別PCに入れたPlamo3.0でもなった。
もしかしたらインストール直後の/usr/includeが変なのかも
カーネルの再構築とかやると/usr/includeの下が書き換わるのでそれで治るかもしれませんな。
とりあえず、現在カーネル再構築中
カーネル再構築後はエラーが出ませんでした。
Plamoならincludeファイルだけのパッケージっての
があるからそれを入れるのでもOKかな?
68 :
名無しさん@お腹いっぱい。:03/07/28 00:33
Patch 6.2.056 age
kaoriya 版のvim を使っているのですが、 / で検索の時はいまのまま ignorecase で、
* で検索するときだけは、 case-sensitive にするにはどうキーマップすればいいのですか?
se noicにした上で、/に/\cをマップするというのはどう?
香り屋版 v6.2.56をwin2k sp4で使用しているんですが、
V6.2以降になってから、
作業中に突然画面が壊れる現象が発生しており困ってます。
どのタイミングで壊れるかが、まだ良く判っていないのですが、
大体2時間ほど作業をしていると、
突然、画面の描画エリアが2〜3行上にずれた感じになってしm…ん?
描画エリア?もしかして、mattun氏のxpmenuの影響か?
ちょっと外して試してみよう。濡れ衣でしたらすみませぬ。
取りあえず、同じ現象でお困りの人いらっしゃいませんか?
gvim で画面の大きさを指定したいのですが、
.vimrc にどう書いたらいいでしょうか。
set columns=80
set lines=30
これだと、console での vim も影響を受けてしまいます。
>>72 単純に(.vimrcではなく).gvimrcに書くだけではダメなのかぃ?
できました。
>>73 .gvimrc 知りませんでした。どうも。
if gui とか制御してもよさそうでしたが、
vimrc の構文 よくわからないので。
>>62 それで直りました。ありがとうございます。
今日のΣ(゚д゚ )
.vimrc:
set tags=./tags,tags,/usr/local/include/tags
もう、C-] しまくり。
>>76さん
念のため
noremap <C-]> g<C-]>
しておいたほうが吉と思われます。いかが?
g<c-]>のことがでたので、質問します。
:tjump intro.txtはこのようになって、選択できるのですが、
# pri kind tag ファイル
1 F intro.txt
share/vim/vimfiles/doc/intro.txt
*intro.txt*
2 F intro.txt
share/vim/vim62/doc/intro.txt
*intro.txt*
|intro.txt|の上でg<c-]>をすると、vimfiles/doc/intro.txtの方へ飛んでし
まいます。helpにはこのように書かれているのですが、その通りになってくれ
ません。
CTRL-]と動作は似ているが、":tag"の変わりに":tjump"を用いる。
xpmenuの影響だったみたいでつ。
気に入ってたんだけどなぁ。
gvimで画面最大化の状態で起動するにはどうすればいいのでしょうか。
set columns=で画面いっぱいに指定してもいまいちすっきりしないです。
自己解決しました。お騒がせしました
>>77 g<C-]>は知りませんでした。ありがたう。
んでも、<C-]>で大抵大丈夫みたいッス!
デフォルトのコンパイラを変更するにはどうしたらいいのでしょうか?
今のところ、$VIMRUNTIME/ftplugin/c.vimに
compiler bcc
を追加してしのいでいるのですが、
_vimrc では設定できないのでしょうか?
>>83 .vimrcに「compiler bcc」を書けば変更されます。変更されていることは
:echo current_compiler
で確認でき、未設定の場合エラーがでます。
特定のファイルタイプの時にだけ替えたいのであれば、83に書かれたようにftplugin
を使うのがスマートです。ただしVim付属のファイルを書き換えるのは止めて、ユー
ザかマシンローカルの設定にしたほうが良いでしょう。また
:autocmd FileType c compiler bcc
のように.vimrcでFileTypeを使う方法もあります。
>>84 ありがとうございます。
autocmd で解決できました。
また一つ、gvim の深みに入ってしまった気がします。
バグ(?)報告です。
挿入モードの状態で、<esc>Oを高速に押すと、Oと表示されて、約1秒後に通常の動作
になります。<esc>oでは起きません。
vim6.2.14 vim6.1.474で確認しました。gvimでは問題ないです。
性善説のサーバでもできたので、僕の環境だけではないと思います。(tera termのせ
いかも知れませんが。)
>>86とは直接関係ないが、
0(ゼロ)を押すとカーソル位置に0と表示されて、約0.5秒後に行の先頭に
移動します(通常の動作になります)
となる。私の場合、TeraTermPRO上だけでなくkterm上で起動したvim(gvimではない)
でも発生します。おそらく端末の反応速度が遅いからではないのかと(私は)考
えてます。得に害があるというわけではないし、Vimの仕様ではないのかなー
と(勝手に)解釈しています :-)
>>86 X上のgvimですか、それともWindows GUI?
申し訳ない。寝ぼけてたみたいです。変わりにOSのバージョンを教えてください。
>>88 X上のgvimとwindowsのkaoriya版gvim.exe, vim.exeでは発生しません。
teraterm, xterm, ktermなどの端末上のvimで発生します。
>>89 teratermはWindows XPです。
redhat 9のデフォルトのxterm, kterm, /bin/vi, /usr/bin/vim, とvim6.1.474, vim6.2.14
で確認しました。
>>87のは再現しませんでした。
間に何かキーを食うプログラムが入ってたりしない?screenとか。
>>92 あ、あとOや0で始まるキーマップを設定していないか確認してください。
:nnoremap On foo
:nnoremap Of bar
のように設定をしている場合、Oが押されてから実際に実行されるまで、時間が空きます。
>>92 それが一番恐いです。(恥ずかしいから)
screenを使っていない環境で試しました。
それとnviでは発生しませんでした。
se noesckeysでなおりました。
F1が^[OPだからですね。
おさわがせしました。
viスレと仲良く並んでいるね
エロ画像スレとも仲良く並んでるわけだが。
96: vi 2nd (424)
97: Vim6 Part6 (97)
98: 連番のH画像を一気にダウンロードする (628)
あぼーん
/word
で検索するときに、マッチしたパターンが合計何個あるか調べる方法はありますか?
>>100 :h count-items
# kludgyな方法しかないけど。
102 :
名無しさん@お腹いっぱい。:03/08/02 19:03
>>86と関連あるかも知れないけど、Insert modeからEscで抜けたときに
1秒くらい待たされるのは、何とかならんのでしょうか。
se noesckeysでは効果ないし…。
>>102 環境やインストール方法(ソースからとかRPMからとか)を書いてください。
>>102 gvim -u NONE -U NONEで起動して試せ。
gvimではないヨカソ
コンソール版のVim6.2.14をソースからコンパイル。configureオプションは
マルチバイト対応とPythonスクリプト対応あたりをenable、X関係をdisableに
しています。(ごめんなさい。詳細は忘れました。)
screenごしのrxvt上で確認しましたが、screenなしとか、kterm上でも起こります。
今気づきましたが、:でコマンドを入力している途中でEscしても1秒程度遅れます。
動作としては正常なんだと思いますが…。
>>106 <ESC>叩いた後に、そのまま続きをタイプしたらどうなりますか?
>>86のようになる場合と、すぐに反映される場合があるのですが
その違いが何に左右されているかは、分かりません。(今いろいろ試してますが、
こういうときに限って前者のパターンが発生しない…。)
ただ、0以外をタイプした場合にも起こることがあるのは確かです。
希望としては、後者のパターンであっても、もたついているような感じがするので
あまり嬉しくないですが。
>>105 gvimだったら、screenとか、ターミナルとか気にしなくていいかなと思ったので。
>:でコマンドを入力している途中でEscしても1秒程度遅れます。
たしかにこれはあるな。gvimではならない。なんでだろう?
vim -u NONE -c 'set hidden' -c 'set acd' -c 'new' -c bn
Vim: 致命的シグナル SEGV を検知しました
Vim: 終了しました.
zsh: 24204 segmentation fault vim -u NONE -c 'set hidden' -c 'set acd' -c new -c bn
このコマンドで落ちました。vimのバージョンは6.2.57で、configureのオプションは
multibyteとfeatures=bigです。OSはredhat9です。
>>112 -c 'set acd'を抜いたら落ちないのですか?。逆に-c 'set acd'だけでも落ちるので
しょうか?。試して見てください。
>>113 set hiddenはなくても落ちました。-c 'set acd'だけでは落ちません。そのあとに
newしてbnかbpで落ちます。
>>114 Vim起動後に手作業でやっても落ちますか?
>>116 次のパッチを試して下さい。結果が良好であればvim-devに送ります。
--- src/buffer.c.orig2003-08-03 16:28:42.000000000 +0900
+++ src/buffer.c2003-08-03 16:29:21.000000000 +0900
@@ -1317,7 +1317,7 @@
#if defined(FEAT_NETBEANS_INTG) || defined(FEAT_SUN_WORKSHOP)
/* Change directories when the acd option is set on. */
- if (p_acd && vim_chdirfile(buf->b_ffname) == OK)
+ if (p_acd && buf->b_ffname != NULL && vim_chdirfile(buf->b_ffname) == OK)
shorten_fnames(TRUE);
#endif
>>117 パッチをあてたら、set acd, new, bnで落ちなくなりました。
ありがとうございます。
119 :
名無しさん@お腹いっぱい。:03/08/03 23:25
諸事情から使い慣れたエディタを捨て、emacsとviを平行して使ってみようとしています。
gvimでutf-8でencodingされた文書を読み込むと文字化けしますが
どのように設定すればよろしいのでしょう?
>>119 某バトルスレの影響ですか(笑)?。UTF-8を使う上での基本はコレです。
:set enc=japan
:set fileencodings=ucs-bom,utf-8
詳細は使っているOSやライブラリにも依存します。
もちろん+iconvでコンパイルされている必要があります。
>>120 いえ、今までVz→Wzを使ってきたのですが、さすがに限界を感じまして。
レスありがとうございます。Win2kにてgvimを使っています。
ちょっと色々調べてみて頑張ってみたいと思います
>>121 http://www.kaoriya.net/ でvimとlibiconvを入手してください。
両者を正しくインストールすれば、特に設定しなくともUTF-8が使えるようになります。
もしも日本語以外の文字が含まれているUTF-8を開く場合には
:lang mes en
:set enc=utf-8
:set fencs=ucs-bom,iso-2022-jp-3,cp932,euc-jisx0213,euc-jp,ucs-2le,ucs-2
こうすると良いでしょう。
gvim6.2.57をソースからコンパイルして使っています。configureオプションは
--enable-multibyte --enable-xim --enable-fontset --with-features=big
を指定しました。gtk2はインストールしていないので、gtk1.2とリンクされています。
gvim上の日本語入力にskkinput2を使うため、.gvimrcに set imactivatekey=S-space
と書いたところ、起動時に E474: Invalid argument: imactivatekey=S-space
とエラーが出てしまい、imactivatekeyが設定されません。
(起動後に :set imactivatekey? として確認したところ、 imactivatekey= と表示され、
何も設定されていませんでした。)
ただ、起動後に :set imactivatekey=S-space とすると、エラーも出ず、
:set imactivatekey? で確認すると、 imactivatekey=S-space と表示され、
きちんと設定されているようです。また、skkinput2を用いた入力も問題なく出来ます。
imactivatekeyが設定されていない状態で起動後初めて挿入モードに入った時は
S-spaceでskkinputを有効にすることが出来ます。一旦挿入モードから抜けてから
もう一度挿入モードに入ると、skkinputを用いた入力も出来ず、S-spaceでskkinputを
有効にすることは出来ません。
.gvimrcを読み込んだ時にエラーを出さずに、imactivatekeyを設定出来るようにするには
どうしたらよいのでしょうか。
>>123 うちではAtok使っててやはり同じ問題が出ます。
.gvimrcでは「set imactivatekey XF_Zenkaku_Hankaku」がエラーになるので
仕方なく起動後に同じコマンドを入力して使ってます。
>>123-124 そういえばそんなのあったね。
.gvimrcに
autocmd GUIEnter * set imactivatekey=S-space
と書いて凌いだのを思い出した。
>>102 se timeout
se timeoutlne=0
se ttimeoutlen=0
で直らない?
>:でコマンドを入力している途中でEscしても1秒程度遅れます。
これもなくなると思う。
127 :
名無しさん@お腹いっぱい。:03/08/04 19:40
>>126 :set timeout ttimeout timeoutlen=0 ttimeoutlen=0
残念ながら効果なしです。
timeoutとttimeoutはon|offで効果が現れるけど、
t?timeoutlenは効いていないようです。(どんな値を指定しても変わらない。)
すいません。上の一部ウソでした。
:コマンド入力中の<Esc>にはt?timeoutlenの効果がありますが、
インサートモードから抜けるときには効果がありません。
ただし、t?timeoutlen=0にしても、どちらもタイムアウト時間はゼロにならず
0.5sec(?)くらいになります。
最新のパッチ6.2.58まで当てて試してみたが、結果は同じ。
>>123-125 .gvimrcにてguiコマンドの後にset imactivatekey=してみてください。
gui
set imactivatekey=s-space
っていう感じで。
hoshu
>>122 結局色々試した結果、vimとiconvをインストールした上で
set enc=utf-8とやればうまくいきました。ありがとうございます
xmlファイルなので出来れば自動認識してほしかったのですが、
プログラム開発ツールだと考えれば、まぁ仕方ないですね。
デフォルトの文字コードをUTF-8にして使うことにします。
>>131 > xmlファイルなので出来れば自動認識してほしかったのですが、
日本語Windows下のvimではenc=cp932がデフォルトであり、あらゆる文字列が内部では
cp932で扱われます。そのため正しく認識はしていても、utf-8からcp932にマップでき
ない文字があると結局変換に失敗してしまうのです。enc=utf-8とすれば内部的にutf-8
で処理されるようになるので、上手く行くというわけです。
他にもKaoriYa版だとverifyenc.vimの影響なども考慮に入れなければなりません。
>>129 123の人や125の人じゃないけどさ。
同じことで困っていたんですが、その方法でうまくいきマスタ。
vim6.2.056 (Kaoriya/im-custom両方無し)
FreeBSD5.1Rです。
関係ないけど、6.2.056を+kaoriyaしたい時は、
(1)本家ソースにパッチ当て
(2)unix版差分PKGをとって来てコピー
(3)Windowsにてnetupしたものからdiff/kaoriya.diffをとって来て当てる、
というながれでいいんですかね?
>>133 大体OKです。
スクリプトやドキュメントに修正が入ってることもあるので、
必要ならばruntime/以下もコピーしてください。
+kaoriyaって、何が変わるんですか?
>>135 日本語向けの最新のバグフィックス、ちょっと便利なスクリプト、それにMigemo等の
実験的な機能が追加されます。詳細はKaoriYa版のドキュメントやソース差分を参照
してください。
>>136 ありがとう。まさにその概要が知りたかったのです。詳細はあとで調べてみます。
文字コードUTF-8はうまくいったのですが、
そのあとvimが出すエラーメッセージが文字化けしてくれます。
この文字化けを回避する方法ってどんな手段がありますか?
個人的には英語モードで起動すればよさそうな気がしています。
あ、なるほど。utf-8日本語しか無かったので
そこを飛ばして読んでいました。ありがとうございます。
初めてWin版ですが、gvim使ってます。。
普通の商用UNIX上のviは良く使っていたのですが、
ただのviとは違って奥が深そうですね。。
逆に色々ありすぎて覚えきれないほど凄い。。。
windows2000でVim6.1を使い始めました。
で、ちょっとつまづいてることがあるのでアドバイスいただきたいです。
エクスプローラから 新規作成→txt file で空のファイルを作ってから
エディタで開いて編集、ということをよくやるんですが、
そうして開いたファイルをVimに「【常に】euc-jpで開いてeuc-jpで保存させたい」のです。
しかし、sjisで開いてsjisで保存してしまいます。
OSがwindowsだからsjisがデフォルトになってしまうのか、
香り屋さんのサイトから導入したiconv-1.8-dllが働いてくれているのか、
_vimrcの設定内容次第でどうとでもなる問題なのか、
そこの見極めも付けられない有様です。
ポインタお待ちしてます。
>>143 :help fencs
:e $VIMRUNTIME/plugin/verifyenc.vim
この2つが主に関わっています。euc-jpのファイルしかVimに渡さないという前提ならば、.vimrcに
:let g:plugin_verifyenc_disable = 1
:set fencs=euc-jp
とだけ書けば要求に近い動作になるでしょう。
>>144 早速のお返事ありがとうございます。
「このエディタを快適に使うならスクリプトを知ることが大事なのだろうなぁ」
とは薄々感じていたのですが、やはり要勉強だと実感しました。
勉強できる良い機会と思って、試行錯誤してみようと思います。
(幸い、VimScriptのスレもあるようだし)
スクリプトかぁ
vimは、かなり大変だ
それを乗り越えると他のエディッタには
乗り換えられないだろうな
consoleでvimを使うと, タイトルが
Thanks for flying Vim
となるのがウザいんですが, 勝手にタイトルを変更
しないようにすることはできますか?
>>147 :set notitle でどうですか?
awkと組み合わせると結構なんでも出来るなぁ
vimは奥が深い
151 :
名無しさん@お腹いっぱい。:03/08/08 10:51
vim使いの人って何のメーラ使ってるんですか?
やっぱmutt?
152 :
名無しさん@お腹いっぱい。:03/08/08 12:30
>>152は無関係な広告
>>151 muttでーす。
某氏がvim6上で動作するメーラを極秘開発中という噂を耳にしたので
密かに楽しみにしてまつ
>>148 いや, set titleして, Vim起動中はtitlestringの内容を表示してほしいんですが,
終了した時に*termのタイトルが「Thanks〜」になるのがイヤなんです.
>>154 よくわからんけど、titleoldかな?
>>153 同じく、私も楽しみにしております。
もう、hjkl無しでは生きていけないのです。
ノーマルViを使ってきた俺でもvimは使いこなせていない。。
>>155 titleoldのhelpを見ると,
This option will be used for the window title when exiting Vim if the
original title cannot be restored.
って書いてあるぐらいだから, Vim的に元のタイトルを復元できないんですね.
結局, Vim以外のアプリからもshellのタイトルを変えられる可能性はあるわけで,
shell側の設定で恒久的対策(precmdを使う)をすることにしますた.
NetUpVimを使ったら自分で設定したファイルまで
全部上書きしてしまった(´・ω・`)ショボーン
>>159 KaoriYa版についてくるデフォルトのvimrcやgvimrcは書き換えないほうが良いでしょう。
代わりに_vimrcや_gvimrcを作って、そちらに設定を書きましょう。そのようにvimrcと
gvimrcの中に書いてあるでしょう?。
>>160 なるほどちゃんと見てなかったでつ。
どうもありがとうございました。
(Win版の話をしてもいいのかなぁ・・・)
1.色分けが時々おかしくなるんですが、どうにかなりませんか?
(画面スクロールしてると直りますが…)
2.ヤンクした文字を他のWinアプリに貼り付けたり、
あるいは他のWinアプリからコピーした文字をVimに貼り付けたりできませんか?
Version6.2
>>162 (1) win版に限らず、時々なるね。「どうにか」は…神に祈ろう
(2) :h gui-clipboard
>>162 (1) syntax highlightingはマジメにやると非常に遅くなってしまうので、ある程度
の範囲を調べて「えいやっ」と色を付けてしまっています。そのため複雑なsyntaxで
はおかしくなる場合があります。一時的におかしくなったものならば<C-L>をタイプ
して再描画することで修正されます。
また、遅くなっても構わないということであれば:syntax sync maxlines=9999のよう
にsync-maxlinesを増やすのも良いでしょう。このあたりの詳細は
:help syn-sync
を参照してください。
(2) 163が正解です。要約するとレジスタ * を使う、ということになります。
例: "*y10j "*p
>>163-164 おぉ、速レスありがとうございます!
(しかも神な方までいらっしゃるとは…)
これでより楽しく使えそうです^^
ありがとうございました
>>164 > 一時的におかしくなったものならば<C-L>をタイプ
> して再描画することで修正されます。
経験則では、<C-L>では直らないような。
一度スクロールアウトさせないとダメな感じでつ。
>>166 2タイプあります。Makefileのコマンド部のエラーように短いのは<C-L>で治ります。
Perlスクリプト内のヒアドキュメントやPODのように長いのだとmaxlinesの再設定が
必要でしょう。
まぁプログラムの場合には、必要も無いのに長いブロックで書くのはメンテの観点か
らも良くないですから、この際ほどほどのところで切り分けるスタイルを身に付けて
しまうのも手かもしれません。
syntax highlightに関してはEmacsよりよっぽど優秀だと思う。あっちはすぐ
におかしくなる。
> この際ほどほどのところで切り分けるスタイルを身に付けて
> しまうのも手かもしれません。
人様のプログラムを弄る場合にはそうも言ってられないわけで・・・
でっかい#if 0のブロックの色分けに失敗されるとチョトツラーイ
さんざ修正した挙句に「え、これコメントアウト?」
>>167 コーディングスタイルに縛りを設けちゃうようなソフトウェアってどうなんだろう…、
とふと思った。
ソースの切り分けは大事で、それはそれでやるべきなんですがね。
それこそ、ソフトウェアの問題とコーディングスタイルの問題とで切り分けるべきかと。
大変でしょうが、そういう発言をKoRoNさんの口から
聞きたくはなかったなぁ・・・・・・・・(´・ω・`)
>>162 C-c, C-x, C-v あたりの挙動を標準的な win32 アプリに合わせてしまうのも
一手。
so $VIMRUNTIME/mswin.vim
behave mswin
定義可能で完璧で高速なsyntax highlightingなんていうのが、アルゴリズムだけでは
どうにかなら無いということをご理解いただいていると仮定した上で、maxlinesの設定
を増やすことはそれ自体が「重さ」に直結するので、必要な人がそのトレードオフを理
解した上で実行するべきなんです。
>>169 「ガンバ」です。頻繁にそのようなソースを弄るならばmaxlinesを大きく設定してくだ
さい。結果遅くなるようなら…上司様に激速PCを直訴するか、Vimのソースコードを弄
るかしてもらうしかありません(^-^;。あとは…「リファクタリング」と称してその部
分を修正する工数を割いてもらう、くらいでしょうか(苦笑)
>>170 167後半は冗談交じりではありますが、残念ながらVimに関してはコーディングスタイル
どころか、通常の文章の入力・編集スタイル、その操作スタイルさえもソフトウェアが
縛ってしまっているのが実情です。「エディタが代わるとjjjjjjを入力している」とい
うお決まりの現象も、まさにその現れといえるでしょう。
(
>>172の続き)
ただ正確にはどちらも破ることはできます。単にそれから外れると、少々Vimが本来持
つパフォーマンスを発揮できないとか、ちょっと操作が面倒くさいとか、独自に設定を
書かなければならないという程度の縛りです。コーディングスタイルを縛るのはsyntax
や、あとはcinoptionsなどのインデント系でしょうか。ですが、この程度の束縛は気が
付いてないだけで他のソフトウェアにもあるとは考えたこと、感じたことはありません
か?。
あるソフトウェアを使うということはどんなにカスタマイズが広範に可能でも、多かれ
少なかれそのスタイルを強要されているのに同義です。またもしもVimがそれ以外のス
タイルを許さないとか、それによって利用者のクリエイティビリティを大きく制限して
いるのであれば大問題でしょうが、事実はそうではありません。以上を踏まえた上での
167後半の発言と考えてください。
ソフトウェアを書く身としは、なるべく「スタイルの強要」が無いようにするべきだ、
という意見には同意しますが、現実問題として強要を減らすための労力を充分にかけら
れることは稀です。そしてVimには、パフォーマンスを発揮させるための特殊な利用ス
タイルというものが確実に存在します。利用者はすべからくそれを追求しなければいけ
ないというわけではありませんが、追求してみるのも面白いでしょう。
>>170 一点忘れてました。
> それこそ、ソフトウェアの問題とコーディングスタイルの問題とで切り分けるべきかと。
もちろんそのとおりで理解していますが、敢えて「ソレをキッカケにコーディングスタ
イルを考え直してみるのも面白いかもね」と書いたのです。結局、ソフトウェアによる
解析にとって分かりにくいコーディングは、人間にとっても分かりにくいものなわけで
す。だとすれば完璧に解析できる専用ツールを使うか、分かりにくいまま編集を続ける
か、ソースを分かりやすく変更するかのどれかです。
Vimは汎用テキストエディタですから、完璧な解析を求めるのは酷と言うものです。そ
れに正しく色づけられないことが本当に問題だと考えるならば、ソースコードも色づけ
の仕組みも公開されているのですから、そう考えた人が改良することができますよね。
それがオープンソースの利点じゃないでしょうか。
ただで完璧な色分けができるならそのほうがいいけど
ただじゃないからねー。
重くなるのは嫌だ
You cannot eat your cake and have it.
>>175 完璧を求める姿勢は評価に値するけれど、悪い癖であるとも言えますよね。完璧を期
するあまりレアケースのために、全体の速度を犠牲にしたり極端にコストを増大させ
たり、ソフトウェアを構築する過程ではついつい「やり過ぎ」たくなっちゃうもので
す。そのバランスを上手く取れるようになりたいものです。
シンタックスの部分をスクリプトでやるのではなくコンパイル済みのバイナリでやるとかどうだろ。
速度の問題がスクリプトで処理しているからと言う理由ならそれで解決できたりして。
思想がに反する気はするけど。
>>178 > シンタックスの部分をスクリプトでやるのではなくコンパイル済みのバイナリでやるとかどうだろ。
シンタックスエンジンは汎用的なルーチンになっているんで、そいつに渡すデータ設
定にスクリプトという形を使っています。ランタイムでスクリプトの解釈系が走って
いるわけではありません。ですから遅くなったり色がおかしくなるのは複雑な構文を
持ったシンタックスだけです。その点から言えばシンタックスファイルの最適化とい
う考え方はあるかもしれません。
提案されるようにシンタックス毎に決め打ちなルーチンを埋め込むという方法につい
ては、程度はともあれ速くなることは期待できるでしょう。でもそのためのAPI切り
から現行のシンタックスの移植から何からやるのって相当時間がかかります。それに
例えCで決め打ちルーチンを作ったとしても、拡張性が低くなるのは勿論、本質的に
遅くなってしまうシンタックスというのは存在するでしょう。そう考えると手間に対
する報酬のバランスが悪いでしょう?。
スレとあまり関係ないけど、クエスチョンマークの後ろに句読点を付けてるのが
キモ過ぎるんですけど…。
キモとか言われた後では気分も悪いでしょうが、
折角だから、由来とか意味とかちょっと聞かせてくださいよ#?。
芸能人グループがグループ名に句読点を入れて文章を狂わせることで
差別化を図ったのと似たようなものなのかしら?。
# 筒井康隆にもあったなあ、そんなの
>>182 単に後で機械処理しやすいから、そういう風に指に癖がついているんでしょう。
私にとっては「キモ」という言い回しのほうが「気持ち悪い」んですけどね。
お 前 等
こ こ は V I M 6 ス レ で す よ
>>179 Eclipseのプラグインをイメージしてそんなのも選べたらいいかなと言う思いつきだったりします。
どっちも使えるみたいな。
ただ難しそうですね。
労多くして功少なしと言ったところでしょうか。
>>183 KoRoNさんが相手をしちゃダメ。
荒れの原因になるYO
>>186 そのとおりです。申し訳ないです。某スレに書けないフラストレーションが溜まってたみたいです。
あのスレのVim批判はレベルが低くて萎える
某スレってどこ?
windowsでvimを使っています。
描画がやたら重く感じられるんですけど、仕様ですか?
スクロールバーを動かすと、どことなく遅延気味に、
にょきにょきといった感じで描画されています。
set migemoにして、/(スラッシュ)を検索しようとして、/\/とすると
E486: パターンはみつかりませんでした: \%(∨\|\\\_s*\/\|¥\_s*/\)
となって、/にひっかかりません。RH9でkaoriyaさんのパッチでmigemoを使用
しています。
:sや:gだと区切り文字を任意のものに出来るけど、
/では出来ないね。出来たらいいのに…
:g@
http://@d
補足トリビアです。1行がかなり長く、
画面上3〜4行にわたって表示されることが普通ですので、それが原因かもしれません。
>>190 syntax が原因じゃない?
おれはスクロールが重いときは一時的に
:sy off
で軽くしてるよ。
ヘルプ以外、日本語サイト以外でカラースキーマを
自分の好みにカスタマイズする解説サイトないですか?
自分の好きな色に設定したいけど自分のスキルだと厳しい・・
>>196 ヘルプ以外、日本語サイト以外でカラースキーマを
↓
ヘルプ以外、日本語ではないサイト以外でカラースキーマを
NON-Ascii 文字にマッチする正規表現パターンはありますか?
マッチさせたいのは、日本語はもちろん、欧米でいえば、ドイツ語の
ウムラウトなどの文字列です。
こういうの?
[^ -~]
[^ -~。-゚]
>>196 colorschemeは簡単にかけるよ。
$VIMRUNTIME/syntax/{hitest,colortest}.vim
h :highlight
と既存のcolorschemeを参考にがんばれ。
ところでcterm={attr-list}になんでblinkがないんだろう?
仕方がないのでstandoutをblinkにしてしまったが。
set t_so=^[[5m
>201
なんか楽しそうな顔に見える
204 :
名無しさん@お腹いっぱい。:03/08/10 20:25
既出だけど、Vimでアウトラインプロセッサーが付けばなあ。。
>>190 195さんの :syn off やもしくは :set nowrapで解決するかもしれませんが、最終的
にはPCの構成スペック次第というところでしょう。MMX300のFreeBSD4.8 GNOME2では
そこそこ使えても、iBook 400MHzにJaguarだと厳しかったりしますし。
>>191 不具合報告ありがとうございます。このパッチを試してください。
http://www.kaoriya.net/testdir/migemo_backslash.diff 問題なければ次からこれを含めてリリースします。
>>200 201さんので充分かもしれませんが、実用上はtabも含めておくと良いでしょう。
/[^\t -~]
>>205 あれはfoldをダイジェスト表示するだけのものですから、必要なのはアウトラインら
しきものをfoldしてくれる部分ではないでしょうか。
>>206 ありがとうございます。パッチで直りました。
色々ありがとうございます。
あまりスクロールしないから、とりあえずスクロールが必要になったときに
:syn offをやることにしますが、他のエディタだと特に問題が無いのに
なぜvimだと重いのでしょうね。
他の部分でvimを気に入ってしまったので使いつづけますけどね(笑)
>>208 単純に複雑なsyntaxが定義されているのでしょう。ファイル形式によってはサブオプ
ションを定義することで、syntaxの解析を簡易なものに切換えて速度を稼いでくれる
ものもあるので、気になるようなら調べてみると良いでしょう。
>>209 そういう情報を調べるときは、どこをしらべればいいのでしょうか?
とりあえずネットを検索してみましたが、軽く見た感じでは見つからなかったので、
効率的な情報収集先などがあれば教えてくださると助かります。
>>210 ネットを調べるより先に、付属ドキュメントやソースを読みましょう。
:help {filetype}-syn
:e $VIMRUNTIME/syntax/{filetype}-syn
上記の{filetype}は190さんが編集しているファイル形式に置き換えてください。
ファイル形式は
:set filetype?
で確認できます。
>>211 ありがとうございます。ヘルプを見た感じでは別に簡易なsyntaxは無いようです
(ちなみにxmlファイルでした)
>>201 >>206 どうもありがとうございます。
なんだかよくわからないけど、ちゃんと反転されました。
正規表現ウィザードへの道は険しそうです。
>>202 ありがとうございます。
取り合えずがんばってみます。。
gvimは英語アレルギーだと正直きついね・・・
有効なスクリプトとかもみんな海外のサイトも多いし、
ヘルプはだいぶ日本語化しているけど
>>216 gvimに限らずコンピュータを使っていると何かと英語は必要になると思うよ。
特にマイナーな環境であればあるほど英語を読む必要性は増してくるんじゃないかな。
Unix板なのに何でwinのgvimばっかなの?
ここはVimのスレであってUNIXのスレではない。
ユーザ数から言ってWindowsのVimの話題が多くなるのは当然でしょう。
本当ならこのスレはソフトウェア板に移すべきですが
なりゆきでここにあるわけで。
>>219 そうだったんですか。じゃPart7はソフトウェア板でお願いしたいですね。
この板でいいんじゃない?
part6まで来てるし。
>>106 <esc>のかわりに<c-c>を使うとどうなりますか?
imap <esc> <c-c>
syntaxがおかしくなるのは、ぶっちゃけバグぢゃん
言い訳に必死になってる暇があったら早く直せや(藁
ドザってだけで目障りに思うウニクサがいると想われ…
226 :
名無しさん@お腹いっぱい。:03/08/11 20:28
こないだから少しずつvimの勉強をしています。
そこで
>>2にあるVim付属マニュアル日本語訳の
アーカイブをとってきて読もうとしてるんですが、
なんか:helpで見るような形式のファイルになってるようです。
これをうまく見るようにするにはどうしたら良いのでしょうか?
228 :
名無しさん@お腹いっぱい。:03/08/11 20:33
unix版の方がバグが無いからなぁ。
Windows版はなぜかくだらないバグが多すぎるって言うか、ソースの歴史が浅い?
ドザはソフ板にスレたてて、そっちでやりゃいいじゃんかよ。
ウィンドウの操作はキーボードではやりにくいと思っていましたが、
下のmapで便利になりました。左右のサイズ調整はどうしよう。
nnoremap _ <c-w>_
nnoremap \| <c-w>\|
nnoremap + <c-w>+
nnoremap - <c-w>-
nnoremap <c-j> <c-w>j
nnoremap <c-k> <c-w>k
nnoremap <c-h> <c-w>h
nnoremap <c-l> <c-w>l
日本語入力周りだと逆転するような気も。
>>227 html 形式でみたいとかという話じゃないの
>>231 gui が絡んだり。
コピペとかはウィンドウズ環境のほうがずっと単純だし。
>>227 debianなのですが、英語のhelpがある
/usr/share/vim/vim61/doc
に日本語の(例えば)usr_01.txt.gzを入れて:help usr_01
とすると文字化けしてしまいます。
英語のときは同じファイル名で同様に圧縮されていても
読めるのですが…
>>234 helpって圧縮してもいいんだ。圧縮しなかったらどうなる?
qkcしちゃえば?
>>235 たとえば :help 01.1 として参照されるファイルは
>>226に書いたディレクトリのなかのtagsファイルで
記述されていると考えて、その中の
01.1 usr_01.txt.gz /*01.1*
という行を
01.1 usr_01.txt /*01.1*
としてから:help 01.1としても
文字化けは変わりませんでした。
なさんはどのようにして読んでいるのでしょうか?
s/なさん/みなさん/
でした。
ヨッシャー!!
>>237です。自己解決しました。
文字コードがShift-Jisになってたのを
EUCに直したら.gzのまんまで読めました。
emacsからのりかえようと思ってるんですけどsdicみたいなのって使えますか?
migemoは使えるようですが
KoRoN殿のkaoriya.diffはnetupvimで最新版をgetできるらしいですが、
手元にMS-Windowsマシンのない者はどのようにgetすればよいのでしょう?
Linux上のVim6.2.068に当ててみたいのですが。
やっぱソフ板でいいような気がする。
>>244 違います。6.2(無パッチ)のリリース以後に変更のあったファイル一覧です。
なのでkaoriya.diff自体も含まれます。自分の持っているファイルが最新であるかは
MD5を比較することで知ることができます。
>>240 sdicって英和/和英辞書引きプログラムですよね?
だとすると、KoRoNさんのkaoriya版vimに含まれている
dicwin.vimスクリプトが使えると思います。
>>242 わざわざお返事どうも.
ていうか6.2.069のパッケージを作って下さったのですね.
いつもご苦労さまです.使わせていただきます.
>>247 前リリースから随分時間が経っていて、ちょうど良いキッカケでもあったので。
タブ幅を4にすると、
オートインデントでタブが自動的に2つ(8文字分)入るようになるのですが、
これを1つにするにはどこを変更すればいいんでしょうか?
そっちでやれや
:new した時の fenc の値が最後に :set fenc した時の値になるのは仕様ですか?
>>252 正確には「:newする直前のカレントバッファのfencの値が引き継がれる」という仕様
です。fencだけでなくバッファローカルなオプションは殆どそうなっています。
>>253 :h local-options を見て納得しました
ただ、KoRoN さんの説明とは違ってましたが…
>>254 いきなり詳細を説明しても混乱する、ということで勘弁してください。
円コーディングの自動判別はどうにかならぬポ?
encoding, fileencoding は euc-jp 出、 fileencodings は色々。
フツーに日本語書いたらeuc-jpで保存されると思いきや、sジsとかんなるけど…。
w3mのフォーム埋めるのにvim使うと、なまじ自動判別があるために
短い文章を再編集しようとすると判別に失敗して化けちゃったりするのよね。
かといって自動判別切っちゃうとそれはそれで困るし。
>>256 verifyenc.vimを使うと少しは改善すると思われます。
http://www.kaoriya.net/testdir/verifyenc.vim これをpluginディレクトリに置いてください。
>>257 自動判別用の独自コードを埋め込んでしまえば解決するんですが、どうしても日本語特
有コードになってしまうので、Vimに相応しいgenericなモノとは程遠くなってしまいま
す。となるととてもvim-devに還元はできません。順番に試していく現行の方式は速度
の問題もあるので、是非guessする機構を加えたいと考えてはいるものの、上手い
genericな実装案が思い浮かばない、というのが現在の状況です。アイデアがあったら
お願いします。
Vimで[^]の正規表現はどう表すんでしょう?
正確には「文章の先頭が数字で始まらない行を全て削除する」という
exコマンドが知りたいのですが. . .
:g!/^[0-9]/d
もしくは
:g/^\D/d
もしくは
:v/^\d/d
:g/^[^0-9]/d
>>261 Perlの正規表現もつかえるのか〜、しらなかった。_ト ̄|○
いっ、挿入れないでぇ〜
下半身丸出しかよ!!
265 :
名無しさん@お腹いっぱい。:03/08/15 10:48
http://pc.2ch.net/test/read.cgi/prog/1060104652/787で > みんなVimで快適に日本語入力できてるの?挿入モードから出るときに
> いちいちIMをoffにしなくちゃならんのが異常に苦痛なんだが…
と書いたらこちらに誘導されました。
むこうでは、
> 環境にもよるけど--enable-ximつけてconfigure & make し直す。
と言われたのですが、vim --version すると+ximというのが既にあります。
どのようにすればもっと楽に日本語入力できますでしょうか?
みのるの超流行語では、
流行語大将になりそうな言葉を紹介していきたいと思います(^‥^)。
オヒャヒャ 僕、みのる様が使用している笑い方です。
(^‥^) 僕、みのる様が愛用している顔文字です。
トライブット 僕、みのる様のサイトがある所の偉い所の人。
みのる様ファン倶楽部 会員数がもう100億人超えた超えてます。
マヨネーズ 僕様の大好きなマヨネーズの一種です
スペシャルギニア 世界共通語で、誰でも分かります
応援ありがとう!!! 皆が僕様を応援してくれるから、僕様も返信します
俺様の素晴らしいサイト↓
http://minoru_god.tripod.co.jp/ UNIX板のバカドモはこっちに来て勉強しな
BYE みのる様
gvim つかいます。
あぼーん
あぼーん
Debian 使ってます。
vim の日本語 help を入れるのに、
ディストリのファイル構成をこわさないよう、
/usr/local とか ~/vim とかに入れたいのですが、
:helptags /usr/local/share/vim/doc-j
:set helpfile=/usr/local/share/vim/doc-j/help.txt
これではうまくいきませんでした。
何か足りないことがあるでしょうか。
すみません。自分で調べてわかりました。
:set runtimepath をした所、
runtimepath=~/.vim,/etc/vim,/usr/share/vim/vimfiles,/usr/share/vim/vim61,/usr/share/vim/vimfiles/after,~/.vim/after
こんな感じに出ましたので、優先度の高い
~/.vim/doc に日本語ファイル群を入れてみた所、
何の設定もなしでうまくいきました。
set wildignore=*.oの状態で
:args hoge.o
とするとエラーになります。
E479: 該当はありません
hoge.oはカレントディレクトリにあります。
argaddも同様にエラーになりますが、argeditではエラーにならずに読み込まれます。
helpにはそのような記述はありませんでした。これは仕様なのでしょうか?
>>275 ソースコードまでは調べてないのですが、試してみると:argsも:argaddもワイルド
カードを受け付けますから、これらの引数については'wildignore'の対称となってい
ることが推測されます。直接指定の際は'wildignore'の対称となるべきではない、と
いう要望であれば検討事項に加えておきます。
gvim と console の vim を同じ程度使うので、
.gvimrc を廃止して .vimrc に一本化しようと思っています。
そこで、.vimrc に
if has("gui_gtk")
set columns=100
中略
set linespace=1
endif
こんな感じに書いて、gvim の時のみ評価するのを分けようと思ったのですが、
if has("gui_gtk") これでは console 時も真になってしまい、駄目みたいです。
何かいい方法ないですか?
has("gui_running")
>>278 おーすばらしい。ありがとうございます。
>>276 ちょっと気になっただけですから、要望はないです。
GTK2のgVim 6.2.69 +kaoriyaで、kinput2を併用しています。
ところがIMオン状態でEscを押すとそのままgVimが凍ってしまい、killするしかないです。
対処法はありますか?
Athena GUIとかだとNormモードに戻った後でもIMオンのままなので好きでないです。
>>281 '/usr/X11R6/lib/X11/app-defaults/Kinput2'の最後に以下を加えると直る。かもしれません。
*SeparateConversion.input: false
*selectionShell.input: false
*auxShell.input: false
試してみてください。
残念ながら ../app-defaults/Kinput2 にはもうその設定が入ってました。
もしかしてFAQですか?
ちなみに今度Anthy+jmなんとかってのを入れて試してみるつもりです。
>>283 1つ思い当たることがありました。kinput2のバージョンは幾つでしょうか?。3.1より
も前だと不具合が生じる可能性があります。
Kaoriya版gvim6.2.69使ってます。
VisualBasicのソースですが.NETでは.vsが拡張子になってます。
ですが、syntax highlightingされません。
$VIMRUNTIME/filetype.vimを見ても
*.vsはautocmdの判別に使われていないようです。
加えちまえ!
>>285 >286さんの言うとおり個人設定ファイルで加えてしまいましょう。正式には
:help new-filetype
の方法に従うべきところですが、面倒であれば.vimrcに
au BufNewFile,BufRead *.vs setf vb
と書くだけでも設定できるでしょう。
あ、やっぱり?(w
いや、確かにその方が手取り早いんだけど、
最終的には標準で入っていた方が良いのかなぁ?
と思いまして一応ご報告をしたつもりです。
既にご存じでその予定なのでしたら杞憂なのですが。
Windows版GVIMですが、右クリックメニュー→貼り付け
が、pではなくPなのはかなり使いづらいのですが、
なにか理由があってこうなっているのでしょうか。
それとも誰も使わないので放置状態?
>>289 私はまったく使いませんが、恐らくWindowsのようなカーソルの直前に挿入される
「貼り付け」を意識しているんでしょう。
>>290 挿入モードなら直感的なんですが、ノーマルモードでこれをやると・・・
うーん、Windowsってこんなだったっけか?
私もほぼ使わないんで(ぉぃ)、まぁどっちでもほぼ困らないんですが(^^;
>>291 VS.NETのエディタ部で上書きモードにしてカーソルを四角くして、右クリック→貼り
付けをやってみましたけど、同じ位置に挿入されましたよ。
>>292 わざわざ検証して下さってどうもです。
VSは持っていないし、それはおろかテキストを編集するもの
といえばGVIMしかさわってないので、まったくわかりません
でしたが、そういうことならば得心がいきます。
kinput2のバージョンはversion 3.1 (2002/10/03)でした。
6.1.12(だっけ?)を使ってたころには凍るようなことはまずなかったと
思ったんですけどねー。
有効なデータが取れたらまた現れます。どうもでした。
おお、今の今までwindows版には右クリックメニューなるものがあることすら
気付いてなかたーよ…
>>294 ザックリとパッチをチェックしてみましたが、それらしいところは見あたりませんで
した。もしも追加の再現条件が判りましたらお知らせください。
>>295 Windowsに限らずgvimではメニューがでます。:help popup-menuには書いてないけど
OSXでもCtrl+クリックで出ました。
ふみゅ、:se mousemodel=popup すると出るですね。
でもextendでいいや(笑
298 :
名無しさん@お腹いっぱい。:03/08/20 08:11
:S で、ファイラ(?)モードになって、選択したファイルをエディット
する際にフルスクリーンにするにはどうしたら良いでつか?
>>298 Kaoriya版ならSM 4とかSM 5はどうよ?
元に戻すにはSM 0ね。間にスペースが無くてもいい。
正確にはScreenModeというコマンド。
$VIMRUNTIME/plugin/scrnmode.vim
で定義されてる。
300ゲトズザ
kaoriya 版じゃないときは??? SM プラグインを入れれば良いでしょか?
# Sexp と SM ...
あぁ、209 じゃないですね。
v
i
>>303 _| ̄|○ …「そんなスクリプト置いたか?」って騙された
無 知 な自分を 鞭 打 っ て 、初めてgdb使ってみました。
# だってjmodeがコンパイルできなかったんです
IMオン中にEscで凍るときは、SIGINT送ってbacktraceしたらregexec()から帰らない(?)
それからどなたかの:qでエラーメッセージがループするという症状、
私もよくそうなるのですが、これについて試してもregexec()から抜け出ないようだ(?)
gdbの使いかたなんて何も知りませんが、何かの足しになれば幸いです。
# もっと勉強しなきゃな。変数の見方が分からない...
それにしてもなぜ本体ソースにないPOSIX関数が?
ありゃ今コンソール上のvimにやってみたら
0x40455bb2 in select () at regexec.c:1531
1531 regexec.c: No such file or directory.
in regexec.c
と出ました。これはKoRoN殿の守備範囲ではなく、ライブラリの不備かも?
レベルの高い質問の中、凄く下らない質問で恐縮なんですが以下のような状態でemacsをvimにする場合どうすれば宜しいでしょうか。
emacs
emacs
vim
最初はvimをヤンクしてemacsをvで選択してペーストすればいけると思ったんですがペーストすると何故か
ペースト先のemacsを今度はヤンクしてしまい二つ目のemacsをvimに出来なくなってしまいます。
やはり名前付きレジスタにヤンクしないとダメでしょうか・・・
気軽にやりたいんですがあまりに複雑になると:s使った方が楽という結論になりそうで・・・
最初のeの上にカーソルを持っていき
cwvim[ESC]+.
と打つ。
+は次の行の先頭単語に行く。
.は前のコマンドを繰り返す。ここではcwを繰り返すことになる。
もしくはemacs2行分をVで選択して
cvim<Return>vim<Esc>
と打つ。2個くらいならこれでも良いが多いとやってられないな。
exコマンドならemacs2行分をVで選択して
:s/emacs/vim/
と打つ。
実際には
:'<,'>s/emascs/vim/
と見えるがそのまま打つように。
'<と'>はVisual選択行の開始行と終了行を意味する。
つまり範囲を指定してsubstituteしてるってわけ。
ファイル全体置換で良いなら
:%s/emacs/vim/g
と打つ。
最後のgは1行内に複数個のemacsがあっても全部vimに変えるって意味。
>>309 すみません、308は例えが悪かったです。
実際は以下のような感じです。
nextStuff = this.ArgStf();
prevStuff = prev.ArgStf();
boolean skipPostArgumentStuff(...)
名前の統一を図るためにArgstfをPostArgumentStuffにしたいという場面です。
win系エディタではPostArgumentStuffを選択して<C-C>でコピーしてArgStfと書いてある
ところをマウスのダブルクリックなどで選択<C-V>で次々に変えていくのが普通だと思う
のですがVimではどうやるのか皆目見当が付かない次第で・・・
:sはコピー元、コピー先の文字列が長い場合(最近の変数名やメソッド名は長いので・・・)
大変なので変更する数が少ない場合(2〜5くらい?)はコピペで凌ぎたいです。
また、309さんがおっしゃるようにArgStfを一回PostArgumentStuffに変更して検索と「.」で変更の
繰り返しをする場合も文字が長い場合は大変ですし、上記のように文字列の一部の場合は補完も効きません。
日常的に使っていて結構こういう場面があるのですがイマイチうまい方法が見つかりません。
何か良い方法あるでしょうか。
確かにインクリメンタルな補完は欲しい。
俺は地道にcwとfや,と.で修正してるな。
>>310 > :sはコピー元、コピー先の文字列が長い場合(最近の変数名やメソッド名は長いので・・・)
> 大変なので変更する数が少ない場合(2〜5くらい?)はコピペで凌ぎたいです。
":s"の後にマウスでも何でも使ってコピペすればいいんじゃないの。
# q:とか押してみると幸せになれるかも?
>>310 特定のレジスタ使ったコピー&ペーストする動作をマップしちゃうのも手。
>>307 Vine Linux SeedでGTK2 gVimです。これってやはり鬼門なのだろうか。
こんど雑誌か何か見てgdbの使いかた覚えますね。
>>310 もとのあなたのやっていたやりかたでOK。ただしペーストは"0pですること。
詳細は:he registers
たぶん他にも別の考え方に基づく解決策はあると思うけど。
あとコマンドラインに単語を送る方法は:he c_<C-R> の辺り。
315 :
名無しさん@お腹いっぱい。:03/08/23 13:01
:%s/sample/Sample/g
とした場合に、全部で何件置換したかがわかる方法ってありますか?
失礼しました。2ヶ所以上だと出るのですね。
>>310 名前の統一を図るって目的なら、やはりexコマンドで一括置換した方が良いよね?
となると、
>>314の言うとおり<C-R>を使うのが手かな、やっぱ。
<C-R>はレジスタの値をコマンドラインに出してくれるのでこれを使う。
レジスタ0(直近のヤンク)はyなどでコピーした時、
レジスタ1(以降9まで)は削除や変更した時に使われる事を利用する。
詳しくは :help quote0 など。
まずArgumentStaffのAの上でdwP(or deP)としてレジスタ1に削除文字列をヤンクしてPで元に戻す。
次にArgStfのAの上でyw(or ye)としてヤンク。
これで、ArgumentStaffはレジスタ1に、ArgStfはレジスタ0に入っている。
内容は:regか:diで確認できる。
使うレジスタは逆でもいいし、別のレジスタを使っても問題ないけど、
名前無しレジスタにした方がタイプ量が少なくて済むよね。
あとは、
:%s/<C-R>0/<C-R>1/g
でOKだと思う。
ほんとに書き換えて良いか1つ1つ確認したいなら最後にcを付けて
:%s/<C-R>0/<C-R>1/gc
としましょう。
詳しくは :help s_flags で。
あ、ごめん
>>317は
:s/ArgumentStaff/PostArgumentStaff/
で読んで。
>>311 自分も一回"aywなどでヤンクしたものをciw<C-R>aなどで変更、あとは.を使って以降の文字
を変更と言う方法と、308の名前付きレジスタ版を使っていました。
でも名前付きレジスタへのヤンクが面倒でw
他の人が教えてくれた0レジスタはそう言う意味で朗報でした。
>>312 > ":s"の後にマウスでも何でも使ってコピペすればいいんじゃないの。
マウスでコピペっていうのはどういう感じなのでしょうか?
まだ、使って日が浅いもので・・・
>>313 マップするにも割り当てるキーが・・・
それにあくまでもデフォルトでスッキリ使いたいという気持ちもあります。
>>314 ありがとうございます。
数字レジスタの働きを理解していませんでした。
それと:he registersを見ていて思ったんですが:letを使ったレジスタの書き換え便利そうですね。
vi vs emacsスレ(これを見てvimを使い始めましたw)でキーボードマクロの話が盛り上がって
いたのですが、vimもレジスタの演算が出来るのでかなり複雑なことをキーボードマクロで実現できるんですね。
驚きました。
>>317 たびたびのレス恐縮です。
数字レジスタ便利ですね。
ただ提示の方法は多少手間がかかりそうです。
これはこれで別の場面で役立てようと思ういます。
>>310 答えが出てしまったようですが、私流のやり方では
1. PostArgumentStaffの上で yaw して
2. ArgStfの上で * して
3. :%s//<C-R>"/g
こんな感じです。検索パターンを省略した場合は、最後に使われた検索パターン、この
場合は * で拾ったパターンが再利用されます。一つ一つ確認したい場合には:s///に
cフラグを付ける方法も考えられますが、
1. ArgStfの上で * して
2. cw + 補完でPostArgumentStaffに書き換え <ESC>
3. n. で置換を繰り返す。
とするのが好みです。
>>320 レスありがとうございます。
:s//は知りませんでしたこれは便利です。
今回みたいな件ではやはり.を使った置換の方がやりやすいですがこの:s//は重宝しそうです。
> 2. cw + 補完でPostArgumentStaffに書き換え <ESC>
310で書いているとおりPostArgumentStaffはskipPostArgumentStuffの切り出しなので補完は効かないんですよ。
ということは、このばやい
1.Post・・・ の P のところで yw
2.ArgStf 上で *
3.cw <C-R>0<Esc>
4.n.n.・・・
って感じがいいですね。
321じゃないけど、いろいろ勉強になりました。
323 :
名無しさん@お腹いっぱい。:03/08/24 03:35
ヴぃmで行番号の色変える方法がわかりま千円。
>>323 :hi LineNr
:help :hi
:help LineNr
を参照してください。
ガイシュツですが、行番号も書式を指定出来るようになるといいですね。
「8桁も要らないYO!」とか「3桁毎に区切りきぼんぬ」とか
「漢は16進」とか「マーク位置からの相対行番号でよろしこ」とか。。。
>>325 それを必要だと感じた人がBram氏もしくはvim-devへ提案したりパッチを書いて送らない
限り、それがどんなに素晴らしいアイデアだとしても実現することはあり得ません。
単に機能だけを提案するのではなく、それをどうやって既存の操作体系の中に組み込むの
か、オプションやフラグの新設等、併せて提案すると良いのではないでしょうか。
327 :
名無しさん@お腹いっぱい。:03/08/24 14:59
あぼーん
あぼーん
>>326 まあ、全員がvimハカーというわけでもないし、日本語で気楽にアイデアや希望を
出せるというのもこのスレ/2chという場の機能の内ってことで。
rulerformatみたいにしてnumberformatとかを設けるのが一番わかりやすいかな?
#しかし何でまた下がってたのに宣伝が・・・
>>330 アイデアのまま希望のままで終わらせるか、一歩ずつでも実現のためにステップを踏んで
いくかの違いです。ここに書かれたことのうち、まっつんさんや私が必要だと判断した分
については実装される可能性が高いのですが、そうで無い分は実質的に握り潰されてしま
う形になります。でも中にはそうなってしまうには「もったいない」と思われるモノも相
当数有るんです。
ではそういうアイデアがどうやったら掬い上げられ実現されるかというと、提案者が自ら
実装しvim-devへ乗り込むか、コードを書いたりvim-devへ連絡を取ることに抵抗の無い人
間を説得するか、でしょう。前者は「全員がvimハカーというわけでもない」のだから、
誰もができるわけではない。となると必然的に後者です。
その時の説得材料として、
> それをどうやって既存の操作体系の中に組み込むのか、
> オプションやフラグの新設等、併せて提案すると良い
というわけです。もちろん完全なパッチがベストですが、実現コンセプトだけを示す仮想
コードや、仕様を示すドキュメントという選択肢もあるわけです。オプションについては
help用の説明書きがあるだけで、かなり印象が違います。これらは誰でもできますよね。
なので単にアイデアを言うだけでなく、かと言ってパッチを作ることに固執するのでもな
く、周辺部から、より具体的な形にしていく方向で提案し、議論を進めていくと良いと考
えます。
以上を踏まえた上で
> rulerformatみたいにしてnumberformatとかを設けるのが一番わかりやすいかな?
printfみたいに"7d"とか"06x"とか指定させると、ちょっと自由度が高過ぎではないで
しょうか。オプション設定時のエラー判定が複雑になり、面倒です。
>>332 いんにゃ、本気でprotestしてるんだと思うよ。
ソフトウェア著作権、ヨーロッパじゃかなり深刻な状況になりつつあるらしい。
$VIM/vimrcに関してリクエストです。
vimrc_local_finishを使えば$VIM/vimrcを読み込まずに自分の設定を有効にできますが、
その場合にはknowhowが沢山詰まった
日本語対応のための設定:
がスルーされてしまいます。
現状では、$VIM/vimrcの日本語設定を自身の~/_vimrcにコピーしてるのですが
これでは$VIM側が変更された場合に自身のもupdateする必要があります。
日本語設定は多分どんな環境でも同じだと思うので、
例えばこの設定より後にvimrc_local_finishの条件判定を入れる、
等の変更はできないでしょうか?
>>335 > 日本語設定は多分どんな環境でも同じだと思うので、
> 例えばこの設定より後にvimrc_local_finishの条件判定を入れる、
> 等の変更はできないでしょうか?
enc設定のノウハウを含め、全て無効にする目的で設けたのがvimrc_local_finishで
す。ですからその提案方法は不採用です。
考えられるのは日本語用の設定だけを別ファイルにして読み込むようにするくらいです
が…結局どの設定を切り出すかは私のセンス如何に依存してしまいます。そうなるとそ
もそもvimrc_local_finishを使うのはその依存を断ち切る目的ですから、これと矛盾し
てしまうでしょう。そう考えると私の労力はまったくの無駄となるわけで、
vimrc_local_finishの動作をわかっているユーザさんの側で内容の同期を取ってもらっ
た方が合理的と言えるでしょう。
具体的に言うと、現行のencodeに関する設定を$VIMRUNTIME/encode_japan.vim等にまと
め、$VIM/vimrc内でsource $VIMRUNTIME/encode_japan.vimとするようにしたとしま
しょう。この時vimrc_local_finish+encode_japan.vimのユーザさんが、時間が経つに
つれ利用開始当初には想定していなかった設定が紛れ込むようになった時、それを良し
と思えるのか、ということです。
>>334 上から2行目ですけど
> 配布を辞めさせたり
これは「止めさせる」のほうが適当では?
>>337 ありがとうございます。早速修正しました。
>>336 基本的には同意できるんですが
> enc設定のノウハウを含め、全て無効にする目的で設けたのがvimrc_local_finishで
まで言いきるならばそれを望むユーザーが$VIMディレクトリの下に(g)vimrc_local.vim
を置くのではなく$HOMEの下(それもできれば.vimrcに書く変数かなにかで)で実現できるべきかと…
つまりそのようなユーザーはwin環境でもun*x環境でも自分の$HOME/.(g)vimrc, $HOME/.vim/
を使い回してその他の設定にはいちいち縛られたくないよーんみたいな…
>>339 これらデフォルト設定ファイルの成り立ちには以下の歴史があります。
1. 標準の$VIM/vimrcは初期導入コストの引き下げが目的。
2. vimrcでしかできない一部の設定を覆すことが、vimrc_localの目的。
さらに以下の絶対的な拘束を受けてます。
3. $VIM/vimrcは$HOME/.vimrcよりも必ず先に読み込まれる。
これらを考え合わせると
> を置くのではなく$HOMEの下(それもできれば.vimrcに書く変数かなにかで)で実現できるべきかと…
これは現状では不可能です。
ただしvimrc_localの読み込みタイミングで、$HOME以下の別ファイルを読みに行くことは
できるでしょう。
> つまりそのようなユーザーはwin環境でもun*x環境でも自分の$HOME/.(g)vimrc, $HOME/.vim/
> を使い回してその他の設定にはいちいち縛られたくないよーんみたいな…
ほとんどの設定は$HOME/.vimrcで上書できます。そこまでのヘビーユーザならば、
NetUpVimを含めた香り屋の提供する利便性に中途半端な依存はしないで、初めから自分の
手で設定すれば良い。というのが香り屋版の基本的なスタンスです。
>>340 > 1. 標準の$VIM/vimrcは初期導入コストの引き下げが目的。
> 2. vimrcでしかできない一部の設定を覆すことが、vimrc_localの目的。
これは分かります。
> 3. $VIM/vimrcは$HOME/.vimrcよりも必ず先に読み込まれる。
これは単純に$VIM/vimrcで、例えば
if filereadable($HOME . '.vim/no_kaoriya_vimrc') || filereadable($HOME . 'vimfiles/no_kaoriya_vimrc)
finish
endif
とかできるわけです。
> ほとんどの設定は$HOME/.vimrcで上書できます。そこまでのヘビーユーザならば、
> NetUpVimを含めた香り屋の提供する利便性に中途半端な依存はしないで、初めから自分の
> 手で設定すれば良い。というのが香り屋版の基本的なスタンスです。
自分だけならそれで良いんですが、例えば他のユーザーに
「漏れの設定ファイル, ftpに置いといたから良かったら試してみてくれよ」
みたいな時に
「あ、でも君がKaoriya版使ってるなら$VIM/(g)vimrcを消すかvimrc_local作るように」
と言わなくて済むわけです。
そうしないと、例えばfencsのように、両者のvimrcで同じ値を
set xxx+=yyy をしていると二重定義になるのです。
# 実害はなさそうですが…
現状の
if filereadable($VIM . '/vimrc_local.vim')
も残しつつ、上記提案の「自分の$HOME以下で閉じられるようにする」というのを
加えるだけならば, 過去との互換性もあり特に不都合はないかと思うのですが…
> 自分だけならそれで良いんですが、例えば他のユーザーに
> 「漏れの設定ファイル, ftpに置いといたから良かったら試してみてくれよ」
> みたいな時に
> 「あ、でも君がKaoriya版使ってるなら$VIM/(g)vimrcを消すかvimrc_local作るように」
> と言わなくて済むわけです。
そんな頻度の少ない場面にどれほどの価値があるのやら。
それにたいした手間でもなかろう。
KoRoNさんのこの言葉どおりだと思うが。
> NetUpVimを含めた香り屋の提供する利便性に中途半端な依存はしないで、初めから自分の
> 手で設定すれば良い。というのが香り屋版の基本的なスタンスです。
>>341 基本的には$HOME/.vimrc_first.vimを読む方向で考えていたのですが…
> 「あ、でも君がKaoriya版使ってるなら$VIM/(g)vimrcを消すかvimrc_local作るように」
> と言わなくて済むわけです。
見方を変えればそう言うだけで済むのです。そのレアケースのために
> 加えるだけならば, 過去との互換性もあり特に不都合はないかと思うのですが…
vimrcの「わかりやすさ」を低下させてしまう、というデメリットが生じるんです。
vimrcは、設定を弄ってみようというユーザが初めて読んでもヒかない程度の内容で
あるべきなのです。その意味で私は、vimrc_localの存在を設定ファイルのわかりや
すさという観点から良しとしていません。fencsの設定方法も同様です。
あなたのニッチな要求を満たす提案に、そういう副作用があることは忘れないでくだ
さい。
> そうしないと、例えばfencsのように、両者のvimrcで同じ値を
> set xxx+=yyy をしていると二重定義になるのです。
配ることを想定した.vimrcならば
set fencs&
set fencs+=...
のようにリセットしてから設定すれば済む話です。
ニーズがニーズなので、vimrc_firstの採用ついては再考します。
>>343 よくわかりました。
> 自分だけならそれで良いんですが、例えば他のユーザーに
> 「漏れの設定ファイル, ftpに置いといたから良かったら試してみてくれよ」
> みたいな時に
これは一例を挙げただけで、要は予期しないことが起こり得る可能性を
示唆したかっただけです。
KoRoNさんの功績は誰もが認めることだし、それに対して文句を言う
ことは誰にもできないでしょう。
一般的に、特定のLinuxのディストリとかでシステムデフォルトのvimrcを
つけてくる場合も含めて、それを回避できる手段が$HOME以下で閉じられた
方がいいかもなっていう感想を1ユーザーとして述べたと捉えて
頂ければ幸いです。
詳細な見解をレス頂けただけでも十分です。
これからもよろしくお願いします。
>>344 > 一般的に、特定のLinuxのディストリとかでシステムデフォルトのvimrcを
> つけてくる場合も含めて、それを回避できる手段が$HOME以下で閉じられた
話をそこまで一般的にするならば、それはKaoriYa版Vimに限らずの話ですから、ソー
スコードレベルでそういう仕組みが必要ということです。だとすれば既存の-u及び-U
オプションを使って、vim -u ~/.vimrcのようにスクリプトを書いたりエイリアスを作
ることで充分対応できますね。
:ls
1 h "[無題]" 行 1
2 %a ".vimrc" 行 21
3 #h "share/vim/vimrc" 行 1
:b vim<tab>
この状態で補完すると、.vimrcとvimrcが選べます。
:ls
1 h "[無題]" 行 1
2 #h "~/.vimrc" 行 21
3 %a "vimrc" 行 1
:b vim<tab>
この状態で補完すると、vimrcしか補完されません。
.vimrcも補完できるようにするにはどうすればいいでしょうか?
6.2.71です。
Solaris8環境で、ユーザーディレクトリにlibiconvをインストールし、
Vimをインストールしたのですが、Vimがどちらのiconvを使っているか
調べる方法はないでしょうか?
また、ユーザーディレクトリのlibiconvを使ってVimをコンパイルする場合、
どうしたらいいのでしょうか?
SJISのファイルがどうやっても開けなくて、iconvを疑ってます..
351 :
名無しさん@お腹いっぱい。:03/08/29 09:28
>>350 Solarisのiconvではコード判定動かないね。俺も最初?だった。
>Vimがどちらのiconvを使っているか
ldd /usr/local/bin/vim とか。
>ユーザーディレクトリのlibiconvを使ってVimをコンパイルする
俺はconfigure後のsrc/auto/config.mkでLIBSに-L指定して誤魔化し
ちゃったけど。(実行時用にLD_LIBRARY_PATHの設定も必要)
>>351 そうか、lddで調べればいいんですね。
で、調べてみたら自分でインストールしたlibiconvは入ってなかったです。これが原因か!
>俺はconfigure後のsrc/auto/config.mkでLIBSに-L指定して誤魔化し
>ちゃったけど。(実行時用にLD_LIBRARY_PATHの設定も必要)
これ、試してみます。これができればいけそうですね。
半分あきらめてたので、結構うれしいです。ありがとうございましたー。
LIBSに-Lを指定しても、lddでvimみたらiconvが含まれてなかったので、
-liconvとかやったら、
libiconv.so.2 => /自分がインストールしたディレクトリ/lib/libiconv.so.2
って、出てくれました。
が、いまだにSJIS読めません..
単に「テスト」と書いたSJISのファイルなのですが..
vimrc, gvimrcは、vim-6.2.069-difj.tar.bz2 に入っている物を上書きしています。
enc=euc-jp
fencs=ucs-bom, ucs-2le, ucs-2, iso-2022-jp,utf-8,cp932
私何か勘違いしてますか?
>>353 とりあえず
:e ++enc=cp932 該当ファイル
で開いてみてください。これで化けるようならverifyenc.vimが影響を与えている
か、基ファイルにiconvではeuc-jpへコンバートできない文字が含まれているかで
す。前者は
:echo b:verifyenc
として表示される結果で知ることができます。後者はシェルから
% iconv -f cp932 -t euc-jp 該当ファイル
としてエラーが出るかどうかで分かります。
また後者については
% iconv -f cp932 -t euc-jisx0213 該当ファイル
で対応できるのですが、iconvに特別なオプションをつけて./configureしなければな
らないのと、Vimのほうで対応していないのでちょっと手間がかかります。
gvimで起動時に最大化するようにau! GUIEnter * simalt ~xと書いたのですが、
これだと手動で最大化してるかのごとく時間がかかってしまいます。
他のアプリみたいにさくっと最初から最大化の状態で開けないものでしょうか?
>>355 もしWinならばgvim.exeのショートカットを作成し、
プロパティから最大化を選んで起動してみてください。
>>356 おお、こんな方法があったなんて。ありがとうございます。
>>355 以下のどちらかで対応してください。
1. gvim.exeのショートカットを作成してプロパティから「実行時の大きさ」を「最大化」に設定し、そのショートカットで起動する。
2. cmd.exeからstartに/MAXオプションを付けて起動する。例: start /MAX gvim.exe
>>354 KoRoNさん、レスありがとうございます。さっそくやってみました。
:e ++enc=cp932 では、化けてしまいました。
:echo b:verifyenc は、NONE って出ました。 これは失敗??
iconv -f cp932 -t euc-jp は問題なく表示されました。
テスト用に、「テスト」とSJISで書いたファイルで試してるので、
変換できない文字ではないと思います。
あ、あと libiconv は1.9.1を入れてます。
コンパイルが間違ってるのかな?
>>359 > :echo b:verifyenc は、NONE って出ました。 これは失敗??
verifyenc.vimは「fencの変更をしませんでしたよ」っていう意味です。
う〜んおかしいですね。基本的にiconvとVimの+iconvの結果は同じになるはずなんで
す。なのでiconvが正しく働くということはVimの+iconvリンクが上手くできてない、
ということが推測されます。
echo has('iconv')が1を返すか、ldd /usr/local/bin/vimとldd /usr/local/bin/iconv
で表示されるlibiconvへのリンクが同じものを指しているかを確認してください。
>>360 レスありがとうございます。
> verifyenc.vimは「fencの変更をしませんでしたよ」っていう意味です。
なるほど、そういう意味でしたか。勉強になります。
> echo has('iconv')が1を返すか、ldd /usr/local/bin/vimとldd /usr/local/bin/iconv
> で表示されるlibiconvへのリンクが同じものを指しているかを確認してください。
確認してみましたが、echo has('iconv')の結果はちゃんと1を返し、
ldd iconv と vim のlibiconvへのリンクは同じものを指していました。
やっぱり、コンパイルorリンクがうまくいってないっぽいですね。
configure後のsrc/auto/config.mkで -liconv とした方法がよくなかったかな。
でも、普通に config make するとldd見るとでiconvにリンクされてないみたいなんです..
>>361 多分、環境変数INCLUDE及びLIBそれぞれに、ローカルインストールしたパスを優先的
に設定してからvim62/src/autoでrm *して、vim62/srcで./configureすればちゃんと
認識されるとは思いますが、如何せん私は試せないので。
# こういうケースの時はいつも、telnetかssh開けてもらえたら楽なんだけどなぁ、
# ってついつい考えちゃいます。
ごめんなさい。まだ質問があります。
テキストファイルをダブルクリックするとgvimで開くようにしているのですが、
ダブルクリックのときも最大化で開かせるにはどうすればよいのでしょうか?
ショートカットをプログラムに選ぼうとしてもできないですし。
>>361 vimの起動時にLD_LIBRARY_PATHの指定がしてあればそっちにあるライブラリを
読むはずだけどなぁ。
コマンドラインでどうやって起動してるか晒してみるよろし。
あと、Solarisだと確かコンパイル時で"-L/どこそこ"と同じところに"-R/どこそこ"を
指定すればバイナリにライブラリ検索パスを埋め込めるはず。
>>363 なるほど、そのへんを調べつつリトライしてみますです。
ほんと、開けて見てもらえたら早いんですけどねぇ ^^;;
>>365 LD_LIBRARY_PATHは351さんが教えてくれたので、.cshrcにパスを追加してます。
setenv LD_LIBRARY_PATH $HOME/lib:${LD_LIBRARY_PATH}
こんな感じで。
コマンドラインでは普通に、vim か gvim って起動してるだけです。
> あと、Solarisだと確かコンパイル時で"-L/どこそこ"と同じところに"-R/どこそこ"を
> 指定すればバイナリにライブラリ検索パスを埋め込めるはず。
おお、そんなこともできるですか。ちょっと調べて見ます。
>>364 NT系ならば起動するプログラムを
cmd.exe /C start /max gvim.exe "%1"
こんな風に設定すれば、一時的にプロンプトが表示されるものの最大化で開くことが
できます。但しgvim.exeで済むのはパスが正しく設定されている場合に限定されるの
で、設定されていない場合はフルパスで指定してください。
もしかしたらレジストリ技を駆使してプロンプトを出さないようにすることもできる
かもしれませんが、それはご自分で調べてみてください。
>>368 補足です。基本的にVimの内側から最大化するにはsimalt ~xするしかありません。ただ
しこの方法だと355の通りの現象が起きます。ただしソレを軽減する方法は存在します。
予めsimalt ~xしたときのlinesとcolumnsをメモしておき、それを.gvimrcで設定してか
らsimalt ~xするのです。例えば
:set lines? columns?
lines=73 columns=210
ならばこのような設定を.gvimrcに追加します。
set lines=73 columns=210
gui
simalt ~x
この時au GUIEnterは使わないで良いでしょう。で、レジストリ方面から最大化する方
法が見つからない際の代替案として試してみてください。
.viminfoへの読み書きを抑止するにはどうしたらいいんでしょう?
:h 'viminfo'
# 過去ログ見たら書いてあるはずだが
>>370 :set viminfo=
を~/.vimrcに記述するだけです(=の直後に改行を入れる)。すなわち、viminfoオ
プションの値を空にするわけだ。
vim -i NONEという方法もある。
migemoに関する提案です。
オプションを1つ追加して、
このオプションがONの場合に、
/pattern -> 通常の正規表現検索
//pattern -> migemoで検索
という風に指定出来るようにしてはどうでしょう?
コンセプトは、最小限の努力で
とりあえずmigemoと正規表現を共存させる、です。
一応動くパッチがあって、ここでさらしても構いません。
375 :
名無しさん@お腹いっぱい。:03/08/29 18:56
.vimrcにformatoptions-=rを書いていても
いつの間にかrが入ってしまいます。
どこかのプラグインが悪いのだろうと思うのですが、どれなのかわかりません。
なにかいい方法はないでしょうか。
>>375 :verbose set formatoptions?
>>374 一度検索した後の //+1 等とバッティングしちゃいませんか?
:help search-offset
>>376 ありがとうございます。
デフォルトで入っているjava.vimでした。
これは書き換えたくないんで、自分のホームにコピーして来て、
そのコピーを編集したら解決しました。
>>369 ありがとうございます。かなり快適になりました。
>>378 全部コピーするよりは~/.vim/after/ftplugin/java.vimに
setlocal fo-=r
と1行書くのがスマートでしょう。
>>380 ありがとうございます。
確かそういうことができたはずだよなぁーと思いつつも、
具体的なやり方がわからなかったんです。
>>377 こんな機能があったとは知りませんでした。
で、試してみたんですが、やっぱりバッティングしまくりでした。
//+1 -> migemo検索
///+1 -> 本来の動作
本質的な解決策もなさそうですし、
これだと単なる個人的パッチにしかならないですね。
なかなかいいアイディアだと思ったんですが。。。
\cみたいなので、空いてる文字(列)はないかなあ?
>>382 383の方法とか g/ とかできないですか?
>> 383, 384は私へのレスですか?
ごめんなさい。ちょっと意味がわからないです。
>>385 383は /\cmigemo ってやると'ignorecase'で強制マッチできる、その応用はできない
のかということです。詳細は :he /\c を参照。
384は / でsearchモードに入りますが、g/ で入るmigemo-searchモードをソースコー
ド的に新設できないか、ということです。
>>386 確認してみます。
ただ、何でパッチ作れたの?ってくらいに、
vimのソースをほとんどわかってないんで
どれぐらい時間がかかるかは検討もつかないです。
なんで、「それならこっちで見た方が早い」ってことなら、
さっさとソースをさらすなりします。
>>383の方法で実現できそうです。
\jが空いていたので、とりあえずそれを使って
実装しようと思います。
完成したらまた報告します。
>>388 私としては g/ のように別モードとして分けてもらったほうが嬉しいです。
Kaoriya版のvimrc, アップデートされてますが, 52行目の
if exists('g:vimrc_first_finish') && g:vimrc_local_finish != 0
は
if exists('g:vimrc_first_finish') && g:vimrc_first_finish != 0
ではないですか?
133行目も
" Bram氏の提供する設定例をインクルード (別ファイル:vimrc_example.vim)。これ
" 以前にg:no_vimrc_exampleに非0な値を設定しておけばインクルードはしない。
if 1 && (!exists('g:no_vimrc_example') || g:no_vimrc_example == 0)
説明と構文があってないような…
(こっちはあんまり自信なし…)
ちなみにgvimrcの方も同じです.
>>390 > if exists('g:vimrc_first_finish') && g:vimrc_local_finish != 0
> は
> if exists('g:vimrc_first_finish') && g:vimrc_first_finish != 0
これはOKです。次のアップデートで直しましょう…っていうかまだ廃止と迷ってるん
ですが。
> if 1 && (!exists('g:no_vimrc_example') || g:no_vimrc_example == 0)
こっちは「no_vimrc_exampleが設定されていない、もしくは設定されていても0の時
にはexampleをsourceする」なので問題ないでしょう。
とりあえず383の方はできました。
>> 389
そっちでも出来るような気がしてきたんで
やってみます。
ああでも、
:migemo/aiueo/
みたいな感じでexコマンドを新しく作って、
そっちを使う場合は/でのmigemo検索はoffにする、
という理解であってますか?
>>392 既に埋め込み関数migemo()があるので、そのようなコマンドをソースレベルで定義す
る必要はありません。単純にインクリメンタルサーチ専用のmigemo検索があれば良い
んです。
>>393 埋め込み関数というのは、eval.cにあるやつですか?
とりあえず今夜はリタイアします。
392で「出来るような気がする」とか言っちゃったんですが、
>>384の方は、やっぱり当分は無理です。
「とにかく動くもの作る」というノリでやってたんですが、
それに限界を感じました。
vimの新機能を覚えるところから気長にやってきたいと思います。
そんなに気長に待てないという方がいたら、
どうぞ先に実装してしまってください。
私は一回リタイアします。
というわけで、/\jの方のパッチをさらします。
煮るなり焼くなりご自由にどうぞ。
begin-base64 644 my_vim_migemo.diff
ZGlmZiAtY05yIC4uL29yZy9zcmMvb3B0aW9uLmMgLi9zcmMvb3B0aW9uLmMK
KioqIC4uL29yZy9zcmMvb3B0aW9uLmMJRnJpIEF1ZyAyOSAyMjo1MTo0NCAy
MDAzCi0tLSAuL3NyYy9vcHRpb24uYwlTYXQgQXVnIDMwIDAwOjE3OjI2IDIw
MDMKKioqKioqKioqKioqKioqCioqKiAxNDY1LDE0NzAgKioqKgotLS0gMTQ2
NSwxNDczIC0tLS0KICAJCQkgICAgKGNoYXJfdSAqKSZwX21pZ2RpY3QsIFBW
X05PTkUsCiAgCQkJICAgIHsoY2hhcl91ICopIiIsIChjaGFyX3UgKikwTH19
LAogICNlbmRpZgorICAgICB7Im1pZ2Vtb21hbnVhbCIsICJtZ21tIiwgUF9C
T09MfFBfVklfREVGfFBfVklNLAorIAkJCSAgICAoY2hhcl91ICopJnBfbWln
bWFudWFsLCBQVl9OT05FLAorIAkJCSAgICB7KGNoYXJfdSAqKUZBTFNFLCAo
Y2hhcl91ICopMEx9fSwKICAjZW5kaWYKICAgICAgeyJtb2RlbGluZSIsICAg
ICJtbCIsICAgUF9CT09MfFBfVklNLAogIAkJCSAgICAoY2hhcl91ICopJnBf
bWwsIFBWX01MLApkaWZmIC1jTnIgLi4vb3JnL3NyYy9vcHRpb24uaCAuL3Ny
Yy9vcHRpb24uaAoqKiogLi4vb3JnL3NyYy9vcHRpb24uaAlGcmkgQXVnIDI5
IDIyOjUxOjQ0IDIwMDMKLS0tIC4vc3JjL29wdGlvbi5oCVNhdCBBdWcgMzAg
MDA6MTc6MjYgMjAwMwoqKioqKioqKioqKioqKioKKioqIDU1Niw1NjEgKioq
KgotLS0gNTU2LDU2MiAtLS0tCiAgI2lmZGVmIFVTRV9NSUdFTU8KICBFWFRF
Uk4gaW50CXBfbWlnZW1vOwkvKiAnbWlnZW1vJyAqLwogIEVYVEVSTiBjaGFy
X3UJKnBfbWlnZGljdDsJLyogJ21pZ2Vtb2RpY3QnICovCisgRVhURVJOIGlu
dAlwX21pZ21hbnVhbDsJLyogJ21pZ2Vtb21hbnVhbCcgKi8KICAjZW5kaWYK
ICBFWFRFUk4gbG9uZwlwX21sczsJCS8qICdtb2RlbGluZXMnICovCiAgRVhU
RVJOIGNoYXJfdQkqcF9tb3VzZTsJLyogJ21vdXNlJyAqLwpkaWZmIC1jTnIg
Li4vb3JnL3NyYy9zZWFyY2guYyAuL3NyYy9zZWFyY2guYwoqKiogLi4vb3Jn
L3NyYy9zZWFyY2guYwlGcmkgQXVnIDI5IDIyOjUxOjQ1IDIwMDMKLS0tIC4v
c3JjL3NlYXJjaC5jCVNhdCBBdWcgMzAgMDA6MTg6MzQgMjAwMwoqKioqKioq
KioqKioqKioKKioqIDEyMzQsMTIzOSAqKioqCi0tLSAxMjM0LDEyNDAgLS0t
LQogIAlkaXJjID0gc3BhdHNbMF0ub2ZmLmRpcjsKICAgICAgZWxzZQogIAlz
cGF0c1swXS5vZmYuZGlyID0gZGlyYzsKKyAKICAgICAgaWYgKG9wdGlvbnMg
JiBTRUFSQ0hfUkVWKQogICAgICB7CiAgI2lmZGVmIFdJTjMyCioqKioqKioq
KioqKioqKgoqKiogMTI3OSwxMjg0ICoqKioKLS0tIDEyODAsMTI5OCAtLS0t
CiAgICAgICAqLwogICAgICBmb3IgKDs7KQogICAgICB7CisgI2lmZGVmIFVT
RV9NSUdFTU8KKyAJaW50IHVzZV9taWdlbW8gPSBjdXJidWYtPmJfcF9taWdl
bW87CisgCisgCWlmIChwX21pZ21hbnVhbCkgeworIAkgICAgaWYgKHBhdCAm
JiAqcGF0ICYmIHBhdFswXSA9PSAnXFwnICYmIHBhdFsxXSA9PSAnaicpIHsK
KyAJCXVzZV9taWdlbW8gPSAxOworIAkJcGF0ICs9IDI7CisgCSAgICB9IGVs
c2UgeworIAkJdXNlX21pZ2VtbyA9IDA7CisgCSAgICB9CisgCX0KKyAjZW5k
aWYJLyogVVNFX01JR0VNTyAqLworIAogIAlzZWFyY2hzdHIgPSBwYXQ7CiAg
CWRpcmNwID0gTlVMTDsKICAJCQkJCSAgICAvKiB1c2UgcHJldmlvdXMgcGF0
dGVybiAqLwoqKioqKioqKioqKioqKioKKioqIDE0NTksMTQ2NCAqKioqCi0t
LSAxNDczLDE0NzkgLS0tLQogICNpZmRlZiBVU0VfTUlHRU1PCiAgCXsKICAJ
ICAgIGludCBkaWRfbWlnZW1vID0gMDsKKyAJICAgIGlmICh1c2VfbWlnZW1v
KSB7CiAgCSAgICBjID0gc2VhcmNoaXRfbWlnZW1vKAogIAkJICAgIGN1cndp
biwgY3VyYnVmLCAmcG9zLCBkaXJjID09ICcvJyA/IEZPUldBUkQgOiBCQUNL
V0FSRCwKICAJCSAgICBzZWFyY2hzdHIsIGNvdW50LCBzcGF0c1swXS5vZmYu
ZW5kICsgKG9wdGlvbnMgJgoqKioqKioqKioqKioqKioKKioqIDE0NjYsMTQ3
MSAqKioqCi0tLSAxNDgxLDE0ODcgLS0tLQogIAkJCSArIFNFQVJDSF9NU0cg
KyBTRUFSQ0hfU1RBUlQKICAJCQkgKyAoKHBhdCAhPSBOVUxMICYmICpwYXQg
PT0gJzsnKSA/IDAgOiBTRUFSQ0hfTk9PRikpKSwKICAJCSAgICBSRV9MQVNU
LCAmZGlkX21pZ2Vtbyk7CisgCSAgICB9CiAgCSAgICBpZiAoIWRpZF9taWdl
bW8pCiAgI2VuZGlmIC8qIFVTRV9NSUdFTU8gKi8KICAJYyA9IHNlYXJjaGl0
KGN1cndpbiwgY3VyYnVmLCAmcG9zLCBkaXJjID09ICcvJyA/IEZPUldBUkQg
OiBCQUNLV0FSRCwK
====
[説明]
オプションmigemomanualを追加。f
migemoがONで、かつmigemomanualがONの場合、
/pattern で通常の正規表現検索
/\jpattern でmigemo検索
となります。
KoRoNさんのところのvim-6.2.069-difj.tar.bz2のパッチに対する
パッチです。
>>398 申し訳ないですが、/\j方式は香り屋版としては不採用です。
不採用なら不採用な理由をちゃんと書いてあげないと
>>374が報われないと思うよ。
内容はともあれ、「こういう風に対応して欲しい」と言うだけの人が多い中、自分で作って晒してくれる
行動的な人だから、理解すれば今後良いもの作ってくれるかも知れない。
萎え……
393で触れたようにmigemoは単純なインクリメンタルサーチで真価を発揮します。正
規表現との混在は考慮されていません。インクリメンタルサーチという観点から見た
とき、パターン内に\jを導入するメリットが見出せないのです。/\jであればスクリ
プトからmigemoを使いやすい、という意見はmigemo()があるためやはり重くない。
私は389にて g/ のようなmigemo専用検索を新設することを推しています。
なお現在 g/ を実装中で、これが完了した際は'migemo'オプションは廃止の方針です。
g?がROT13とバッティングしてしまうのでmigemo逆方向検索は未実装ですが、そもそも
日本語ユーザにとってROT13の重みは低いですから潰してしまうかもしれません。
というわけで g/ によるmigemo検索パッチできました。'migemo'の設定に関わらず
g/ でmigemo順方向検索が開始します。g? は'migemo'を設定していると逆方向検索、
していないとROT13です。/と?については'migemo'の設定に関わらず、通常の検索に
なります。
http://www.kaoriya.net/testdir/migemo_incsearch1.diff /\jの不採用理由ですが、整理して考え直すと「migemoは正規表現のアプリケーショ
ンであるのに、/\jで表現内に組み込まれてしまうのはおかしい」ということです。
早っ!!
407 :
2ch警察@湾岸署長 ◆FPBfPOlICE :03/08/30 16:56
vim で、括弧の上にカーソルがあるとき対応する括弧を
ハイライト(または何らかの方法で強調)させたいのですが、どうしたらよいのでしょう?
とりあえず%で対応する括弧(これで試してね)に移動したり、
se showmatchで括弧の対応関係を表示させたりできるけど。
660 :659 :03/08/30 16:53 ID:kTE/fpxA
ここだけは書き込めるのですか?
どうやら規制されて他の板(規制解除要望@2ch運用情報・・・etc)はどこも書けないのですが。
【板名】UNIX
【スレのURL】
http://pc.2ch.net/test/read.cgi/unix/1058706125/ 【名前】なし
【本文】
vim で、括弧の上にカーソルがあるとき対応する括弧を
ハイライト(または何らかの方法で強調)させたいのですが、どうしたらよいのでしょう?
410 :
名無しさん@お腹いっぱい。:03/08/30 17:22
ヘルプを呼んだところ showmatch は書いたときにピヨッと移動するあの機能ですね?
% は知っています。
しかしハイライト(または何らかの方法で強調)させたいのです。
つまり括弧の上にカーソルを移動したとき、
対応する括弧があると自動でそれを強調して欲しいんです。
本家から、よく分からないままに showpairs.vim や blockhl2.vim を DLしたのですが、
後者は読み込み時にエラーがでますし、前者はよく分からなくて使えないのです。
(なら使うなって言われそうですが・・・)
なぜか急に書き込み規制されたようで、レスを充分に出来ませんがよろしくお願いします。
665 名前:心得をよく読みましょう :03/08/30 17:19 ID:kTE/fpxA
代行してくれた(しようとしてくれた)方みなさんありがとうございます。
でもこんな質問をしているのでは何回も頼むことになってしまいますね。
もう一回だけお願いします。
【板名】UNIX
【スレのURL】
http://pc.2ch.net/test/read.cgi/unix/1058706125/ 【名前】なし
【本文】
ヘルプを呼んだところ showmatch は書いたときにピヨッと移動するあの機能ですね?
% は知っています。
しかしハイライト(または何らかの方法で強調)させたいのです。
つまり括弧の上にカーソルを移動したとき、
(省略されました・・全てを読むにはここを押してください)
> 対応する括弧があると自動でそれを強調して欲しいんです。
自動、というのはできません。あるキーを押したときとか、カーソルが一定時間以上
動かされなかった時に:
function! s:Match()
normal! %
execute "match Search /\\%".line('.')."l\\%".col('.')."c."
execute "normal! \<C-O>"
endfunction
こんな関数が呼ばれるように設定するのが精一杯です。利用例:
nnoremap <buffer><silent> % :call <SID>Match()<CR>
autocmd CursorHold * <SID>Match<CR>
665 :心得をよく読みましょう :03/08/30 17:19 ID:kTE/fpxA
代行してくれた(しようとしてくれた)方みなさんありがとうございます。
でもこんな質問をしているのでは何回も頼むことになってしまいますね。
もう一回だけお願いします。
【板名】UNIX
【スレのURL】
http://pc.2ch.net/test/read.cgi/unix/1058706125/ 【名前】なし
【本文】
ヘルプを呼んだところ showmatch は書いたときにピヨッと移動するあの機能ですね?
% は知っています。
しかしハイライト(または何らかの方法で強調)させたいのです。
つまり括弧の上にカーソルを移動したとき、
対応する括弧があると自動でそれを強調して欲しいんです。
本家から、よく分からないままに showpairs.vim や blockhl2.vim を DLしたのですが、
後者は読み込み時にエラーがでますし、前者はよく分からなくて使えないのです。
(なら使うなって言われそうですが・・・)
なぜか急に書き込み規制されたようで、レスを充分に出来ませんがよろしくお願いします。
最大化指定で起動する方法を教えてください。
香り屋で紹介されてたhowmってのを是非使ってみたいんですが、
どうやりゃいいんでしょ。
書いてあるとおりに環境設定してあとは普通に開けばいい、、、
わけではないですよね。
てか、これを機会にvim script全般を勉強したいんだが
どっかいいサイトないかですかね?
418 :
名無しさん@お腹いっぱい。:03/09/02 20:36
:!でコマンドを実行したときや:makeの後の
続けるにはENTERを押すかコマンドを入力してください
を表示させなくする方法はないでしょうか
目隠しをされ、男優2人から好き放題されます。
梨奈ちゃんは本当にかわいくセーラー服が似合います。
現役といっても通用するそのロリ顔にはファンが多いのも納得です。
気持ちいい、とうっかり言ってしまうと止めてしまうという
男優のいじわるに結構楽しんでしまっている梨奈ちゃん。
感度良好の彼女にとっては焦らし作戦に匹敵する快感なのでは?
こんなエロエロ無料ムービーが見てみたいなら
http://www.uradouga.com/
>>418 :sil !make
詳しくは :help silent
>>420 Thanx!
でも:h silentじゃ出て来ないんですよ。
silentの説明ってどこに書いてあるんでしょうね?
>>421 silent のスペルを間違ってないか?
:help silent で出てくるけどなぁ…?
:h sil でもいいけど。
>>424 -silentが出る場合もあるよ。
環境によって違うから、ヘルプ見ろ!って時はverboseに示した方が無難。
>>421 :h sil<TAB>
を押してみたら?
sil がキーワードのいろんなヘルプを見られますよ。
<TAB>の代わりに<C-D>を押すとリストがでます。それと
確か<TAB>は'wildmenu'が設定されないと出てきません。
<C-D>でリストには出るんですけど、:h silすると
"various.txt"
E434: タグパターンを見つけられません。
となります。
ヘルプファイルを全部日本語のものに置き換えたせいですかね。
だいぶスレ違いな質問になっているような気がするので、最後にしますです。
Solaris8でlibiconvの変換がうまく行かない件ですが、
環境変数のLIB、INCLUDE、LD_LIBRARY_PATHを設定しても、
make時のlink.shで、don't need と言われ、
-liconvが除外されてしまうのが原因っぽい気がします。
config.mk で -L -R を指定しても同じでした。
src/auto/link.sed から iconv の部分を削除すれば、リンクはされるんですが、
やはり変換はできません。
どうしてもiconvが必要というわけではないので、できなければあきらめますが、
なんか悔しいので、どなたかわかるかたいませんでしょうか?
>>428 > ヘルプファイルを全部日本語のものに置き換えたせいですかね。
その通りです。
>>429 # Vimに関係ないわけではないから別にスレ違いにはならないと思うけど。
・
>>350以下を見たところ、「GNUの」libiconvを入れたという解釈でよろしい
のですよね?(GNU libiconvの最新バージョンは 1.9.1 です)
・環境変数 LD_LIBRARY_PATH は(コンパイル時ではなく)実行時に指定するものです
が、大丈夫でしょうか。
% env LD_LIBRARY_PATH=${HOME}/lib ldd /path/to/bin/vim
% env LD_LIBRARY_PATH=${HOME}/lib /path/to/bin/vim
$ LD_LIBRARY_PATH=${HOME}/lib ldd /path/to/bin/vim
$ LD_LIBRARY_PATH=${HOME}/lib /path/to/bin/vim
でどうなりますか?
・行ったインストール方法を正確に書いていただけますか。
>>431 レスありがとうございます。liviconvはGNUのlibiconv 1.9.1を入れました。
LD_LIBRARY_PATHは実行時に指定するものというのは、351さんが教えてくれたので、
知ってましたが、念のためということで、.cshrcに
setenv LD_LIBRARY_PATH=${HOME}/lib:${LD_LIBRARY_PATH}
としてあります。
コマンドの出力結果ですが、長くなるので抜粋して..
1 libXpm.so.4.11 => (ファイルが見つかりません)
libiconv.so.2 => /homedirectory/lib/libiconv.so.2
/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
2は、libXpm.so.4.11が見つからないので強制終了してしまいます。
3,4はCシェルなのでエラーになってしまいます。
行ったインストール方法ですが、
./configure --prefix=ユーザディレクトリ 後
できた、src/auto/config.mk の LIBS に、-Lユーザディレクトリ/libを追加
で、make, make installです。
インストール方法とその結果を書いていただくわけですが、それにちょっと
補足…
「正しい」インストール方法は README_unix.txt → src/INSTALL → src/Makefile
ってカンジで読めば分かるかと(すでにご存じかもしれませんが一応…)。で、
それらを読むと
1. Edit this Makefile
2. Edit feature.h
3. "make"
Will first run ./configure with the options in this file. Then it will
start make again on this Makefile to do the compiling.
ということが書かれているのが分かるはずです。最初に Makefile を修正しろ、
とのことなので修正して下さい。少なくとも、
CONF_OPT_MULTIBYTE = --enable-multibyte
は必要ですよね。あと、libiconvを「独自に」インストールされたとのことです
ので、Makefile内に
LDFLAGS = -L/path/to/libdir -R/path/to/libdir
を追加する必要があると思います。この後、
% make
を実行して様子を見て下さい。(makeはGNUのものを使った方がいいと思います)
その際、最初に内部でconfigureが実行されると思いますが、その表示内容を
「iconv」で探して見て下さい。どうなってますか?
checking for iconv.h... yes
…
checking for iconv_open()... yes; with -liconv
というのがありますか?
あ、インストール方法がちょっと違いました。
make後、src/auto/link.sedからiconvの行を削除して、再びmakeし、make installです。
>>432 Cシェルですか、それなら
>>431の
> % env LD_LIBRARY_PATH=${HOME}/lib ldd /path/to/bin/vim
> % env LD_LIBRARY_PATH=${HOME}/lib /path/to/bin/vim
だけで結構です。(後の2つは Bシェル 用として書きました)
>>432 > 2は、libXpm.so.4.11が見つからないので強制終了してしまいます。
その Solaris8 には X Window 関係のライブラリはインストールされているのです
か?
test
>>434 うちも,それやらないと Solaris の iconv が使われて変換できなかった.
でも他にはいじった覚えはないな.
記憶が不確かですまんが,あとは --enable-multibyte とは .vimrc で
enc とか fenc とか設定すればうまくいったような気がする.
>>350 %env CFLAGS="-I$HOME/include" CPPFLAGS="-I$HOME/include" \
LDFLAGS="-L$HOME/lib -R$HOME/lib" ./configure \
--enable-multibyte --prefix=$HOME
%make
おれはこれでできました。solaris7です。
:make を実行すると make 終了まで vim でファイル編集できなく
なりますが、バックグラウンドで make させつつファイルの編集を
続ける方法はありませんか?
>>441 シェルのジョブ管理機能を使って裏でmakeを実行することはできますが、quickfixとの
連携はできません。つまり、441さんが考えているような「バックグラウンドでmakeさ
せつつ」ということはできない、と推測されます。
みなさまレスありがとうございました。無事リンクでき、
変換も問題なくできるようになりました!
結局、.cshrcでCDFLAGS CPPFLAGS LDFLAGSを設定することで、
link.shのときに、iconvがDO needになって、除外されずにリンクしてくれました。
--enable-multibyteは、KoRoNさんのREADME_j.txtを見てやってたので、
最初から大丈夫でした。
EUCでもSJISでもJISでも開けて、完璧です。ほんとありがとうございました!
>>443(350)
--enable-multibyteは最初からつけてるんなら、
>>432に書け。
すいません。てっきりみんなREADME_j.txtの通りコンパイルするものだと思ってたので。
っていうか、自分、Kaoriya版とも書いてなかったですね..
どれもこれも説明不足でした。ほんとお騒がせしました。
>>445 README_j.txtには最低限必要なことしか書かれていません。INCLUDEやLIB、加えて
LD_LIBRARY_PATHのような基本的な設定については、既に解決されていると仮定して書
かれています。
447 :
名無しさん@お腹いっぱい。:03/09/06 10:05
google で "vim noautoindent 改行" って感じで検索したのですが、
解決策を見付けられなかったので質問させてください。
.vimrc に set noautoindent を設定しているのですが、
gvim で編集中に改行するとインデントが入ってしまいます。
もちろん、編集中に :set noautoindent とすれば
インデントは入らなくなりますが、.vimrc で設定してる以上、
gvim の起動直後から設定が効いてほしいのです。
どうしたらよいか、どなたかご教授ください。
読み込む順番かな?
set noautoindent をやったあとで、
別なファイルをinclude したりしてない?
.vimrcの最後に書いてみたら。
とりいぞぎ。できれば識者の方フォローたのんます。
>>447 >>376 と同じだけど、
:verbose set autoindent
として、まずどこで最終的にそのオプションが効いているのか確かめたら?
どうも返事ありがとう。
>>448 .vimrcの最後に書いてもだめでした。
>>449 それやっても何も出てきません。
どこにも設定してないことにされてるのでしょうか。
綴りも間違えてないのですが。
vine2.6で
vim-common-6.1.265-0vl1.i386.rpm
vim-X11-common-6.1.265-0vl1.i386.rpm
vim-X11-huge-6.1.265-0vl1.i386.rpm
の3つをイン須子したのだが、これらに問題があるのだろうか。
rpmのを消して、香り屋のやつを入れようと思ったけど、
patchの当てかたも判らないので、
もうちょっと勉強してからやり直そうと思います。
>>452 VisVimNETSetupのレジストリ設定を変更(プロジェクト上で右クリック→表示→レジ
ストリ)して、HKCU以下の7.0となっているキー全てを7.1に変更してください。
Win98seでgVim6.2を使っているのですがnetupvimでアップデートしたところ起動に25秒位かかるようになってしまいました。
何が原因でしょうか。
Windows版のスレが見つからなかったので板違いと知りつつも質問させて頂きましたが問題があるようでしたら退散します。
>>453 でけますた。ありがd!
2回続けてインストールできないっぽいので、
2002と2003の両方でVisVimを使うってことは出来ないのですかね…?
Vimの使い方になってしまうんで恐縮ですが、
バッファに移さない削除の仕方ってありますか?
dもxもバッファに移ってしまうので…
>>456 "_を頭に付ける。eg. "_dd "_x
詳しくは:h "_
>>454 起動時に読み込まれるスクリプト群の問題と推測されますが、類似症状の報告は受け
ていないので詳細はわかりません。ですから次のようにコマンドラインで起動して各
スクリプトを一時的に無効化することで、ご自分で原因を調べてみてください。
gvim -u NONE -U NONE
これでvimrc|gvimrcの読み込みが抑制されます。
gvim --noplugin
これでプラグインの読み込みが抑制されます。以上を実行して起動速度に違いが観測
できるか、確認してみてください。
>>455 1つのセットアッププロジェクトで7.0と7.1両方書くようにしてしまうか、セット
アッププロジェクトをコピーして7.0と7.1用2つ用意すると良いでしょう。
>>458 > 1つのセットアッププロジェクトで7.0と7.1両方書くようにしてしまうか、
これで試したら出来ました。いろいろありがとうございます。
# セットアッププロジェクトでレジストリのコピーって出来ないんですね…
# まるまる手で写しました…
>>458 お返事ありがとう御座います。
教えて頂いた方法を試してみたところvimrcとgvimrcを読み込まなければ速いことが解りました。
そして色々とコメントアウトをして試してみたところ
vimrc|gvimrcの以下のところで時間がかかっていることが解りました。
if 1 && exists('$HOME') && filereadable($HOME . '/.vimrc_first.vim')
さらに削ってみたところ
filereadable($HOME . '/.vimrc_first.vim')
の記述で時間がかかっていることが解りました。
これで何か解るでしょうか。
>>460 追試と報告をありがとうございます。最新のNetUp版では該当箇所先頭の1を0に変え
て一時的に無効化しました。後ほどこちらでも環境を用意して原因の詳しい調査をし
た上で、正式な処置を決定します。
syntax hilightとインデントについて質問があります.
当方SchemeなるLisp系の言語で色々プログラムしているのですが,
Lisp系の言語は独自の構文が作れちゃうわけです.
そのとき,仕様書通りの構文に対するインデントと自分で作った構文に対するインデントが
異なってしまい,若干不都合です.
後者は構文じゃなくてその他の状況におけるインデントになるわけです.
具体的には,defineが仕様書通りの構文に対するインデント,define-methodが後者です
(define (test1 i)
(+ i 1))
(define-method ((<object> obj) i)
(func obj))
↑これを何とか上と同じようにスペース2個にしたくて,
$(VIM)/runtime/syntax/scheme.vim のschemeSyntax一覧に
define-methodなどを追加したところ,色は変わったのですがインデントは変わりませんでした.
インデントに関する記述は別の所にあるのでしょうか.
>>462 syntaxとindentは別物です。基本的な動作は'autoindent'や'smartindent'で記述可能ですが、
独自のインデントアルゴリズムを作りたい場合には
:help 'indentexpr'
を参照してください。ただし決して簡単ではありません。
またファイルタイプ毎にindentを切り替えるには&rtpのindentに
ファイル(例:~/.vim/indent/scheme.vim)を置くのが慣例です。
>>463 補足です。
Lisp系言語に関しては'lisp' と 'lispwords' が関係するようです。
:set lispwords+=define-method
で行けそうです。
私もLisperです.インデント規則をいじってもよさそうですが,簡単には
:set lispwords+=define-method でよいと思います.
:help 'lispwords' してみて下さい.私は逆に :set lispwords-=if としてます.
ちなみにソース書いたら :!%scheme などとするとバッファ内が
Schemeインタプリタにかけた結果に置き換わります.その後はアンドゥすればよし.
結構使いやすい方法ですよ.どこかのサイトで教わりましたが発見できませんでした.
# ちなみに香り屋さんとこのVimヘルプを丸ごとコピーしてちょっとずつ
# アップデートしてますので,よろしければ御覧下さい > ALL
#
ttp://user.ecc.u-tokyo.ac.jp/~g340299/docj/
ぐわっ席外してたらかぶった...スマソ
めちゃFAQかも知れませんが、見つけられなかったので教えてください。
:map とか :ts
とかのコマンドの出力をバッファに読み込むことはできるでしょうか?
>>469 おお、このコマンド知りませんでした。まだ知らないことたくさんあるなぁ。
ありがとうございました。
行末にある連続する空白スペースを取り除くにはどうすればいいのですか?
%s/\s$//g
だと空白一つしか削除できなかったのですが。
>>471 %s/\s\+$//
:h pattern
s/\s\+$//
>>472,473
あれ? ”+”もエスケープしちゃうの?
>>474-475 そのあたりは設定で変更可能です。
:help 'magic'
:help /\m
Perlと異なることに違和感を覚える人がいるようですが、一説にはソースコードを検
索するのに都合良いように現行のメタ文字になっている、と読んだ記憶があります。
:h pattern読み直しました。
magicかnomagicでも \+ が正解みたいです。
magicの影響を受けるのは、どうやらgrep正規表現のメタキャラみたいです。
あと、grepと違うのは \{n,m\} と書かずに、\{n,m} と書くところくらいでしょうか。
>>477 +はmagicではダメですけど\v使えばメタ文字になりますね。
>>461 アップデートしてみたところ今までどおり素早く起動するようになりました。
調査の方ご面倒おかけします。
なんか最近トゲトゲしくないですか?
まったりいきまそ。
foldに関して質問を2つほどお願いします。
1)
aho
baka
manuke
という3行をfoldすると、 fold後はahoがコメントになりますが、
それをbakaにすることは可能ですか?
空行を含む複数行のfoldを
////// 空行を含む複数行のfold ///////
と表した時、
hoge
////// 空行を含む複数行のfold ///////
hage
とあってhogeの下にカーソルがあると仮定して、 } で
hageの上まで飛ぶことは可能ですか?
# foldしててもその上でddするとfold全体を1行として
# 扱うかのように複数行deleteするのに対し、
# } ではfoldの中の空行を渡りあるいてカーソルが
# foldの上でたたずんでることがちょっと納得行きません。
>>481 1つめは要スクリプトの知識ですが'foldtext'で設定可能です。
詳細は :help fold-text を参照してください。
2つめはfolddoopenを用いてmapすることが可能です。
:folddoopen normal! }
>>480 補足。2つ目の } の問題は6.2.086で修正されるようです。
若い、のか?若すぎるのかぁ?とりあえず終了します。
自分を正当化するのが当たり前な今日この頃この業界こんばんはビルJでs(略
今読み込んでいるプラグインの一覧って出せる?
>>486 サンクス。皆よく知ってるね。ビクーリ
489 :
名無しさん@お腹いっぱい。:03/09/15 00:21
Autodate.vimなんですがdefaultで更新しないっていうオプションが
あってもいいのではと思うのは漏れだけですか?
undoで日付が変わるのが嫌で自分で一回だけ更新したい人もいるかと. . .
autocmdでAutodateOFFしてもいいんだけどね
492 :
名無しさん@お腹いっぱい。:03/09/16 00:36
キタ━━━━(・∀・)━━━━!!
>>491 autodate.vimは「自動で更新すること」が目的ですから、それに対してオプションと
はいえ手動更新の優先機能つまり「自動更新の無効化」を追加してしまえば、そもそ
もの存在意義に矛盾しますよね。どうしても手動だけでやりたいのならば
:let plugin_autodate_disable = 1
した上で、現在日時を入力するためのmapなりプラグインを自分で書いた方がマシな
んではないでしょうか。
autodate_vim: disable:
みたいにファイルの前後5行に書いておくと日時入力を無効にできる、
というのもありかと。
>>494 使いたくないならばキーワードを変えるか、書かなければ良いだけです。
496 :
名無しさん@お腹いっぱい。:03/09/17 20:45
キタ━━━━(・∀・)━━━━!!
497 :
名無しさん@お腹いっぱい。:03/09/18 14:58
指定範囲の複数の行頭に文字を挿入する方法を教えてください。
498 :
名無しさん@お腹いっぱい。:03/09/18 15:01
行をまたぐ文字列をコピー(ヤンク)する方法を教えて下さい。
abcdefghijklmnopqここから〜
〜ここまでrstuvwxyz
>>497 Vで範囲指定して
:'<,'>s/^/strings to insert/
>>498 vで範囲指定してy
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ゚Д゚) < ついでにムーンウォークで折り返し地点ゲトー!!
./ つ つ \_____________
〜(_⌒ヽ (´⌒(´
.)ノ `J≡≡≡(´⌒;;;≡≡≡
(´⌒(´⌒;;
ズザーーーーーッ
502 :
名無しさん@お腹いっぱい。:03/09/18 20:50
キタ━━━━(・∀・)━━━━!!
>>497 <C-V>で数行分の行頭をブロック選択。
Iで挿入したい文字を入力して<ESC>で終わり。
ここの人たちには邪道って言われそうだ・・・
名前残ってた・・・
505 :
名無しさん@お腹いっぱい。:03/09/18 22:46
(;´Д`)
helpによると, set enc=japanした時は,
「2 japanJapanese: on Unix "euc-jp", on MS-Windows cp932」
だそうで, じゃあcygwinの時は? と思ってやってみたらcp932なんですね.
cygwinのterminal(rxvt)がeucj modeなのでeuc-jpと判断されたら嬉しかったのにぃ〜
>>507 ネイティブなコンソールがcp932なので、そういうパッチが送られ採用された経緯があります。
+iconvならtermencodeを使うと上手く行くかもしれません。
範囲を指定して、「!」でコマンドラインのコマンドを呼び出すと、
その指定した範囲の行が置きかえられてしまうでしょう?
例
:51,58!sort
この範囲指定のコマンドの実行を、現状のテキストを置き換えないで実行して
結果を取りたいのですよ。
で、なにか簡単にできる方法ってあったりしますか?
ちなみに今はこんなふうにしてます。
:51,58w temp.txt
:!sort temp.txt
あーそういや、実行して、すぐにuで元に戻すってのがありますね。
この方法でいいのかな。
>>508 なるほど.
ところで, 507で書いたようにeucjなterminal@win + cygwin環境で,
cp932のファイルを開くと文字化けしてしまいます.
encは無理矢理euc-jpにし, Kaoriya版のvimrcを$HOME/.vimrcに使わせて頂いているので,
encをeuc-jpにした時, fencsは
ucs-bom,ucs-2le,ucs-2,iso-2022-jp-3,utf-8,cp932
です.
echo has('iconv')には1を返すし, iconv -f CP932 -t EUCJP XXX.txtでは
正しく読めています.
うむむ謎…
tencというのは知らなかったので, ちょっとこいつを弄んでみます.
512 :
KoRoN@Vim%Chalice ◆8XALICEsdk :03/09/20 01:44
>>509 必要な範囲を新しいバッファへ切り出して、そっちをフィルタにかける方法もありま
す。
>>511 Cygwinで./configure && makeしてもWin32APIを使ってたような記憶があります。
なのでencを無理矢理euc-jpにするにはソースを弄らないと意味が無いハズです。
Windowsで使うのならば基本的にencはcp932にして、rxvtを組み合わせたい時には
tencをeuc-jpにすれば、理論上は動作することになります。
>>512 仰せの通りにして問題なく表示されました.
あいかわらずKoRoNさんの知識には脱帽です.
ありがとうございました.
if has("autocmd")
autocmd FileType changelog
map ,d ggi<CR><CR><ESC>kki<C-R>=strftime("%Y-%m-%d")<CR>
\ 774 <
[email protected] ><ESC>o<CR><TAB>*
\ | map ,n ggo<CR><TAB>*
endif
というコードを.vimrcに貼り付けたら
gvimを起動するたびにダイアログが表示されるようになりましたが、
いちいちダイアログを閉じるのがめんどくさいので、表示しないように
する方法はありますか?
>>514 単純にmap ,dの前に\を付け忘れているんじゃないですか?
>>515 すみません、\をmap ,dの前に入れたら動かなくなりました。
>>516 そもそもどういうダイアログが出て問題になっているのかわからんです。514に書かれ
た設定は、ft=changelogの時にだけ有効になるmapをしようとしているものだと推測さ
れますが、文法的にはmapの前に\が無いことが問題になります。なので515という指摘
をしたのです。
他に考えられる問題点として、行頭の \ で行を連結するというのは特定の条件下では
使えません。
:help cpo-C
あとautocmdの中で直接mapするよりはfunction定義してその中で定義したほうがエレガ
ント、というのがあります。
if has("autocmd")
function s:AutocmdFiletypeChangelog()
map ,d ggi<CR><CR><ESC>kki<C-R>=strftime("%Y-%m-%d")<CR> 774 <
[email protected]><ESC>o<CR><TAB>*
map ,n ggo<CR><TAB>*
endfunction
autocmd FileType changelog call <SID>AutocmdFiletypeChangelog()
endif
最近のNetBSD-currentのcitrus iconvでコード変換がうまくいかないので調べてみました。
具体的には
VIM6.2.098で
set encoding=japan
set fileencodings=ucs-bom,iso-2022-jp,utf-8,ucs-2le,ucs-2,cp932
のとき,どんなファイルを読んでもiso-2022-jpとして処理されてしまう。
というものです。
わかった事は,
fileio.c の readfile() 内の iconv() の戻り値の処理が
0と-1の処理しかないので,おかしくなっているみたい。
1以上の値が返ったときもエラーとして扱えばうまくいってる。
そもそもコード変換できないときの処理として
GNU iconv は-1を返すけど
citrus iconv は 変換できなかった文字数を返す
ってことなんだけど
iconvの仕様として
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/iconv.3.html これ見ると,変換できない文字数が返るときもあるみたいに読めます。
んで,結局何がいいたいかというと
VIMのサポートしているiconvシステムはGNU LIBICONVしかないのか?
ってこと。
外人にパッチ投げる勇気もないのでここに書いてみました。
#VIMのソース汚すぎ(;_; よく分からん。
>>518 > そもそもコード変換できないときの処理として
> GNU iconv は-1を返すけど
> citrus iconv は 変換できなかった文字数を返す
違うようです。GNU libiconvではマップできない文字(入力エンコードとして不正な
シーケンス)を発見した際に-1を返すのですが、Citrus iconvでは計算アルゴリズムな
どで無理矢理マップした上で非可逆変換した文字数として返しているのでしょう。この
動きはMacのiconv相当APIであるTECと似た動作です。Macの場合はSnifferという入力
シーケンスのエンコードを検証するモジュールがあるので、それを用いてそのような無
理矢理な変換を検出することができます。
# ただしiso-2022-jpについてはこのSnifferが無茶苦茶遅いという問題がありますが。
Vimの抱えている問題点の1つに、エンコードの判定をiconvに頼っていることがありま
す。GNU libiconvの場合はそれでうまく行っていますが、Citrus iconvではそうは行か
ないということでしょう。正確にはPOSIX iconvの定義ではエンコード判定に使えるか
は保証できない、というべきです。これを材料にfencs=guessみたいな仕組みを提案す
ることはできるかもしれません。
しかしCitrusにもまったく問題が無いとは言い切れません。恐らくiso-2022-jp→
euc-jpへの変換などは計算アルゴリズムでガッツリ変換するように実装されているので
はないでしょうか?。だとすると入力エンコードとして不正なシーケンスのチェックは
一切行なっていないことになり、これはCitrusをvim-devでの議論の材料にした際に弱
点になる可能性があります。
Citrusがそのあたり正確にはどうなってるかを調べて、見るべきソースの入手場所、
ファイル名、行数等を教えて貰えないでしょうか?。それがわかればvim-devへ私がメー
ルを投げることができるようになり、もしかしたらCitrusにとってもVimにとっても幸
せなソリューションが生まれるかもしれません。もしも単にVimで漢字コード変換を使
いたいだけなら、Citrusは忘れてGNU libiconvを導入したほうが手っ取り早く幸せにな
れます。
# 余談ですがVimのソースなんて綺麗な方です。
KoRoNさんありがとう。勉強になりました。
はじめに言い忘れたけど,僕は単なるユーザーです。
Citrus iconvについて詳しいわけじゃないし,POSIX iconvが
どうなってるか,分かりません。
fencs=guessとかがとっても正しい姿な気がします。
でも自分はとりあえず使えればいいので
どんなところでも使えるGNU libiconvを使えって言われれば,そうするつもりです。
結局,vim-devの人たちを説得するだけのパワーは僕にはありません。
ものすごい独り言でごめんなさい。
>>520 > でも自分はとりあえず使えればいいので
> どんなところでも使えるGNU libiconvを使えって言われれば,そうするつもりです。
残念ですが、そういうことでしたらそのようにしてください。
> 結局,vim-devの人たちを説得するだけのパワーは僕にはありません。
以前より現行のfencsの仕組みはあまりに使い憎いと感じていたものですから、この
件に関しては時間がかかるかもしれませんが材料を整えてなんとかするつもりです。
横の文字数が 70 を超えて書かれている行を見つける(移動 or ハイライトなど)するコマンドを
教えて下さい。
>>523 こんな感じで、詳細は :help /\%c
/\%>70c.\+
>>524 そのhelpを読んでいて、以下の正規表現が気になったのて調べた。
helpの説明だけを読むと分かり難かったので自分流に解釈。
# 最後を「〜にmatchする」と書いた方が分かり易い…
foo\(bar\)\@= 直後にbarが有るfooにmatchする
foo\(bar\)\@! 直後にbarが無いfooにmatchする
\(bar\)\@<=foo 直前にbarが有るfooにmatchする
\(bar\)\@<!foo 直前にbarが無いfooにmatchする
foobarfoobafoobarfoo とかをバッファに書いて調べてみると分かる。
529 :
名無しさん@お腹いっぱい。:03/09/24 01:14
よし、お前ら
今こそ cat ~/.vimrc だ
~/.exrcはあるけど、~/.vmircはない。
531 :
名無しさん@お腹いっぱい。:03/09/24 02:09
すみません、gVimで
:set is
で検索後、リターンすると検索ワードがハイライトされると思うのですが、このハイライトを検索前の状態のように
消すことはできますでしょうか?
>>531 :noh[lsearch] で一時的に消すか、
:set nohls で検索時に必ずhighlightしないようにするか。
前者の場合、再度検索するとまたhighlightされる。
お好みに応じてどうぞ。
:noh
FAQ の1つですね。
>534
>2にFAQへのリンクあるぞ。上から4つ目ね。
スクリプト内で、:set diff? の実行結果を受け取る方法はありますか?
自動でmkviewするようにしてたら、diffモードに入っている状態も
保存されてしまって、不便なのでdiffモードかそうでないか、
判定をしたいのですが。
>>536 :echo &diff
のように&を付けてアクセスします。詳細は:help let-option
>>537 おぉ、こんなのがあったんですか。
おかげでうまくいったようです。ありがとうございました。
>>522 ソースが公開されているソフトの中では、vimはかなり汚い
部類といっていいが、世の中の目に触れないコードの世界では、
深い深い闇が広がっている。
> ソースが公開されているソフトの中では、vimはかなり汚い部類といっていい
日頃、よほどキレイなソースばかり見てるのかな?
一番きれいな部類に入らないのは確かだけど、汚い部類は言い過ぎだと思うな。
スタイルは一応統一されているし、インデントもきちんとしてるし、
コメントもきっちり付いている。
#ifdef が少し煩いくらいで、5段階評価なら3か4は与えていいと思う。
前スレ
>>149 > 140 From:KoRoN@Vim%Chalice◆8XALICEsdk Date:03/03/07 21:53 Mail:sage
>
>>131 > 申し訳ない。重大だなぁと思いつつも、フォローするのすっかり忘れてました。
> 確かに後ろに{{{nな表記があるとおかしなことになりますね。近いうちに調査してみます。
これって今も直ってないようなのですが、その後どうなりましたでしょうか?
> 140 From:KoRoN@Vim%Chalice◆8XALICEsdk Date:03/03/07 21:53 Mail:sage
あ,これ140じゃなくて149のタイポです… すいません
>>541 調査はしたんですが、当時は適切な修正方法を提案できませんでした。結局まっつん
さんと相談の上「Bramに預けよう」という結論に至り、3月15日付でvim-devに報告済
みです。以後、進展ありません。
>>543 そうだったんですか。わざわざありがとうございました。
しかし、このまま忘れられて修正されそうにないですね。
# と言っても単なるユーザな私に修正案を提案できるわけもないですが…
foldをネストしたい時にn表記ができると便利なんだけどなぁ…
>>544 一応、秘密のバグリストに記載してあるので、いつになるか確約はできませんが、ま
とまった時間が取れれば修正できると思われます。
>>545 お。そんなリストが…(w
では、期待して気長に待つことにします。
skkim.vimは更新されないのかな…。
誰かまっつんさんにかわってハックしる!
言い出しっぺの法則が発動したようです
550 :
名無しさん@お腹いっぱい。:03/09/25 17:08
テキストをコピーするとき
例えば現在の行から3行分コピーしたいときどーすればいいですか
3ccとかやったらコピーというよりもカットされてしまいます
教えてください
実際はVでやっちゃう事の方が多いけどね。
3yyで出来ると思うけど。
550はcの意味を誤解しているような気がするのは俺だけかな。
>>551 自分は
>>553 さんと同じく 3yy 派。
y2j なんていうやり方があるなんて知らなかった。
あれ? ヘン?
「d とか y の後は移動コマンド」ってのが基本だと思ってた。
dd とか yy は特例で。
スマソ、553 じゃなくて 551 です。
>>550 自分はどちらかというとy2jですが、最短は3Yになるでしょう。
ちなみにcはchangeのcですわ。
558 :
名無しさん@お腹いっぱい。:03/09/25 19:15
[2003年09月20日(土) AM 08:27 ID:XX9G4ovf] (::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::\
/::::::::::/ノ::::::::ノ::::::::ヽ:人::::::::::ヽ:::::::::::::::)
(::::::::::/ ):::ノ::::ノ ) ソ ヾ::::::::::::丶::::ヽ
(:::::::::/ 彡 ノ ノ :: 彡:/)) ::::::::::)
(::::::::::/彡彡彡彡彡 ミミミミミミミ :::::::::::)
( :::::::// ̄ ̄ ̄ ̄ヽ===/ ̄ ̄ ̄ ̄ヽ |:::::::::)
| =ロ -=・=- ‖ ‖ -=・=- ロ===
|:/ ‖ / /ノ ヽ \ ‖ ヽ|ヽ 童貞にも人権あるんです!
|/ ヽ`======/ .⌒ ` ========ノ. ..| |
.( 。 ・:・‘。c .(● ●) ;”・u。*@・:、‘)ノ
( 。;・0”*・o; / :::::l l::: ::: \ :。・;%:・。o )
(; 8@ ・。:// ̄ ̄ ̄ ̄\:\.”・:。;・’0.)
.\。・:%,: )::::|.  ̄ ̄ ̄ ̄ | ::::(: o`*:c/
\ ::: o :::::::::\____/ :::::::::: /
(ヽ ヽ:::: _- ::::: ⌒:: :::::::: -_ ノ
\丶\_::_:::::_:::: :::::_/:::: /
| \ \ ::::::::::: :::::::::: ::: ::__/|
2yj
c - change
d - delete
y - yank
同じ文字2つ(cc dd yy)は行単位ということですな
漏れは map Y y$ しちゃってるので3Yは使えないのだが(w
なんでYだけCやDとデフォルトの挙動が違うんかねぇ?
>>560 論理的に説明すれば、操作の直行性よりも頻繁に使用される機能理が優先された
というところなんでしょうけど、実際はどうなんでしょうね?
オフィシャルのパッチとkaoriyaのパッチとim_customのパッチ当てると、
vim.h で失敗してしまうのですが、kaoriyaとim_customは同時には当てられないのですか?
>>562 > kaoriyaとim_customは同時には当てられないのですか?
KaoriYaパッチはim_customのことは考えずに作られているため、コンフリクトする可能
性があります。im_customから見たKaoriYaも同様です。なおKaoriYaではim_customを取
り込む予定はありませんので、必要な方は各自でコンフリクトを解消してください。
KaoriYaとim_customの位置づけを考えると、修正が困難なコンフリクトではないと推測
されます。
>>563 補足です。「KaoriYaの方をこう直せばim_customとコンフリクトしないよ」という提案
があれば、こちらで引き上げて考慮させていただきます。
>>564 レスありがとうございます。
とりあえず、パッチの内容見て試行錯誤してみることにします。
>>565 いきなりパッチ本体を見るんじゃなくて、vim.h.rejができてるはずなんで、そっちを見たほうが良いでしょう。
567 :
名無しさん@お腹いっぱい。:03/09/26 19:17
(::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::\
/::::::::::/ノ::::::::ノ::::::::ヽ:人::::::::::ヽ:::::::::::::::)
(::::::::::/ ):::ノ::::ノ ) ソ ヾ::::::::::::丶::::ヽ
(:::::::::/ 彡 ノ ノ :: 彡:/)) ::::::::::)
(::::::::::/彡彡彡彡彡 ミミミミミミミ :::::::::::)
( :::::::// ̄ ̄ ̄ ̄ヽ===/ ̄ ̄ ̄ ̄ヽ |:::::::::)
| =ロ -=・=- ‖ ‖ -=・=- ロ===
|:/ ‖ / /ノ ヽ \ ‖ ヽ|ヽ 童貞共和国に入りませんか?
|/ ヽ`======/ .⌒ ` ========ノ. ..| |
.( 。 ・:・‘。c .(● ●) ;”・u。*@・:、‘)ノ
( 。;・0”*・o; / :::::l l::: ::: \ :。・;%:・。o )
(; 8@ ・。:// ̄ ̄ ̄ ̄\:\.”・:。;・’0.)
.\。・:%,: )::::|.  ̄ ̄ ̄ ̄ | ::::(: o`*:c/
\ ::: o :::::::::\____/ :::::::::: /
(ヽ ヽ:::: _- ::::: ⌒:: :::::::: -_ ノ
\丶\_::_:::::_:::: :::::_/:::: /
| \ \ ::::::::::: :::::::::: ::: ::__/|
568 :
名無しさん@お腹いっぱい。:03/09/26 22:13
みなさん、folddigest.vimでfoldexprに渡す関数を、どんなふうに実装してます?
教えて。
569 :
名無しさん@お腹いっぱい。:03/09/27 00:44
自分でお好みの色を設定するにはどうすればよいですか?
ヘルプファイル見ながら色々いじってるんだけどうまくいきません。
_gvimrc syncolor.vim my_color.vim の三つのファイルをいじく
りまわしてるんだけど、その他にいじる必要のあるファイルはあり
ますか?
非常に基本的な質問で申し訳ないのだが、
cterm と gui の違いがいまいちわかりません。
usr_06.txt の以下の項目が日本語だけど理解できにゃい。
GUIってグラフィカル・ユーザー・インターフェースで合ってる?
そもそもそれが違うのか。たとえカタカナ読みが合ってたとしても
やっぱり意味はわからないんだが。
term白黒端末の属性
ctermカラー端末の属性
ctermfgカラー端末の文字色
ctermbgカラー端末の背景色
guiGUI版での属性
guifgGUI版での文字色
guibgGUI版での背景色
コロンさん。syntax.txt の翻訳は進んでいますか。
画面が好みの色にカスタマイズできなくてなかなかヴぃmに
移れません。ぐはっ!
>>569 > 自分でお好みの色を設定するにはどうすればよいですか?
colorschemeファイルを作ります。公開して人に使ってもらうものを作るにはやらな
ければならないことも多く面倒ですが、そうでなければ簡単なものです。基本的に弄
る必要があるのは~/.vim/colors/*.vimです。そこに{好みの名前}.vimでファイルを
作成し、その中に論理色を実際の色に結びつけるコマンドを列挙するのです。例:
highlight Comment guifg=#226622 guibg=#000000
この場合はCommentという論理色に前景色(文字の色)として暗い緑、背景色として黒
が設定できます。どのような論理色を指定できるかは
:highlight
と、引数なしで実行することで確認できます。
gvimで使う場合にはguifgとguibgだけ設定すれば良いでしょう。コンソール版(vim.exe等)
で使うならばctermfgとctermbgも設定します。term及びguiについては点滅させたり、
前景色と背景色を入替えたりすることができますが、基本的に使う必要はありません。
基本はコレだけです。初めは、既にあるcolorschemeの中から近いものを別名でコ
ピーして、少しずつ好みに合わせて変更していくのが近道です。もっと細かいことに
ついては必要な時にヘルプを読んで覚えて行けばいいのです。なおcolorschemeを書
く際に推奨される慣習については$VIMRUNTIME/colors/README.txtに書いてあります。
なお、現在syntax.txtの翻訳はやってませんし、しばらくやるメドも立ちません。
>>570 補足
とりあえず
:e $VIM/vimrc
してコメント部分の元の色を確認してから、_gvimrcの最後に
highlight Comment guifg=#ff0000
とだけ書いて、Vimを再起動し
:e $VIM/vimrc
でコメントの色がどう変わるかを確認するところから始めるのが良いかもしれませんね。
# 連続カキコ スマソ
>>569 どういった環境で使われているのか分からないので、UNIX系OS+X Window System
(以下、"X")と仮定して書きます。
> 非常に基本的な質問で申し訳ないのだが、
> cterm と gui の違いがいまいちわかりません。
Xを利用していない場合、そして端末エミュレータ(ktermとか)内で動作して
いるvimがterm,ctermです。カラー表示が可能な場合、termではなくctermでの設定が
利用されます。
一方、guiの方は、X上で独自の(Vim専用の)ウィンドウを開く場合に使われ
ます。
Windows上で、gvim.exeを実行したときも、独自の(Vim専用の)ウィンドウが表
示されますが、そのときもguiの設定が利用されます。
int
main(int argc, char *argv[])
のような書き方のとき、=でインデントし直すと
int
main(int argc, char *argv[])
となってしまいますが、intを動かさないようにするにはどうしたらいいでしょうか?
>>575 cinoptions に t0 を加える。
:help cinoptions-values
昔々にMLで流れたネタですが、こんなスクリプトを用意しておくと
function! s:HiDiHi()
let l = line('.')
let c = col('.')
let id = synID(l, c, 1)
let attr_hi = synIDattr((id), 'name')
let attr_trans = synIDattr(synID(l, c, 0), 'name')
let attr_lo = synIDattr(synIDtrans(id), 'name')
echo 'hi<' . attr_hi . '> trans<' . attr_trans . '> lo<' . attr_lo . '>'
endfunction
nnoremap <silent> <F2> :call <SID>HiDiHi()<CR>
<F2>でカーソル下のグループがわかるので、色付けたりsyntax作るときに便利です。
cw と dw の w の動作が違うな〜っておもったら、vimだけでなくnviでもそうだったんですね〜。
しらなかった。
>>574 おお、こんなのあんだ。
予約語とか自分独自で作って色ずけしたいんだよなぁ。。
tabを空白に変換するのはset etしてretabで良いと思うんですが,
複数個の空白を現在のtabstop softtabstop shiftwidthの設定に
基きtabに変換することはできますか?
>>581 プログラムのコードなら gg=G とかでインデントかけ直せば良い。テキストファイルとかは知らない。
>550-560
なるほど。「d とか y の後は移動コマンド」の方法だと、
上方向に対しても使えるわけだな。
今まで、カーソル行まで3行コピーとかいう時に、一端上の行に移動してたよ。
/ とかで移動してもいいし。
586 :
名無しさん@お腹いっぱい。:03/09/29 10:16
すみません。
vimでファイルの終端に改行を付けないようにするオプションはどうすれば良いのでしょうか。
具体的にはtestとだけ書いたらそれが4バイトになるようにしたいのです
>>586 :set noeol binary
してから:wしてください。特にbinaryオプションには副作用が多いので、不明なことがあれば
:help 'binary'
を確認してください。
588 :
名無しさん@お腹いっぱい。:03/09/29 11:27
vimを使えるようになりたいんですが、
わかる シリーズみたいに分かりやすい本はないですか。
vimtutorはもう試したのかな?
>>587 :set noeol binaryで出来ました。ありがとうございました。
どのヘルプを読めば良いのかもわからない状態だったので。
とりあえずbinaryの項目を見てきます。
REDHAT のvim6.2.98を入れてみました。gtk2対応で表示がきれいです。
vineのgvimは日本語の表示がぐちゃぐちゃになってしまうので、
だめだこりゃ、と使っていませんでした。
これで始めたいと思います。ありがとうございます。
>>570 うぉおお。気合の入ったレスありがとう。
生きることへの強い意志が同時に気合の入ったレスを生む
vimでuimが使えるプラグインとかないの?
あれ重杉。
正直なところuimが日本の中だけで収まっている間は、Vimとして素のuimに対応する
可能性は限りなく0です。Rubyのようにグローバルスタンダードとして認められるよ
うになれば、Vim本体の方から歩み寄るかもしれません。
ただuim-ximやgtk-uim(gtk2のimmodule経由)という連結法もあるので、GUI環境では
Vimにuimを実装するのに充分なメリットがあるかは難しいところです。しかし「CUI
環境でも使えるよ」というならば話は別かな、とも考えます。
普段colorschemeをeveningで使用しています。
Chaliceの使用中はcolorschemeをzellnerなど別のcolorschemeに変更したいのですが、
いまはChaliceに付属しているvimスクリプトにcolorschemeの設定を書き加えて対応しています。
設定ファイル.vimrcなどに記述し同じような設定にすることはできないのでしょうか?
>>599 こんな感じで
autocmd BufCreate Chalice_2ちゃんねる_板一覧 colorscheme zellner
autocmd BufDelete Chalice_2ちゃんねる_板一覧 colorscheme evening
im_customを使ってみようと思います。
「コンパイルオプションに -DFEAT_IM_CUSTOM...を付加する」とのことですが
これってどうやるんですか?
あと
「次にコンパイルされるソース一覧に、必要となるソース canna.c,...canna.pro...を付加してください。」
ですがこれはどこにあるのでしょう?
ドシロートですみません
質問があります.
自分は良く使うんですが, 例えば
abc
def
ghi
とあってカーソルがaの左にあった時,
^v2js---><ESC>
とかやると
--->abc
--->def
--->ghi
となってくれて便利です.
これをVISUAL BLOCKを使わずにやると, どんな方法が効率が良いのでしょう?
あと, 同じ答になるかもしれませんが, 先頭に空白が無い場合はどうやって実現しますか?
>602
> 先頭に空白が無い場合
visualに選択して
:'<,'>s/^/--->/
かな。頭の '<,'> は選択したままコロンをタイプすれば勝手に入る。
^v2js
の s の代わりに i で挿入することもできるよ。
>>603 > ^v2js
>
> の s の代わりに i で挿入することもできるよ。
あ、I だったかな。ごめん
>>601 それはMSVC及びUNIX以外の環境に向けての記述です。普通にUNIXで使うならば--enable-skkなど、
必要なオプションをつけてconfigureしてコンパイルすれば良いでしょう。
vimよりまず英語を勉強しないと・・・
英語アレルギーの俺にはつらい・・
plamo LinuxにKaoriYa版パッチをあてたVimをインストールしようと
KaoriYaからvim6.2.069差分パッケージ
本家からvim6.2.tar.bz2
を落とし、差分パッケージ内のREADME_j.txtを読んだのですが
README_j.txtに記述されているpatchesディレクトリが無く、
またパッチを当てようとするとセグメンテーションエラーに
なってしまいます。
LinuxでKaoriYaパッチを当てたVim-6.2を使っている方が
いらっしゃいましたら、どのようにしたらKaoriyaパッチを
当てたVimをインストールできるのか教えてください。
よろしくお願いします。
Exuberant Ctags 5.5.2J1で作ったtags.
tagsがeuc-jpで書かれてるとうまくtag jumpできないのね…
正規表現がasciiのみならOKなんだが、日本語使われてるとダメっぽい
tagsをcp932に変換したらソースファイルが
euc-jpのままでも何故かうまくjumpできたが…
Kaoriya Win版 gvim 6.2.097
>>608 ようわからんのですが、tagsに記録された関数名自体が日本語になっているのでしょう
か?。tagsの読み込みにfencsは使ってないと推定できるので、euc-jpでtagsが生成され
た場合には不具合があると推測できます。ですが実際問題tags内の検索パターンにeuc-jp
で書かれたマルチバイト文字が無い限り、別段問題はないのでは、とも考えます。
>>610 > ようわからんのですが、tagsに記録された関数名自体が日本語になっているのでしょうか?。
いや、
>>608で書いた通り、tags内の正規表現にeuc-jpな日本語があるとダメなんです。
> tagsの読み込みにfencsは使ってないと推定できるので、
> euc-jpでtagsが生成された場合には不具合があると推測できます。
まさに検索パターンにeuc-jpがある時です。
たとえば
hoe.h(euc-jp)
static int HOE1 = 1; // ほえ1
static int HOE2 = 2; // ほえ2
hoe.c
#include "hoe.h"
void Hoe() {
int hoe = HOE1;
}
この時にhoe.cのHOE1上でC-]すると
E434: タグパターンがみつけられません
と出ます。
実際にはhoe.hにjump自体はしてくれるのですが、タグの場所まではjumpしてくれません。
> ですが実際問題tags内の検索パターンにeuc-jpで書かれたマルチバイト文字が無い限り、
> 別段問題はないのでは、とも考えます。
実際問題、検索パターン内にeuc-jpがあると問題になってしまいます。
tagsをcp932に変換すると動作するようになりますが、変換が面倒です…
>>611 この問題を解決するために、Vimがtagsを読み込む時にfencsとiconvを使うという方法
は考えられます。しかし厳密にはそれでは不十分です。ctagsに渡すソースファイルに
複数のエンコードが混在していて、結果エンコードが混在したtagsが生成される可能性
が無きにしも非ずです。そのようなtagsにVimが対応するには、非常に複雑で面倒な手
順が必要だと予測され、考えたくありません。
tagsがどのようなエンコードで記述されるべきかは恐らく仕様として決まっていないの
でしょう。でも私は、tagsを読み込むVim側ではなく、生成するctagsが責任を持って統
一する必要があると考えます。実際ctagsはそれらのエンコードを知り得る立場にあり、
統一することができます。なのでVimを修正することは保留します。
とりあえずMakefileで
tags:
ctags *.c | iconv -f euc-jp -t cp932
こんな風にして、自動化するなり工夫してください。
>>612 修正
> ctags *.c | iconv -f euc-jp -t cp932
ctags *.c -f - | iconv -f euc-jp -t cp932 > tags
ちょっとド忘れしてしまったんですが例えばCTRL-FでPageDownした時に
実際には2行あましてますよね。
例えばページ最下行が50行目の時にCTRL-Fしたら最上行が49行目になるみたいな。
これを0行にする(つまり上記のケースでは51行目が最上行になる)には
どのオションを弄ぶのでしたっけ?
弄ぶないでよぅ。 オプションは、
set scrolloff=0
挿入モードのままp (put)することってできませんか?
-->abc
(-->はタブ)
で、カーソルがcにあってoするとタブが自動で挿入されるのはいいんですが、Escすると
自動で挿入されたタブが消されてしまうので、回避したいのです。
>>616 <C-R>"
詳細は :help i_CTRL-R を参照してください。
>>KoRonさん
おお、なるほど。ありがとうございます。
c_CTRL-R_CTRL-W は知ってたけど、CTRL-Rってなにげに
良く使いそうなコマンドが一杯あるんですね。
む、ひょっとしてcscopeのタグつかってると、
CTRL-N, CTRL-Pのタグでの単語補完って効かないですか?
やっぱctagsと両方使わないとなのかなぁ..
620 :
名無しさん@お腹いっぱい。:03/10/10 15:57
改行などの制御コードを表示する方法ありませんか?
>>620 :set list listchars=eol:$
これでどうでしょう。詳細は
:help 'listchars'
:help 'list'
622 :
名無しさん@お腹いっぱい。:03/10/10 16:39
>>621 改行コードがLF? CF?といった事を判別する方法はないでしょうか?
>>622 そっちでしたか。 :set ff? で確認できます。詳細は :help 'fileformat'
すまそ、勘違いだったようだ..
_| ̄|○
ファイルAの一部をファイルBにコピペで追加する、といった作業は純viでできますか?
vimなら:spで2つファイルを開いてyy→画面移動→pとできますが、
vimはネットからいつもインストールしてるので、まずネットにつなぐために
OSインストール直後にその作業をしたいのです。
>>625 BillJoy版使ったことないから知らんが、
nviでも:eコマンドで複数バッファ間ヤンペはできる。
う、うそ書いてしまった。
:eでは追加で開けないから、
vi file1 file2 file3 ...
と起動時に複数指定するしかないみたい。
切り替えが :n、最後のファイルまでいったら、:rewでfile1にもどる。
同時に立ち上がっている間は、ファイルをまたいで y-p できる。
vimにはバッファがあるので、編集中に別ファイルを :e で開いても、:bn :bp などでバッファ間移動ができる。
migemo の CVS 公開お疲れ。
>>630 実は前々から見える位置に置いてありました。私の作業レポジトリも兼ねているので、
時々変なことが起こるかもしれませんが、大目に見てください。
あとheadline.vimもcvsにあります。migemoの代わりにheadlineでアクセスしてみてく
ださい。
定期的に話題ににあがることですが, 非windows環境だと日本語入力のままESCすると
コマンドモードでもIMが有効になっていて非常に不便だったりします.
過去ログによると, 回避方法は
inoremap <silent> <ESC> <ESC>:set iminsert=0<CR>
inoremap <silent> <C-C> <C-C>:set iminsert=0<CR>
するか, コンパイル時にui.c の im_save_status() で
*psave = B_IMODE_NONE;
として常に B_IMODE_NONE を設定するとのことですが,
これ以外の方法ってあるんでしょうか?
私の環境(GentooLinux with Kaoriya patch and Gentoo patch, Xはmotif)では
両方ともNG(後者はコンパイルエラー)になってしまいまつ.
>>632 kterm等のCUI環境ということでしょうか。だとすれば回避方法はim_customの導入し
かありません。GUI環境であればソースコードを弄らずともimactivatekeyやXIM用の
設定を適切に行なうことで、Windowsのように快適にIMをコントロールすることがで
きます。
ただしその設定方法はXIMサーバや漢字変換サーバの種類・バージョンによって微妙
に異なってくる上に、幾つかハマりやすい落とし穴(
>>282とか)があります。
>>633 なるほど.
主にGUI環境でのことを言っていましたが, 変換にはskkinputを使 3.06を
使用しています.
ちょっといろいろ弄んでみることにします.
何か分かったらご報告しますが, 同時に同じような環境の環境で情報を
お持ちの方がいれば, ぜひお願いします.
635 :
名無しさん@お腹いっぱい。:03/10/13 15:27
すみません、ファイル中に、'Linux'が含まれる行をカットして、ペーストするにはどのようにすればいいでしょうか?
:<>g/Linux/d して p をしても、削除したした全ての行がペーストされません。
>>635 :g/Linux/move$ とかで。
>>635 :/Linux/d
でカーソルから最初に見つかった行を削除。ペースト可能。
>>623 あるいは、こんな statusline を設定しておく。どこかからパクってきたのだけど、
どこからパクったかは忘れました。
set statusline=%<%f\ %m%r%h%w[%{has('multi_byte')&&\ &fileencoding!=''?&fileencoding:&encoding}\ %{&fileformat}]%=%l,%c\ %P
koron さんは連休明けのパッチの山で鬱になってたりするのだろうか?
>>639 デイリーでパッチ当てしてNetUpで更新してた時期もあるし、
大量パッチも過去に何度かあって慣れているんで到って平気です。
Koronさんはウォシュレット付のトイレにフルキーボードが付いていたら
hjlk で微調整、そして<C-A>連打なんだろうか?
ワラタ
でもやりそうw
ウォシュレットの位置調整機能は謎だなあ。
自分の*をhjklで調整した方が早いやろ。
644 :
名無しさん@お腹いっぱい。:03/10/15 08:21
warata
646 :
名無しさん@Vim%Chalice:03/10/16 06:07
647 :
名無しさん@お腹いっぱい。:03/10/16 18:58
みなさんこんにちは。
質問です。
ヴィジュアルモードで範囲選択してから >> とすると、
手軽に一度に複数行にタブを挿入できますが、
タブの代わりにスペースを挿入する方法はありませんでしょうか?
今は苦肉の策で、qai<SPACE><ESC>jq数字@a みたいにやってるんですが。。。
>>647 :set et してから
> ヴィジュアルモードで範囲選択してから >> とすると、
> 手軽に一度に複数行にタブを挿入できますが、
この操作をしてみましょう。詳細は :help 'expandtab'。
他にも <C-V>I を使う方法や :s/// を使う方法が在ります。
>>648 <C-V>I を使う方法で望みどおりの操作ができました。
ありがとうございます。
ちなみに、以前、<C-V>i とやってみたことはあるのですが、
何も起こらなかったのです。I だとできるのですね。
Iとi、Aとaの違いを参照plz
改行コードを入れるんじゃなくて, 指定桁で自動的に折り返しってのはできないのだろうか?
:se wrap
とは違う話?(これだと指定桁でなく画面幅だけど)
:set linebreak の前には予め :set nolist しとけよ
>652
違う話.
>653
linebreakてのはbreakatで決めた文字のところで折り返すってことしかできないよね?
set breakat=76とかあほなこと書いたらやっぱり無視されたよ.
tutor終って一日目の初心者です。
"a"の変わりに"i"を押してしまい、カーソルを1文字ずらしたい時、Escしてやりなおすのが普通なの
でしょうか?
カーソルキーをつかう、:help emacs-keys のどちらも ? な気がしまして…。
vim使いの方、アドバイスお願いします。
VineLinux2.6でgvim6.1.265で
:source! ~/.gvimrc
ってやったら
:r ~/.gvimrc
と同じことが起きてしまったんだが、なぜだ?
設定をRELOADしたいのだが。
ちなみに
:source ~/.gvimrc
では何も起きなかった(ように見えた)。
>>655 漏れはカーソルキー使うのは邪道だと思うのでescを使ってます。
>>655 <C-O>使う手もあるよ
ESC使うのとストローク数は変わらんけど
>>655 数文字程度なら同じ文字を打ち込んで、続けて全部書いてからダブった分を消します。
>>656 > These are commands that are executed from Normal mode, like you type them.
ヘルプより引用。
>>656,657,658さん
ありがとうございました。今夜も頑張ってつかってみます。
ホームポジションから大きく離れない位置にカーソルキーがあるキーボード(HHKなど)なら
カーソルキーを使う方が楽だと思う。
また (Shift または Ctrl+)カーソルキーに なにかマップするのも意外と便利。
vim とカーソルキーは相性いいと思うよ。
ft=javaのときに
{
}このように}を入力すると、インデントが1段戻る。
このとき}を押してすぐにEscでノーマルモードに抜けようとすると、
インサートモードのままになることがある。だからよく
{
}:w
とまぬけなことになってしまう。indent/java.vimの処理が遅いの
かな?
>>660 > カーソルキーを使う方が楽だと思う。
慣れの問題が一番だと思うのですが、
そこさえクリアできたらやはり hjkl の方が近くて楽のように思います。
また慣れてない人にはカーソルキーの方が直感的で
使いやすいかも知れないけど。
vi は、慣れてくると hjkl は微調整の時以外あまり使わずに
移動するようになるので(^F, ^D, M, w, f など使って)、
そういう意味でも hjkl ですばやく移動できることは大切だと思う。
ww← とやるより wwh の方が楽でしょ。
Vi(m)っぽい操作体系の携帯がでたら買いたい・・・と、最近よく思う。
>>661 :set indentexpr&
して再発しなければそのとおりですが、しないようならばescの押し込みが甘いとい
うことになるでしょう。一度入力バッファに貯められたキーがindentexpr内で食われ
てしまうというのは、よっぽど意図的にそう書かない限り起こるとは考えにくいで
す。となるとやはりescが押されていないと考えるのが自然なんです。
>>662 てか、ホームポジションから手を離す時点で有り得ない選択ですよね、
カーソルキーは。
まあ、5ストロークくらい節約出来るのならアリかもしれないけど。。。
>>664 :set indentexpr&
で再発しなくなりました。shift+]とctrl+[って近いから速く押せ
るんですよね。
カーソルキー使わないのは vi 使いの美学だ。
そこに効率だの直感だのは存在し得ない。
大概のキーボードがカーソルキーより押しにくいところにあるわけだが。
上、ESCキーのことね。
まあ、ここにおられるような方は、キーマップもいじってらっしゃることでしょう。
カーソルキーはヒストリで使うな
>>666 参考までにVimのバージョンと使用OSを教えてください。
>>669 私はキーマップしない派です。
>>666 mapとの相性の可能性を忘れてました。indentexprは弄らずに
:imapc
:nmapc
などとしてmapを消して再発するかを確認してみてください。
>>662 いや、上記の例でインサートモードなのに右に一文字移動したいなっていう時だったら
<ESC>la より <RIGHT> の方が楽じゃないかなってこと。
一本指打法でもない限り、<C-[>laや<C-O>aの方が楽ぽ
ああ、あと余程キーボードが小さいor手が大きくて
jに人差指置いたまま→に小指が届くとかなら別かも
ESCを無変換に割り当てたら病みつきでつ。
>>672-673 環境は
redhat{8,9} + {xterm,kterm,mlterm} + {vim6.1(/usr/bin/vim),vim6.2.69}
です。gvimでは再現できないようです。
:imapc :nmapcをしてみましたが、再発しました。
telnetやコンソールからでも再現しますか?
こちらはsshでFreeBSD 5.0上のVim 6.2.69に繋いでshowmatchを設定してmatchtimeを
長めにとってみたりしましたが、再現できていません。
> Escでノーマルモードに抜けようとすると、
ってありますけど、どのくらいのタイミングなんでしょうかね
そろそろKoRoNタンが苛立ってくるヨカン
>>678 vim -u NONE -c 'se nocp' -c 'filetype indent on' -c 'se
ft=java' -c 'se showmatch' -c 'se matchtime=100'これで起動し
て、a{<cr>}の順に押して、カーソルが{にいるとき(10秒以内)に
<esc>を押すと}が左に移動してカーソルは}の右に来るのですが、
-- 挿入 --の文字は消えずに、インサートモードのままです。発
生する条件が他にもあるようで、このあと同じことをやっても発生
しません。起動して最初にやると必ず発生します。telnetでもコン
ソール(TERM=linux)でも再現しました。
訂正。
>>677のredhat8の/usr/bin/vimは再現しませんでした。
>>680 ども。バッチリ再現しました。自分の環境ではESC押してから2秒以内くらいであれば、
何回でも発生することが確認できました。ちなみにWinのvim.exeでは再現できません
でした。時間を取って調査してみましょう。
mapでCtrl+数字の組み合わせって使えないんですか?
<M-1>は効いてるんですけど、<C-1>だと効かないんですよ。
683 :
名無しさん@お腹いっぱい。:03/10/18 19:31
>>676 あっ、俺と一緒。
ちなみに変換にはShift割り当ててる。
684 :
名無しさん@お腹いっぱい。:03/10/19 00:43
vim-6.2.121.rpm
バグ直ったかな
そういえばコピー情報のスタックって出来るんですか?
いや,多分使わないとは思うんですけどね
レジスタの値をバッファに出すにはi_CTRL-Rで出来るが
オプション変数の値をバッファに出すには?
:opt[ions] で全オプションを出して
そこからヤンペするのは思い付いたんだが
>>688 i_CTRL-Rから =&guifont のように。:help expr-option
なるほどー
ありがd
既存の機能をいかに応用するかってことだぁね。
思い付くまでには知識のみならず、それらを応用できる経験が必要だろうけども。
:help expr-option の例を読むとスクリプトやコマンドラインで使うことは思い付いても
それを i_CTRL-R と組合せる所までは気付きにくいよね…
691 :
名無しさん@お腹いっぱい。:03/10/22 00:47
…を使うと表示が変になる。KoRoNさん、直してください。
>>691 どういうことですか?。UTF-8の場合は:set ambiwidth=doubleで直ることが多いですよ。
693 :
名無しさん@お腹いっぱい。:03/10/22 21:22
↑gvimで…を使うと表示が変になる。全角なのに…の上にくると
かーそーるが半角になり表示も変になる。(詳しく書くと)
gvim6.2.63〜121ずっと直っていない。
694 :
名無しさん@お腹いっぱい。:03/10/22 21:23
↑ちなみにlinux rpm版
>>695 さすがにそれはあんまりだろ。
まあ細かい使用環境がわからないままでは単なるゴミカキコだけど。
Linux rpmと書かれてもさっぱりわからん罠。
自分もDebian sidでカーソル関係のバグに悩まされとるけど、
ここで聴くようなことじゃないな。
>>693 :set enc? ambiwidth?
して結果を教えてください。
モロトミ ヤスミツ (ヨコチン大使)
体育館で自らヨコチンを曝け出し、「汚い」「触るな」と虐められ泣かされていた。
「先生。○○君がヨコチン大使って言うねん」と朝の会で皆の前で泣きじゃくっていた。
彼はまるで銀幕スターだった。銀シャリが食べたい。
700げーーつ。
今日は、:HDensityという謎のコマンド見つけますた。
元に戻すのは多分、:NDensity
701 :
名無しさん@お腹いっぱい。:03/10/23 14:42
:set ambiwidth=double で一様なおった
ありがとございます。
702 :
名無しさん@お腹いっぱい。:03/10/23 15:42
↑でもこんんな設定しなければ表示がおかしくなるのは
ばぐではないだろうか。
「一応」な。
「フォント幅からみて全角半角か、また文字が端末上で何カラムいるか」
これらを取得する方法は2通りあり、1点目はGUIの描画ロジックから取得できるか
と思います。(未実装です)
2点目は文字コードに対して固定的に割当てられていて、その実装はアジア圏とそう
でない地域によって異なります。それを制御するのがこの ambiwidth です。つまり
ある文字に対して、その幅が全角であって欲しい人と半角であって欲しい人が世界に
2通りいることになります。
日本語圏であれば初期設定で ambiwidth=double しておけば問題になることはないか
と思います。
1点目についてはニーズがあれば機能拡張したいと思っています。
(香り屋版 ambiwidth=auto を参考に GTK で実装します)
ただしCUIに関して自動で判別する方法は、いまのところ実装が難しいと思われます。
なぜかというと、encoding=utf-8 上で、どちらになるかの判断材料が環境変数くら
いしかなく、それを使用したとしても、どうしてもハードコーディングにならざるを
得ないのが問題になります。
カレントディレクトリを, 現在開いてるファイルがあるディレクトリと
同じにするにはどうすればいいですか?
:cd でフルパス打っていくのが面倒なんですが.
>>705 一番簡単なのは :cd %:p:h を実行することです。%は現在のバッファを意味していま
す。:p:hはそれぞれフルパスにする、パスの最後の要素を取り除くという意味になり
ますが、詳細は :help expand() を参照してください。
香り屋版ではこれを :CdCurrent という名前のコマンドとして定義しています。
command! -nargs=0 CdCurrent cd %:p:h
ありがとうございます. そんな便利な変数?があったんですね.
ちょっとユトリがあったんで、某スレで出ていたスマートなIMコントロールをサクッと
実装してみました。インサートモードに入ったときにカーソルの前後にMB文字があれば
IMをON、なければOFFにするというものです。実装方法としては、インサートモード突
入時に呼ばれるautocmdのInsmodEnterイベントを新しく作成し、そこからスクリプトを
呼び出してMB文字の判定をするというものです。
http://www.kaoriya.net/testdir/smart_im.tar.bz2 このアーカイブにはパッチ、スクリプト、Windows用バイナリが入っています。手っ取
り早く試すにはgvim.exeと同じ場所にバイナリを置いて実行し、同梱のスクリプトを
sourceすれば良いです。あとは適当な日本語英語混在ファイルを開いて試してみてくだ
さい。
またInsmodEnterに何か他の使い道があるかもしれません。アイデアがある方は是非提
案してください。場合によってはそれを持ってvim-devの方にInsmodEnterをプッシュし
ます。
>>708 > またInsmodEnterに何か他の使い道があるかもしれません。
> アイデアがある方は是非提案してください。
vim online かどこかでinsertモードになったら背景色を変える
といったスクリプトを見たことがあるな。
あれは確かiやaなどをmappingしてhighlightを変えていたが。
この手の需要に答えられるのでは?
書き忘れた。
InsModEnterがあるならInsModExitも有った方がよいかと。
インデントされている行が画面端で折り返されたとき,
その折り返し以降の部分も同じようにインデントされているように
見えるようにすることってできますか?
>>712 できません。代わりと言っては何ですが :set showbreak=>>> のようにすると折り返さ
れた行がマーキングされます。 :help showbreak
MacOSX10.3にvim入ってるんだが、どうやら、-multi_byte。
Kaoriya版Gvimと一緒に使うと、.viminfoでなんかオキソーナ予感。
>>715 私もPanther導入しました。貧弱なiBookのグラフィック周りが使い物になるほど速く
なってご機嫌です。確かにVim 6.2無パッチCUI版が入ってますね。Panther用バイナ
リを配布する際はそれも考慮しましょう。
UN*X系OSでBDF M+を使いたいと思い, mplusを導入しましたが, gfnの設定方法が分かりません.
具体的には値を
'mplus_j10r-iso,mplus_j10r-jisx,mplus_j10r'
としてるのですが, jisx0208.1983-0(全角文字)とjisx0201.1976-0(英数かな半角文字)が無いと
言われます.
フォントエイリアスは
mplus_j10r -mplus-gothic-medium-r-normal--10-100-75-75-c-100-jisx0208.1990-0
mplus_j10r-iso -mplus-gothic-medium-r-normal--10-100-75-75-c-50-iso8859-1
mplus_j10r-jisx -mplus-gothic-medium-r-normal--10-100-75-75-c-50-jisx0201.1976-0
となってます.
なんかとんでもなく勘違いしてますかね?
エラーメッセージをそのままコピペせずに勝手に翻訳してるあたりが
さしあたり重大な勘違い
xset fp rehashしてねーとか?
何をして何をしてないのかがあまりに曖昧なので超能力者でもないと
的確なコメントは不可能だろうが…。
>>718 すみません.
エラーメッセージは以下の通りです.
E250: Fonts for the following charsets are missing in fontset a14:
JISX0208.1983-0
JISX0201.1976-0
E250: Fonts for the following charsets are missing in fontset a14:
JISX0208.1983-0
JISX0201.1976-0
E285: Failed to create input context
E285: Failed to create input context
>>717 その形式で指定するならば多分gfsを使わなきゃダメ。GTK2時の設定は知りません。
:set guifontset=mplus_j10r-iso,mplus_j10r-jisx,mplus_j10r
722 :
名無しさん@お腹いっぱい。:03/10/26 19:31
format.vimって、ちゃんと使えている方います?
なんか、
let format_allow_over_tw = 0" ぶら下り可能幅
let format_join_spaces = 2
な環境で、日本語たらたらと打って、gqしても、ほとんどぐちゃぐちゃになってしまいます。
どうしたらいいのでしょうか?
>>722 :set formatoptions+=m
しても上手く動かないようならば、使っているVimのバージョンとOSを教えてください。
ちなみに私は使えています。最新のVim+format.vimではformat_join_spacesは廃止にな
り、代わりにformatoptionsのMもしくはBフラグによって制御されるようになっています。
724 :
名無しさん@お腹いっぱい。:03/10/26 21:24
vimでインサートモード中にControl-jで改行されるのをやめたいんだけど、
どうしたらいいですか?
キーマップのヘルプ読んでもわかりませんでした(x_x;
725 :
かっいいぞ・・・:03/10/26 21:30
UNIX・・・あんたらものすごくかっこいいぞ・・・
あんたたちは英雄だ!! 今その事実知ったおれを許してくれ・・
すまなかった そして ありがとう(・∀・)!
>>723 うまくいきました、ありがとうございます(・∀・)。
>>726 ありがとうございます。
これでuim-skkでの入力が快適になりますた。
>>728 >uim-skkでの入力
skk.vimだけでskk日本語・漢字できるの?
つまりskk.elなしでできるの?
vim じゃなくて uim。
基本的に、〜.elの方が使い勝手がいいから、
emacs常用の人は、uimあんまりほしがらんかもな。
それ以前に、emacs常用の人はvim欲しがらないと思われ
あ〜も〜だめだ〜
誰かGTK環境のgvimとskkinputで正しく使えてる人の
(g)vimrc見せてくれ〜
ヽ(`Д´)ノウワァァァン
vim + im_custom(skk) + skkfep + skk.vim の .vimrc もキボン
GTKといっても1だったり2だったりするわけだが
skkinputといっても2だったり3だったりするし
環境(OSやらTkやら)ごとのgVim for Japanese スマートコンストラクトはうつーを誰か作ってくれ。
頼む・・・!
気が向いたらな〜
多少認識間違いがあるかもしれないので・・・
* Vim + xim_fix0624.diff
Vim の XIM 機能をパッチにより修正し、skkinput でも
大体の入力が出来るようになる
設定としては
export XMODIFIERS=@im=skkinput
が必要になります。
* Vim + im_custom
Vim の XIM 機能には頼らず、独自に IM を提供する
設定としては
http://hp.vector.co.jp/authors/VA020411/Vim/im_custom/readme.txt を参照してください。
* Vim + skk.vim
XIM や im_custom に頼らす、スクリプトだけで IM を作って
しまおうという無茶苦茶なプロジェクトで
こちらは問題が山済みです。
設定はありません。
:set imoptions=skk,dict:~/.skk-jisyo で
「Vim: 致命的シグナル SEGV を検出しました」
そして vim 強制終了
設定まちがってるの?
VIM - Vi IMproved 6.2 (2003 Jun 1, compiled Oct 20 2003 00:15:57)←最近emacsから乗り換えを図る(^^)
im_customをパッチして ./configure --prefix=/usr --enable-multibyte --enable-skk 経由でインスコ
設定をほとんど晒さずに「設定まちがってるの?」って…正気?
パッチも当ててないみたいだしな。
743 :
名無しさん@Vim%Chalice:03/10/29 15:53
kaoriyaさんとこからヘルプファイルの日本語訳をダウンロードして、
qkc -e して、/usr/local/share/vim/vimfiles/docs/ 以下にコピーしました。
めでたく日本語板が見られるようになったのですが、
以前の英語のマニュアルを見る方法はありますか?
KoRoNさん、mattnさん、親切にありがとうございます。
追加で2点ほど質問させて下さい。
>>736 GTKは1で、skkinputは2です。
export XMODIFIERS=@im=skkinputもしています。
>>733でとりあえずskkinputによる日本語入力はできるようになりました。
私はskkinputでIMのon/offにCtrl-backslashを使っています。
# ブラウザ等でShift-spaceをpage upに使いたい為
具体的には~/.Xresourcesに
Ctrl<Key>backslash:begin-conversion(_JAPANESE_CONVERSION)
*conversionStartKey: Ctrl<Key>backslash
Skkinput*xim.conversionStartKey:Cntrl<Key>backslash
Skkinput*ximp.conversionStartKey:Cntrl<Key>backslash
などと書いています。
この時、gvimrcにimactivatekey=C-backslashと書いてもうまく行きません。
C-Bslashとかいろいろ書き方を変えてみたんですがダメです…
.Xresourcesの上記部分をコメントアウトし、imactivatekey=S-spaceにしたら
Shift-spaceでIMのon/offができました。
あと
>>632と同じなのですが、IMがonのままnormalモードに入ると
まだIMがonで鬱になります。
>>633では設定次第とのことですが、違うXIM(cannna等)や環境でも良いので
Windowsのように快適にIMをコントロールできている人の設定を
参考までに教えて頂けないでしょうか。
よろしくお願いします。
im_customがらみで便乗質問.
set imoptions=skkで使ってます.
im_customって$HOME/.skkinputなんて見ないよね?
普段そこに
skkinput-input-vector:(44 . ", ")
skkinput-input-vector:(46 . ". ")
と書いて句読点を, . にしたり
skkinput-rom-kana-rule-list:("zl" "" "→" "→")
とかしてる人はどうすればいいんでしょう?
もしかして$HOME/.skkなら見るのかな?
あと, ドキュメントでは「<C-\>を押下」と書いてあるけど,
vim起動後デフォで日本語入力がonになるよね?
それで漏れの環境ではその後<C-\>押下しても何も変わらないです.
lでskkを半角モードにしたり<C-J>で全角モードにしてなんとか
使ってるけど, そういうもの?
>>745 自分はGTK2 + kinput2 3.1の組み合わせに
:set imak=s-space imi=0 ims=0
スタンダードな設定でうまく動きます。
ちなみに時々誤解を受けているようですが、imakは「IMのON/OFFに『使いたい』キー」
を設定するのではなく、「IMのONに『使っている』キー」を指定するのが本来の用法で
す。ただしこのあたりには色々複雑な事情が絡みあって混乱を生んでもいるのですが。
>>748 なるほど、確かにヘルプにもそう書いてありますね。
それで
>>745の話題に戻ると、gvimrc的に「バックスラッシュ」の
記述は"backslash"で良いのでしょうか?
ところでGTK2ってgfsが設定できないので嫌じゃありません?
>>749 ちょっと追ってみたのですがbackslashで良いようです。内部的に文字列からイベン
トへの変換にはXStringToKeysymを使っているのですが、
> 標準の KeySym 名は <X11/keysymdef.h>内のそれぞれの名前から接頭辞 XK_ を取り除くことによって得られる。
という記述が
ttp://xjman.dsl.gr.jp/X11R6/X11/CH16.html にあり、該当ヘッダを
みるとbackslashで良いようです。
> ところでGTK2ってgfsが設定できないので嫌じゃありません?
それはGTK2のフォントシステムに起因する事柄ですから、GTK2におけるフォント設定
に詳しくなれば解決する話ではないでしょうか。本当にいやなら--enable-gui=gtkで
コンパイルしてGTK1を使うという手段もあります。
>>750 わざわざありがとうございます。
もうちょっと調べてみます。
>>747 >im_customって$HOME/.skkinputなんて見ないよね?
>もしかして$HOME/.skkなら見るのかな?
みません。im_custom の skk はクイックハックなので
lisp 処理もなければ完璧な辞書登録もありません。
どちらかというと、im_custom の skk は
1 X が使えない
2 Canna が動かない
3 でも日本語を打たなければならない
4 SKK の辞書ならある
な緊急事態に活用すべく作り始めたのでフルな実装は考えていません。
もし skkfep 互換なものをお求めでしたら、vim-jp-ml にて im_custom
の skkfep 用パッチが出てましたので、そちらを検討ください。
>あと, ドキュメントでは「<C-\>を押下」と書いてあるけど,
skk に関しては例外とさせてください。
canna, pobox はプリエディットへのトリガーキーが必要ですが、
skk の場合は C-J が代用しますので C-\ は有効ではありません。
あとで readme.txt を修正します。すみません。
> ちょっと追ってみたのですがbackslashで良いようです。
いろいろ試行錯誤してみましたが、GTK2を導入したら
imakに何も設定しなくても普通に<C-\>でIMのon/offができました。
これでいきたいと思います。
> それはGTK2のフォントシステムに起因する事柄ですから、GTK2におけるフォント設定
> に詳しくなれば解決する話ではないでしょうか。本当にいやなら--enable-gui=gtkで
> コンパイルしてGTK1を使うという手段もあります。
GTK2って普通に set guifontでいけるんですね。
しかも set guifont=* で一覧を出すこともできました。
UNIXは guifontset を使うという固定概念があったものですから
gfsが設定できない = フォントが選べないと勘違いしてました。
いろいろとありがとうございました。
755 :
名無しさん@お腹いっぱい。:03/10/31 03:47
スワップファイルの名前って変更できないの?
hoge.swp.fugeみたいにしたいんだけど。
>>755 できません。'directory'を使って作成する場所を一箇所にまとめることならば可能です。
FreeBSD上でvim6.2を使っています.
ユーザによって, vimの起動する時間が違うんですが, 何が原因でしょうか?
vim -u NONE -U NONE で起動しても, 普段使っているアカウントだけ
vimの起動に10秒ぐらいかかってしまいます.
rootや他のアカウントだと1,2秒で起動します.
>>757 とりえあず vim -X というように-Xオプションを付けて起動してみてください。
その詳細は :help -X を参照のこと。
>>757 これを試してみたら?
" コンソール版で環境変数$DISPLAYが設定されていると起動が遅くなる件へ対応
if !has('guirunning') && has('xterm_clipboard')
set clipboard=exclude:cons\\\|linux\\\|cygwin\\\|rxvt\\\|screen\\\|xterm
endif
>>758 ありがとうございます. :help -Xで問題がわかりました.
ターミナルで使ってるのにXが絡むなんて思ってもなかったです.
>>759 試してみます.
なに!コンソールで使っているのにXが絡むのか。
ひょっとしてscreenでデタッチしきれないのはこのせいか?
762 :
名無しさん@お腹いっぱい。:03/10/31 19:47
:e scp:// という感じでリモートサイトにあるファイルを編集しています。
:w で保存したときにファイルの先頭にカーソルが行ってしまうのですが、
どうにかならないですか?
VIM6.2 適用済パッチ: 1-69
「どうにか」てあーた
>>763 こりゃ失礼。カーソルは:wを行ったところにいてほしいのです。
>>761 そうです。
この質問はFAQだから、次スレの最初に書いたほうがいいと思います。
「文字列定数」のような文字列の、
「文字列」の部分だけをvで範囲指定して Kを押すと
:! K-key-program 文字|N
のように最後の一文字が化けてしまいます。
何か良い対処方法があったらお教え下さい。おながいします
環境は6.2.72 + kaoriyaパッチ on FreeBSD-4.7Sです。
>>766 対処法はソースコードのデバッグです。おながいします。
>>767 は、早っ!
試してみましたが、変化は見られないようです。。
>>768 そうですか。。 un*x(euc)環境以外でも再現するのかな?
といいつつ一文字余計に指定してフィルタに削らせて逃げる横着者の私 (汗
>>766 これをvim-devに送りました。そのうち反映されると思います。
*** src/normal.c.origFri Oct 31 21:41:28 2003
--- src/normal.cFri Oct 31 21:51:54 2003
***************
*** 4946,4951 ****
--- 4946,4959 ----
*pp = ml_get_pos(&VIsual);
*lenp = curwin->w_cursor.col - VIsual.col + 1;
}
+ #ifdef FEAT_MBYTE
+ /* Adjust *lenp which doesn't break a multibyte character. */
+ if (has_mbyte)
+ {
+ /* (*lemp - 1) points leadbyte of last character in selected string. */
+ *lenp += (*mb_ptr2len_check)(*pp + (*lenp - 1)) - 1;
+ }
+ #endif
reset_VIsual_and_resel();
return OK;
}
最近の vim-jp のMLはメッセージが届いていないのですけど、単に投稿がないだけですか?
>>773 投稿が無いだけです。登録外アドレスからのスパムはかなり着てるみたいですが、
フィルタリングされてます。
MLに逝くべき案件の大半はここに来てるような気も。
(技術系MLにある程度共通した現象?)
レスポンスの速さと、
なんといっても、2大巨頭がいるからだろうね。
>>776-777 メールでも同じくらいのレスポンスタイムで回答できる(している)とは思うんですが、
それ以前に掲示板のほうが精神的に質問し易いっていうのはありますよね。
神が自ら2chブラウザまで作ってるんだから、こりゃどうしようもない(笑
厨な質問して叩かれても、たいしたことないからな・・
2ちゃんなら
781 :
名無しさん@お腹いっぱい。:03/11/02 00:57
最近良スレだったのに荒れてるな
h 'acd'の説明にはバッファを消したときや、ウィンドウを閉じたときに、
カレントディレクトリを変えるって書いてあるけど、:closeや、
:quitのときはディレクトリが変わりません。:bdelのときは変わる
のですが。
helpが間違ってるのか、俺の解釈が間違ってるのか、バグなのか。
When on, vim will change its value for the current working
directory whenever you open a file, switch buffers, delete a
buffer or open/close a window.
>>614 超遅レスだけど、それをコントロールするオプションはまだないです。
todo.txt:
> Scrolling:
[...]
> 6 Add option to set the overlap for CTRL-F and CTRL-B. (Garhi)
と、かなり優先順位の低いTODO項目になってます。
>>615の scrolloff オプショ
ンはこれとは関係ないですね。move.c の get_scroll_overlap 参照。
# てかド忘れって…?
>>782 現象は確認しましたがそのhelpには続きがあって
> It will change to the directory containing the file which was opened or selected.
「開かれていたか選択されていたファイルが含まれているディレクトリに変更する」と過
去受動なので、厳密には「ファイルを閉じた時はその閉じたファイルのディレクトリに移
動する」とも解釈できてしまいます。となると:bdelのほうが動作として誤っているとも
言えなくないわけです。
じゃあ、どっちが正しいかと言うと
> This option is provided for backward compatibility with the vim released with
> Sun ONE Studio 4 Enterprise Edition.
とあるのでSun ONE Studio 4に付属するvimと同じように働くのが正しいのです。なので
実物を確認するまではこの件は保留ということになるでしょう。
そもそも'acd'は+netbeansな機能であることから判るように、普遍的な「現在のウィンド
ウのファイルのディレクトリに自動的に移動する」コマンドではないので、そのような用
途で使うならば:autocmdや:lcdを駆使した方がスマートだと思われます。例
:autocmd WinEnter * if isdirectory(expand("%:p:h")) | execute "lcd ".execute("%:p:h") | endif
>>784 > :autocmd WinEnter * if isdirectory(expand("%:p:h")) | execute "lcd ".execute("%:p:h") | endif
間違えました。こうです。
:autocmd WinEnter * if isdirectory(expand("%:p:h")) | execute "lcd ".expand("%:p:h") | endif
>>785 もう1つ修正
:autocmd WinEnter,BufEnter * if isdirectory(expand("%:p:h")) | execute "lcd ".expand("%:p:h") | endif
>>784-786 >:autocmd WinEnter,BufEnter * if isdirectory(expand("%:p:h")) | execute "lcd ".expand("%:p:h") | endif
いただきます。
MLにも加入してるけどね。
なんとなく敷居が高いよ。
ここのほうが何でも気軽に質問できる。
よってMLは読んでるだけ。
789 :
名無しさん@お腹いっぱい。:03/11/03 16:22
/ で検索とかした後に、検索する前にいた所にカーソルを戻す方法って何かスマートな方法があったら教えて下さい。
今は ma とかマークつけて、 `a で戻ったりしてるんですが、これだと検索前にマークを付ける必要があって、マーク付け忘れて検索しちゃうと戻れないんですよね・・・
>>790 知らなかった!Many thanks!!
>>792 修行が足りませんですた・・・Thanks!
ctro
ctro
実行環境のマシンがへぼいのか、Cソースに色をつけると
CTRL-Fのページ送りが結構遅くなってしまいます。
これは、configureのオプションを変えてコンパイルしたら多少改善したりするでしょうか?
ただ、--with-feature=small以下にしちゃうと、動かなくなるスクリプトとか一杯でちゃって、
使いづらくなっちゃうでしょうけど..
koron さんの CVS サーバー落ちてます?
>>797 ごめんなさい。ちょっとルータの交換作業してました。
>>796 configureオプションの調整でsyntaxが速くなるとは考えにくいです。
:help :syn-sync-maxlines
などを参照してsyntax同期の最大行数を制限してあげると速くなる可能性があります。
>>KoRoNさん
すいません、上にも似たような質問あったんですね。
で、usr_44.txtみながら色々ためしてみましたが、実感できるほど改善はされませんでした。
ともあれ、レスありがとうございました。
>>796 的外れかもしれないけど
Windowsからtelnet(ssh)しててTeraTerm使ってるなら
PuTTYなどに変えると早くなるかも。
TeraTermの応答速度はかなり遅い。
最近追加された vim script で面白い or 役に立つのって何かありますか?
>>803 headline のディレクトリにいれればいいんですね。
なんか、w3m のようなかんじ。
805 :
名無しさん@お腹いっぱい。:03/11/07 19:32
set formatoptions+=mMを.vimrcに書いてるんでつが、Perl書いてて勝手にformatされちゃう。
どうしたらいいでつか?
vimを使わない
「Perl書いてて」?
今そんなにヒマなのかよ、Larry
vimrc で
autocmd BufReadPost *.pl setl textwidth=0
ってするとどうなりますか?
utocmd BufReadPost *.pl setl textwidth=0となります。
811 :
名無しさん@お腹いっぱい。:03/11/08 20:18
vim6 ですが、特定範囲の大文字をすべて小文字に変換するにはどうしたら?
>>812 サンクスコです。自分でも調べていて、v で範囲して u ででけますた。
V, Ctrl+v を押しても VISUAL LINE や VISUAL BLOCK に
なりません・・・。
どうればいいのでしょうか?
宜しくお願い致します。
>>811-813 補足です。~を使えば大文字が小文字になりますが、小文字が大文字になってもしまいます。
本当に小文字へ変換したいシーンではguを使います。大文字にするにはgUです。
817 :
あ 814:03/11/08 22:21
>>815 vi の バージョンは version 6.1.320 です。
os: RedHat 9
お願い致します。
レベルの低い質問なんですけどヴィジュアルモードと選択モードはどう違うのでしょう。
ヘルプ読んでも良く解らないもので。
>>818 恐らく同じです。たぶん翻訳されたヘルプを読んでの質問だと思われますが、ファイル
によって翻訳者が異なるので訳語が異なっていることがあります。また同一ファイル内
でも別の呼び方をしてしまっている可能性もあります。どちらにせよ正確な内容を知る
には英語の原文を読むのが手っ取り早く確実です。
:h select-mode
> Select mode looks like Visual mode, but the commands accepted are quite
> different. This resembles the selection mode in Microsoft Windows.
違うようです。つかselectモードなんて使ったことないなぁ…
>>819 ヘルプ見ると違うものとして扱っているんですけど同じでしょうか。
ヴィジュアルモードの時にCTRL-Gを押すとそのモードになります。
-- セレクト --
こんなのが下には表示されます。
>>820 あ、ほんとだ _| ̄|○ しかも翻訳自分だし
簡単に言ってしまうとこういうことでした。ビジュアルモードではほとんどのキー入力
がnormalコマンドとして解釈されカーソルが移動し選択領域を変更できるのに対し、選
択モードではWindowsのテキスト選択のように選択されたテキストを入力されたキーの
文字で置換え挿入モードに入ることができます。
自分も全然使わないからスッカリ忘れてた。
>>822 おぉ、解りやすいw
お陰で理解できました。
しかし、これはまったく使い道無いですねぇ
Creamとかで使うんでしょうか。
howm-mode.vimのインストールがうまくいきません。
配布されているページを見てインストールして設定をしたんですが。
スクリプトの中身を少し見てどうすればいいかも調べてみたんですがわかりませんでした。
Webで調べても同様にインストールできてない人がいるみたいです。
howm-modeを使っている方などここをこうすればいい、などの意見がありましたらよろしくお願いします。
環境は、Win2k+vim6.2.144+Chalice1.8.019+cygwin GNU grep2.5です。
825 :
名無しさん@お腹いっぱい。:03/11/09 07:06
ヴぃヴぃからヴぃmにレベルアップしたいけど色々あって迷い中。
viviで言うところの「全体イメージ」を実現しようとすると大変ですか。
あれは、行頭記号文字にfunctionとか登録すると、アウトラインの項目が全体図に青く表示されて
ファイル内の各関数のボリュームが一目に判別できてなかなか便利なのです。
これに近い機能をもっと簡易なものでいいから実装してよ Vimマスター。
CTRL−Gでパーセントで自分の位置が把握できるから、その辺のコマンドを利用すればそれほど
難しくないと思うんだが、どうだ。どうだ。
>>824 1.Chaliceちゃんと動く?
2.hown_modeはどうインストールした?
3.cygwinはどこにインストールした? c:\cygwin ?
別ディレクトリにする時は、runtimepathで指定しましょう。
3.とりあえず、「\,c」って打ってみて。どうなる?
>>825 全体イメージ機能がエディタを使う上で必須な機能であるならば、残念ですがVimは縁
が無かったということで諦めてviviを使うことをオススメします。Vimは良くも悪くも
CUIの上に拘束されるので全体イメージの様なGUIであることを活用した機能は根本的に
実装不能です。それでもCUIとスクリプトを使ってある程度エミュレーションすること
は可能でしょうが、少しファイルが大きくなれば解像度が足りなくなって破綻すること
は明らかです。
# GUIベースで無理矢理実装してしまう手が無いわけではないですが、少なくとも私は
# やりたくないです。
どうしてもVimを使いたいということでファイル内の各ブロックのボリュームを知るこ
とが目的ならば、全体イメージの他にも方法はありますからそちらに慣れると良いで
しょう。
上の訂正。チェックなしで書いてしまった。すまん。
1.Chaliceちゃんと動く?
2.hown_modeはどうインストールした?
別ディレクトリにする時は、runtimepathで指定しましょう。
3.cygwinはどこにインストールした? c:\cygwin ?
4.とりあえず、「\,c」って打ってみて。どうなる?
829 :
名無しさん@お腹いっぱい。:03/11/09 08:36
>>827 >どうしてもVimを使いたいということでファイル内の各ブロックのボリュームを知るこ
>とが目的ならば、全体イメージの他にも方法はありますからそちらに慣れると良いで
>しょう
例えばどんな方法があるの?
>>829 ブロックの先頭と後ろを与えて位置とサイズのパーセンテージを数値的に確認します。
スクロールバーを表示していれば多少視覚的に判断が付きます。手早いのは手動です
し、頻繁に繰り返すならmapしたりスクリプト化しても良いでしょう。具体的な一例と
しては、C限定で現在の関数について知りたい際には:splitして[[%%%…です。
念のため断っておきますが、これは全体イメージ機能の代替ではなくVimにおいてブ
ロックのボリュームを知る手段の解説です。こういう一見、回りくどい方法に馴染めな
いのであればviviを使うことをオススメしておきます。
>>831 反対意見「ActiveStateのままが良い」っていう人が居れば理由とともに申し出てく
ださい。居なければいつのまにか変わるでしょう。
こりゃ、MLやBBSは見ずとも、2chのVimスレだけは見ておかねばなりませんな
今見たらREADME_j.txtにPythonについては「どっちのバイナリでも動く」みたいなこ
とが書いてありました。実際のところどうなんでしょ?
>>833 少なくともBBSではアナウンスして意見を求めます。
836 :
名無しさん@お腹いっぱい。:03/11/09 14:15
>>827 > 1.Chaliceちゃんと動く?
はい。動きます。
$VIM/chaliceにインストールして、_vimrcにset runtimepath+=$VIM/chaliceを追加し、
:Chaliceで起動できます。
> 2.hown_modeはどうインストールした?
> 別ディレクトリにする時は、runtimepathで指定しましょう。
展開したディレクトリhowm_vimを$VIM/howm_vimにコピーしました。
その後、_vimrcにset runtimepath+=$VIM/howm_vimを追加し、
$VIM/howmを作成し、howm-mode.vimの~/howmを$VIM/howmに変更しました。
> 3.cygwinはどこにインストールした? c:\cygwin ?
C:\cygwinです。
> 4.とりあえず、「\,c」って打ってみて。どうなる?
何も変化なしです。
\,cでは何も変化なしだったのですが、テトリスが\teで起動したことを思い出して、
調べたところ、Leaderがhowm-modeではスクリプトでC-cに割り当ててあるようなので、
C-c,cと打つと起動しました。
スクリプトを理解していないとvimを使いこなすのはなかなか難しそうですね^^;
ありがとうございました。
>837
>Leaderがhowm-modeではスクリプトでC-cに割り当ててある
あ…(´・ω・`) ごめんよぅ。また、へまった。
howm-mode.vimは、ほんのちょいドキュメント不足だと思うの。
他のスクリプトなら、スクリプトの中知らなくても大抵使えるから。
839 :
howm-mode.vim 作ったやつ:03/11/09 16:14
>> 836
>> 837
> howm-mode.vimは、ほんのちょいドキュメント不足だと思うの。
> 他のスクリプトなら、スクリプトの中知らなくても大抵使えるから。
ごめんです.
近いうちになんとかしようとは思ってるんですが…
(インストールする,メモをとる,検索する,リンクを張る程度のチュートリアル書くとか)
こんばんは。
euc-jpのファイルを開くと、あるファイルはきちんと表示されるのに、
別のファイルは文字化けしたりします。
set fileencoding=euc-jp
set fileencodings=cp932,iso-2022-jp,japan,shift-jis,euc-jp,utf-8,utf-16,ucs-2-internal,ucs-2
↑こういうふうに設定してるのだけど、順番に問題ありなのか?
それともVineLinux2.6でVim-6.1.265を使ってるのが問題なんだろうか?
>>840 :set fileencodings=ucs-bom,ucs-2le,ucs-2,iso-2022-jp,utf-8,cp932
とりあえずこうしてみてください。encoding=euc-jpな環境でeuc-jpなファイルを開く
際はエンコード変換が起こらないので文字化けすることはないハズなんですが、2バイ
ト文字が少なかったりするとcp932として判断されておかしくなることはあります。
なるふぉろ。
短い場合はしょうがないのね。
FreeBSD で cvsup 使って ports tree 更新…
vim 更新キタ━━━━(゚∀゚)━━━━!!
という事で portupgrade。
しかしあのパッチの数をダウンロードする方が make より時間かかる_| ̄|○
>>843 手元にある1-144をまとめた-cなパッチで401KBありますからね…_| ̄|○
>>843 自分でftpかwget使って取って来るとかなり早く終わるよ
portsに取って来させると、パッチ一つごとに接続切っては繋ぎ直してるから。。
そういうわけで、さすがに今度から
>>845 のようにしようと考えてます。
ただ ftp なので結局あんまりスピード出ないんですよね。
一回ダウソしたパッチ類は tar で固めて持ち運んでますよ、ぇぇ…
obrien氏にはcatしてlocal-distfilesに置くという発想は
無かったのだろうか・・・。
常に001から当てるならそれでもいいけど、実際には
「前に当てたところから」の人が多いだろうからね。
あのペースの更新だと、catしたもの同士の差分も置いてたら際限ないし。
ちょっと質問させてください。gvim + im_customで日本語入力している、っていう人いらっしゃいますか?
それでなきゃ入力できないとか、XIMなんて設定面倒っていう人。
はいはいはーい
日本語禁則処理なんて自動でできますでしょうか?
KoRoNさま
>>851 自動って入力しながらということですか?。それについては現状では不能です。gq整形
であれば香り屋版付属のformat.vimで実現されています。範囲を選択してgqで実行され
ます。
vimで動くブラウザまだ〜?(AA略
ありがとうございますKoRoNさま
KoRoN様がみてる
このスレを
856 :
名無しさん@お腹いっぱい。:03/11/12 22:19
>>805 自己レスでつ
function! MyPerlSettings()
set formatoptions=""
endfunction
autocmd FileType perl call MyPerlSettings()
を.vimrcに書いて解決しました。
>>806さん、心温まるレスありがとうございました。
>>849 im_custom愛用させてもらってます。
XIM(kinput2)を使うと、変換→小窓を開く→確定→(文字がでない)
→escで抜けると落ちる。[SEGV]となるので。
以前にこのスレで出てたKinputのリソース設定で回避可能だったんですが、
そうすると他のアプリでXIMの変換確定後にフォーカスが戻らなくなるので止めました。
im_customでも、いくつか不具合がありますがあまり
日本語を入力する機会もないのでいいかな、と。
環境は FreeBSD 4.9 + gvim6.2.144 / Gtk1 + kaoriya + im_custom
kaoriyaやim_customを使いたいため、手動(=portsじゃない)インストールです。
長文ですが御報告まで。
858 :
名無しさん@お腹いっぱい:03/11/13 00:30
そろそろEmacs使ったら
emacs の方から来ました。
お宅の消火器確認させて下さい。
emacs の方の中の人も大変だな
emacas の方から日本語入力の検査にまいりますた。
もし Vim がシェアウェアだったならば、いくらまでなら払うよ?
>>863 原版で$15
日本語HELPや香り屋パッチやChaliceやらまで込みなら$30
>>863 他の free な vi クローンに乗り換える。
vimスクリプトの実体はシェルですか?
ここでAAを語尾に張ったり、ゴミレスしてる屑ずーり基地は最悪板へ帰れ。
スクリプトの実態がシェル?はて?
行の最後にAAらしきものを貼ってる
>>844はキチガイですか、そうですか。
メーリングリストが死んでなかったようでうれしい。
>>775 のようなことが書いてあっても、ちゃんと投稿がないと信じていいのかわからない。
投稿すればいいじゃん。
秀丸から乗り換えたんですがvimでShift + カーソルで選択するにはどこを設定すればよいでしょうか。
あと、HTMLなどを編集しているのですがDreamweaverとの兼ね合いでインデントをスペース二つにしたいのですが
vimだとどうしてもタブが自動的に入ってしまうようです。
これもどこかで設定できるのでしょうか。
ただ、HTMLの中のJavaScriptの記述の部分だけはタブにしたいというちょっと我が儘な注文なんですけどw
それから、JavaScriptを書いている時に自分は
if (flag) {
count += 2;
} else {
count++;
}
見たいに書くんですけどvimでこういうふうに記述すると
if (flag) {
count += 2;
} else {
count++;
}
こうなってしまいます。
これも設定できるのでしょうか。
質問ばかりで申し訳御座いません。
>>878 :set smartindent
とか.
>>878 >Shift + カーソルで選択する
vimのちょー基本。
コマンドモードで v 押してカーソル移動。
ちなみに ctrl+v だと箱型選択。
>インデントをスペース二つ
こっちはvi全般の基本。
:set tabstop=4 expandtab
>>880 > >インデントをスペース二つ
> こっちはvi全般の基本。
> :set tabstop=4 expandtab
tabstop=2でしょ?
むしろshiftwidth=2
既に tab で入力されているのを space に戻すには
set expandtab して retab。
なんで、shiftwidthなんだよ(w
>>884あ、ごめんsofttabstop=2だった。ちなみに自分は
:set ts=8 sts=2 sw=2 noet
がお気に入り
>>879 :set smartindent では思ったような挙動になりませんでした。
>>880 もちろん、v での選択は知っているのですが、Windows 環境で作業をしているもので
Dreamweaver や メール Office などを同時に使うことが多く統一的な操作法として
Shift + カーソルによる選択も出来るようにならないかなと。
あとは興味ですね。
Vimで果たしてこういう割り当てが出来るのかという。
>>880>>881 それだと HTML に含まれる JavaScript の方にも影響が出ませんか?
それからインデントの処理がどの設定ファイルで行われているのか設定ファイルを
いろいろ覗いてみたのですがどれが該当の物か解りませんでした。
ftplugin と syntax は見てみたのですが・・・
で、設定ファイルを覗いてみて思ったんですが設定がもの凄く難しいと言うことでした。
自分はプログラマじゃないのでさらにそれを感じたのかもしれません。
とりあえず、
>>2-3のリンクを端から当たっていこうと思います。
負けで良いよ。別に。
そうですか(w
まあ実際のところこうなると反論できませんしね(w
皆さんのvimの日本語環境が気になります
特にskkの導入手順の詳細を逐一ご教授下されば本望です(^^;
日本語環境ねえ
WindowsではVim+VJE+MSゴシック
LinuxではVim+VJE+リコーゴシック
Vimだからって特に何か設定することなど無い。
他のアプリとまったく同様に使ってるだけ。
skkとやらは知らないけど特別な導入手順とかが必要なのか?
>>891 > Vimだからって特に何か設定することなど無い。
俺は iminsert, imsearch と,IME オンの時にカーソル色が変わるように
highlight は設定してる.
> skkとやらは知らないけど特別な導入手順とかが必要なのか?
im_custom 入れれば終わりだと思う.
>>886 > 秀丸から乗り換えたんですがvimでShift + カーソルで選択するにはどこを設定すればよいでしょうか。
:behave mswin
他にも代わってしまうマッピングがありますから
:e $VIMRUNTIME/mswin.vim
を参考に必要なものを抜き出すと良いでしょう。
> あと、HTMLなどを編集しているのですがDreamweaverとの兼ね合いでインデントをスペース二つにしたいのですが
:set ts=2 sts=2 sw=2 et
> ただ、HTMLの中のJavaScriptの記述の部分だけはタブにしたいというちょっと我が儘な注文なんですけどw
簡単にはできません。実現方法のロジックだけ紹介しておきます。autocmdでファイ
ル保存直前(BufWritePre)をフックして、<script>と</sript>の間をset noetしてか
ら:retabするようなスクリプトを書きます。
> それから、JavaScriptを書いている時に自分は …(以下略)
$VIMRUNTIME/indent/html.vimの制限によるものです。同ファイルを調べてご自分の
望むように修正してください。恐らく1行内の{と}の数だけを単純に調べて順番や文
脈は考えずにインデントの増減を計算しているのでしょう。そのため{と}があるとイ
ンデントは前行と同じと計算しているのだとすれば}else{が深くなってしまうことを
説明できます。
後ろ向きには書き方のスタイルを変える方法もあります。少なくとも
if (flags) {
count += 2;
}
else {
count++;
}
というように{と}を同じ行に書かないようにするだけでインデントは崩れません。行
指向エディタであるVimにとっては切り貼りしやすくなる副作用も付いてきます。
894 :
名無しさん@お腹いっぱい。:03/11/15 15:53
最近秀丸から移行して、gvimを使っていますが、「起動してからの修正」が
あった行の行番号表示を変えるような設定はありますか?
ソースを修正しつつ、タグジャンプなどでファイル間を移動する場合にも
修正しているところが確認できるようにしたいとです。vimでは
編集中のままでファイル間を移動できないようなので。
plug-inとかで対処できるということであればそれでも良いので教えて
ください。
>>894 >vimでは編集中のままでファイル間を移動できないようなので。
se hiddenしなさい。
>>894 > 最近秀丸から移行して、gvimを使っていますが、「起動してからの修正」が
> あった行の行番号表示を変えるような設定はありますか?
ありません。
> ソースを修正しつつ、タグジャンプなどでファイル間を移動する場合にも
> 修正しているところが確認できるようにしたいとです。vimでは
> 編集中のままでファイル間を移動できないようなので。
:splitや:stagを使ってください。
【徹底的】プログラマーが語るviとemacs 7【バトル】
http://pc.2ch.net/test/read.cgi/prog/1064605855/ 481 :仕様書無しさん :03/11/15 01:43
shell-modeが無い
プロポーショナルフォントが表示できない
スクリプトがショボイ
モードの概念でキー入力が多くなり遅い
gnuservのような物もないので起動が遅い
メジャーモード、マイナーモードというようなモードの組合せが出来ない
画像が扱えない
差がつくねぇ
482 :仕様書無しさん :03/11/15 01:51
>>481 「イベントを取得できないからIRCクライアントが作れない」が抜けてるぞ!!
>>898 一度だけ言いますが、比較・フレーム系のスレの話題を専門スレに
持ち込むのはマナー違反です。
(´-`).。oO(荒らしに反応するヤシも荒らし…)
>>899 解っててやっている相手にそんなこと言っても。
洒落が効いてるねぇ・・・
それでもまぁ、KoRoN氏に動かれると話が大きくなるのでほどほどに
して頂きたい。
ごめんなさい
>>902 見たいけど見れない・・・
DivX5.02入っているんですけど最初のスプラッシュ画面しか見えません。
他の形式で上げられないでしょうか。
>>906 DivX5.1入れてみましたー
済みません初心者的質問なんですけどコマンドのリストが出て選んで実行するのがありますよね。
あれってどうやっているんですか?
>>907 q: もしくは :<C-F> です。他にも / についても同じことができます。
スローで見ると色々やっているのが判るかもしれません。
>>908 おぉー、スゴイ!!
出来ました。
> スローで見ると色々やっているのが判るかもしれません。
一応スローで見たんですが _| ̄|○
910 :
名無しさん@お腹いっぱい。:03/11/15 21:24
KoRoNさまが見てる
なんか挑戦的な……(w
Goodbye hogeはいただけかと・・・
いあ、エディタ論争もしくは嵐を呼び込みたいのならいいんでしょうけど・・・
s/いただけ/いただけない/
いいのか?エスカレートしかねないぞ?
916 :
名無しさん@お腹いっぱい。:03/11/15 22:02
>>917 最新版のCamStudioはSWFの吐き出しができなくなってます。
SWFを吐きたければRoboDemoを買えっていうことらしいです。
最終公開版であった2.0だとバグなのかライン欠けが起こるので見た目が美味しくありません。
批判しているヤツもいるが単純に面白かった。
でも、KoRoNさんってひょっとして普段テキストオブジェクト使ってない?
自分はあまり使わないんだよね。
だいたいbcwで済ませてしまう。
>>919 ()系オブジェクトは使うのでそこそこ指が慣れているんですが、同じオブジェクトでも
wは使ってませんね。だからいざ使おうとすると…ムービーでも慣れたbcwにしとけば良
かったですね。最近は""をテキストオブジェクトにしたいシーンが多いです。
>>920 マルチプラットホームで見るにはSWFが良いですよね。MNGは現状では無しの方向で。ビ
ジュアル的にショボイVimですがGIFの256色制限はキツイかもしれません。
>>906で紹介
したWinkならSWFが吐けるんで良いんですけど、フレームレートの調整にちょっと難が
ある感じです。でもチュートリアル系ムービーのオーサリングには最適です。これがフ
リーで公開されていることは実に驚きです。
>>921 > ジュアル的にショボイVimですがGIFの256色制限はキツイかもしれません。
>>906で紹介
> したWinkならSWFが吐けるんで良いんですけど、フレームレートの調整にちょっと難が
あ〜、よく読んでいませんでした。Winkですか、入れてみます。
>>921 > 最近は""をテキストオブジェクトにしたいシーンが多いです。
すごい偶然の一致。
これ今から要望だそうと思っていたんですよ。
(や{のテキストオブジェクトより使用頻度絶対に高いと思うんですよね。
MSの例のムービーじゃ無いですけど今後XMLがいろんなカタチで絡んでくるとさらに必要に迫られるかと。
F"ct"はやっぱり面倒ですし。
間違えた
T"ct"でした。
確かに text object 使わないな。
()だって()の中身って引数の場合がほとんどだと思うんだけど一つ消すならまだしも全部消す事なんてまず無いし。
{}も同じように全部消すことはあまり無い。
それに比べて""の中は消したくなることはかなりある。
欲しいね"" の text object。
omapが使えないですからソースコード弄らなきゃいけないんですが、マジメにやろうと
すると""オブジェクトの判定は厄介なんですよね。エスケープされていた場合や、1行
に複数の""があった場合、それから複数行に跨る場合も考えなきゃいけません。
エスケープ判断してくれなくて良いからほすぃ・・・
キーマップの問題もありました。""は良いとしても''や``はダメですね。
omapで実現できるならともかく、ソースコードを弄る以上はエスケープと
複数の""くらいはやりたいものです。
実現できそうならお願いいたしますです。
さっきからKoRoNさんのムービー何回もループしている私。
長編も欲しかったり(grepを使ったり画面割ってバッファ移動したりするヤツ)
>>893 お答えありがとうございます。
> :behave mswin
> 他にも代わってしまうマッピングがありますから
> :e $VIMRUNTIME/mswin.vim
> を参考に必要なものを抜き出すと良いでしょう。
中を覗いてみたんですけどShift + カーソルを設定している部分が見つけられませんでした。
とりあえず、一つずつ消して調べてみます。
> > ただ、HTMLの中のJavaScriptの記述の部分だけはタブにしたいというちょっと我が儘な注文なんですけどw
> 簡単にはできません。実現方法のロジックだけ紹介しておきます。autocmdでファイ
> ル保存直前(BufWritePre)をフックして、<script>と</sript>の間をset noetしてか
> ら:retabするようなスクリプトを書きます。
保存時に変換するしか手がないみたいですね。
文章中のタブも変換されてしまいそうですし、編集時に反映されていないのでこれは諦めます。
とりあえず、HTMLの自動インデントを外して対処と言うことで。
> 後ろ向きには書き方のスタイルを変える方法もあります。
もう馴れてしまっているのと見た目でifの連なりが認識しずらいと言う点でこれもまた諦めます。
いろいろと我が儘な注文失礼いたしました。
もう少し詳しくなってから再度疑問・質問などをお伺いさせて頂きます。
人がエディタ操作してるのを見るのはなかなか面白いな。
vim6.1(RedhatLinux 7.3についてきたもの)を使っていますが、
C言語などのソースを編集しているときの入力モードにおけるCTRL+Hの振る舞いが
私の希望と異なり困っています。
入力モードでCTRL+H を押すと、BackSpace的動作(つまりカーソル位置の左の文字を消してカーソルが1文字左に移動)ではなくて
なぜかDEL的動作(つまりカーソル位置の文字を消す. vi でなら x的動作の方が的確な説明でしょうか)になってしまう。
私としてはCTRL+H は素のvi同様にBSの様な動作になって欲しいのですがどうしたらこれを変えられるでしょうか?
また、なぜこうなってしまったのでしょうか?
"noremap ? ^H
"noremap! ? ^H
"noremap <BS> ^H
"noremap! <BS> ^H
>>934様
ありがとうございました.
自分でも理解できていないのですが,
:noremap! <BS> ^H
で無事希望の設定に変更できました.
(入力開始位置はもちろん, 前の行までBSが有効になってしまったりと微妙に
希望とはずれていますがほぼ希望通りです)
remap もよく分かっていないので(:help remapもよく分からない)もう少し勉強しています.
入力モードにおける設定は map じゃなくて ab の様な気もしますが..
>>935 自己レス
:map! で 入力モードまでmapできるのですね。不勉強でした。
DivX落としてきて、見れたのですが、かなりきたなくてよくわかりませんでした。
圧縮してないファイルも上げてもらえないでしょうか?
>>939 オリジナルはもう消しちゃいました。あしからず。
…ところで判読不能なほど汚いかしら?
] で終わる行をすべて削除するにはどうすればいいのですか?
:g/]$/d
:g/]$/d
>>938 エスケープの種類を設定できると使い勝手が良いんですけど。
\" とか "" とか言語によって違う場合もあるので。
もしくは、filetypeによってエスケープを自動判別とかですね
自動判別しつつ設定も可能だと、よりカコイイですが
設定可能にしておけばあとはftpluginの方で対応できるでしょう。
>>943 サンクスコ
% とか改行記号は使わなくてもできるんですね。
知らんかった。
vimって結局Emacsみたいなエディタなんですか?
そろそろ新スレの時期ですね。
これは便利そう。
バイナリ配布が待ち遠しいです。
>>950 エスケープ複数指定は出来ませんか?
cgi系のコード書いている時は結構混ざるんで。
>>951 …950踏んじゃってた…
>>953 :set quoteescape=\\\"
とかしてみましたか?
>>954 試せる環境に居ないので試していませんでした。
すみません。
netupvimに
>>950のパッチを当てたバイナリをアップロードしました。
>>958 キタ━━━(゚∀゚)━( ゚∀)━( ゚)━( )━( )━(゚ )━(∀゚ )━(゚∀゚)━━━!!
>>958 ヴィジュアルモードは実装していないとのことですが今後の実装予定はありますか?
KoRoNさんのデモみたいに
printf("Hello, world!\n");
となっている場合 vi" で""内を選択、hhh で左に選択範囲を狭めて \n だけ残して c とか
したい場合があるんで出来れば実装してもらいたいです。
>>960 selectモードの挙動は未実装なのでおかしくなるかもしれませんが、visualモードに
ついては手元のバージョンでは実装されてます。
>>961 速いお仕事感謝です。
安心しました。
selectモードは使っていないのでこの際どうでも良いとか思ったりしてw
今開いているファイルの文字コードを指定して書き直すにはどうしたらいいんですか?
具体的には、
windowsでeuc-jpをcp932と誤判定しているファイルを
:e ++enc=euc-jp file で開きなおしてもcp932のまま開かれてしまう。
という状態です。
>>963 正確にはeuc-jpとして不正な文字があるために開けないのでcp932になってしまってい
るか、KaoriYa版を使っている場合にはeuc-jpで開けはするがcp932として解釈可能であ
るが故にverifyenc.vimがcp932に補正してしまっているかです。前者であれば文字化け
で読めない文字が存在するはずです。後者であれば文字化けは発生しません。
対症法としては前者の場合++enc=euc-jisx0213で開いてみる方法があります。これで開
けないようであればVimでは編集できないファイルということになります。そのような
ケースでは大概たった1文字が原因となっていますのでiconv.exeを使ってその文字を特
定して消すなどの処置をとることになります。nkfやqkcを使ってcp932に予め変換して
しまうという方法もありますが、根本的な解決にはならないかもしれません。
後者ならば:VerifyEnc offとしてから再度開き直してみてください。
>>963 あ、肝心なところに答えてませんでした。
文字コードを指定して(例ではeuc-jp)保存するならば、ファイルを開いた状態で
:set fenc=euc-jp
してから:wです。
今日、i"とか使ってみた。
ibとかより使用頻度高くなりそう。便利だった。
>>965 便乗なんですけど改行コードを統一したい場合どうしたら良いでしょうか。
たまに\r\nのファイルに\nだけとか\rだけとかその逆があったりして面倒で・・・
:%s/\n$/\r\nとか(適当に書いたのであっているかどうか解らない)で置換するしかないのでしょうか。
それから"のテキストオブジェクト凄く便利でした。
なるほど、不正な文字ですか。
了解しました。
>>967 :set ff=unix
とか
:set ff=dos
などはどう?
誤判定されたファイルだと、set fencにも失敗しますね・・・
ちなみに、このファイルをeucと判定されるエディタで無変更のまま保存しなおして、
diffとったりすると、違う箇所が出てきます(w
しかし、その保存しなおしたファイルをvimで開いてもまだ誤判定されます。
さらに、そのファイルをlinux上で正常に開くことはできます(ように見えているだけかな?)。
改行文字が混在してる場合は :s で消すしかないんじゃない?
統一させるだけなら、エディタよりperlなどに頼った方がいいかも。
"s/\x0D\x0A|\x0D|\x0A/\n/g;"
混ざっていると大概はff=unixになるので
:%s/\r\n\?/\r/g
でどうでしょう
nkf で(ry
なるほど。
そうすると、:set ff=unix して :%s/\r//g とかやってもいいんですか?
>>979 そうするとMac改行が混ざっていた時に一行へ連結されちゃいますが、それが望む動作であれば可です。
たしかに、そうですね。
勉強になりました。
C Magazineに、Vimの本が出るとか書いてあったのだが、
>>979 \r\r\nまで混ざっていました・・・
デザイン会社が作ってくるHTMLなんてこんなモノですw
とりあえず、:set ff=unixすると\r\r\nが\r\nになるのでそれからKoRoNさんの
:%s/\r\n\?/\r/gで変換します。
でも、これvimじゃなくフィルター通した方が良いですねw
お騒がせいたしました。
>>986 それって 5.* がベースになってたような。
988 :
名無しさん@Vim%Chalice:03/11/19 09:49
いままでターミナルでvimを使ってたんですけど,
いろんなcolorテーマを使いたくてgvimを使い始めました.
で, いきなり問題にぶちあたったんですけど,
iとか/しかときにいきなり日本語入力モードになってるのは
どうにかできませんか?
さらに, その状態からShift+spaceで日本語入力を切る→Esc
とすると, 今後iや/で日本語を使おうと思っても
Shift+spaceが効かなくなるんですが…
>>988 > iとか/しかときにいきなり日本語入力モードになってるのは
> どうにかできませんか?
.gvimrcの中で:set imi=0 ims=0としてください。
> とすると, 今後iや/で日本語を使おうと思っても
> Shift+spaceが効かなくなるんですが…
この先は使っているIMやツールキットのバージョンに拠るのですが、とりあえずimak
を設定してみてください。
:set imak=s-space
とりあえず `:se imd' しとき。
わっ、KoRoNさん速っ!
いきなり日本語入力モードなのは解決しました.
でも再び日本語入力モードにできないという問題は
解決できませんでした.
:set imak=s-spaceはエラーになるようです.
E474: Invalid argument: imak=s-space
日本語入力環境はCannaとkinput2です.
>>992 Vimのバージョンは幾つですか?
あと次の例のようにguiコマンドの後にimakを設定した場合はどうなりますか?
:gui
:set imak=s-space