Vim6 Part6
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNGhttp://www.vim.org/
前スレ
http://pc.2ch.net/test/read.cgi/unix/1045365370/
関連情報は>>2-6あたり。
0652名無しさん@お腹いっぱい。
NGNGとは違う話?(これだと指定桁でなく画面幅だけど)
0653名無しさん@お腹いっぱい。
NGNG0654名無しさん@お腹いっぱい。
NGNG違う話.
>653
linebreakてのはbreakatで決めた文字のところで折り返すってことしかできないよね?
set breakat=76とかあほなこと書いたらやっぱり無視されたよ.
0655
NGNG"a"の変わりに"i"を押してしまい、カーソルを1文字ずらしたい時、Escしてやりなおすのが普通なの
でしょうか?
カーソルキーをつかう、:help emacs-keys のどちらも ? な気がしまして…。
vim使いの方、アドバイスお願いします。
0656名無しさん@お腹いっぱい。
NGNG:source! ~/.gvimrc
ってやったら
:r ~/.gvimrc
と同じことが起きてしまったんだが、なぜだ?
設定をRELOADしたいのだが。
ちなみに
:source ~/.gvimrc
では何も起きなかった(ように見えた)。
>>655
漏れはカーソルキー使うのは邪道だと思うのでescを使ってます。
0657名無しさん@お腹いっぱい。
NGNG<C-O>使う手もあるよ
ESC使うのとストローク数は変わらんけど
0658KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG数文字程度なら同じ文字を打ち込んで、続けて全部書いてからダブった分を消します。
>>656
> These are commands that are executed from Normal mode, like you type them.
ヘルプより引用。
0659655
NGNGありがとうございました。今夜も頑張ってつかってみます。
0660名無しさん@お腹いっぱい。
NGNGカーソルキーを使う方が楽だと思う。
また (Shift または Ctrl+)カーソルキーに なにかマップするのも意外と便利。
vim とカーソルキーは相性いいと思うよ。
0661名無しさん@お腹いっぱい。
NGNG{
}このように}を入力すると、インデントが1段戻る。
このとき}を押してすぐにEscでノーマルモードに抜けようとすると、
インサートモードのままになることがある。だからよく
{
}:w
とまぬけなことになってしまう。indent/java.vimの処理が遅いの
かな?
0662名無しさん@お腹いっぱい。
NGNG> カーソルキーを使う方が楽だと思う。
慣れの問題が一番だと思うのですが、
そこさえクリアできたらやはり hjkl の方が近くて楽のように思います。
また慣れてない人にはカーソルキーの方が直感的で
使いやすいかも知れないけど。
vi は、慣れてくると hjkl は微調整の時以外あまり使わずに
移動するようになるので(^F, ^D, M, w, f など使って)、
そういう意味でも hjkl ですばやく移動できることは大切だと思う。
ww← とやるより wwh の方が楽でしょ。
0663へぇ〜
NGNG0664KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG:set indentexpr&
して再発しなければそのとおりですが、しないようならばescの押し込みが甘いとい
うことになるでしょう。一度入力バッファに貯められたキーがindentexpr内で食われ
てしまうというのは、よっぽど意図的にそう書かない限り起こるとは考えにくいで
す。となるとやはりescが押されていないと考えるのが自然なんです。
0665名無しさん@お腹いっぱい。
NGNGてか、ホームポジションから手を離す時点で有り得ない選択ですよね、
カーソルキーは。
まあ、5ストロークくらい節約出来るのならアリかもしれないけど。。。
0667名無しさん@お腹いっぱい。
NGNGそこに効率だの直感だのは存在し得ない。
0668名無しさん@お腹いっぱい。
NGNG0669名無しさん@お腹いっぱい。
NGNGまあ、ここにおられるような方は、キーマップもいじってらっしゃることでしょう。
0670名無しさん@お腹いっぱい。
NGNG0671名無しさん@お腹いっぱい。
NGNGふつー Ctrl-[ でしょ。
0672KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG>>669 私はキーマップしない派です。
0673KoRoN@Vim%Chalice ◆8XALICEsdk
NGNGmapとの相性の可能性を忘れてました。indentexprは弄らずに
:imapc
:nmapc
などとしてmapを消して再発するかを確認してみてください。
0674名無しさん@お腹いっぱい。
NGNGいや、上記の例でインサートモードなのに右に一文字移動したいなっていう時だったら
<ESC>la より <RIGHT> の方が楽じゃないかなってこと。
0675名無しさん@お腹いっぱい。
NGNGああ、あと余程キーボードが小さいor手が大きくて
jに人差指置いたまま→に小指が届くとかなら別かも
0676名無しさん@お腹いっぱい。
NGNG0677666
NGNG環境は
redhat{8,9} + {xterm,kterm,mlterm} + {vim6.1(/usr/bin/vim),vim6.2.69}
です。gvimでは再現できないようです。
:imapc :nmapcをしてみましたが、再発しました。
0678KoRoN@Vim%Chalice ◆8XALICEsdk
NGNGこちらはsshでFreeBSD 5.0上のVim 6.2.69に繋いでshowmatchを設定してmatchtimeを
長めにとってみたりしましたが、再現できていません。
> Escでノーマルモードに抜けようとすると、
ってありますけど、どのくらいのタイミングなんでしょうかね
0679名無しさん@お腹いっぱい。
NGNG0680666
NGNGvim -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は再現しませんでした。
0681KoRoN@Vim%Chalice ◆8XALICEsdk
NGNGども。バッチリ再現しました。自分の環境ではESC押してから2秒以内くらいであれば、
何回でも発生することが確認できました。ちなみにWinのvim.exeでは再現できません
でした。時間を取って調査してみましょう。
0682名無しさん@お腹いっぱい。
NGNG<M-1>は効いてるんですけど、<C-1>だと効かないんですよ。
0683名無しさん@お腹いっぱい。
NGNGあっ、俺と一緒。
ちなみに変換にはShift割り当ててる。
0684名無しさん@お腹いっぱい。
NGNGバグ直ったかな
0685名無しさん@Vim%Chalice
NGNGmattnさんにお呼びがかかっております〜
http://pc.2ch.net/test/read.cgi/unix/1043606156/
さすがにVim6板は見てるかな?
0686名無しさん@お腹いっぱい。
NGNGいや,多分使わないとは思うんですけどね
0687名無しさん@お腹いっぱい。
NGNG:registersのことか?
0688名無しさん@お腹いっぱい。
NGNGオプション変数の値をバッファに出すには?
:opt[ions] で全オプションを出して
そこからヤンペするのは思い付いたんだが
0689KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG0690688
NGNGありがd
既存の機能をいかに応用するかってことだぁね。
思い付くまでには知識のみならず、それらを応用できる経験が必要だろうけども。
:help expr-option の例を読むとスクリプトやコマンドラインで使うことは思い付いても
それを i_CTRL-R と組合せる所までは気付きにくいよね…
0691名無しさん@お腹いっぱい。
NGNG0692KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG0693名無しさん@お腹いっぱい。
NGNGかーそーるが半角になり表示も変になる。(詳しく書くと)
gvim6.2.63〜121ずっと直っていない。
0694名無しさん@お腹いっぱい。
NGNG0695名無しさん@お腹いっぱい。
NGNG板違い
0696名無しさん@お腹いっぱい。
NGNGさすがにそれはあんまりだろ。
まあ細かい使用環境がわからないままでは単なるゴミカキコだけど。
0697名無しさん@お腹いっぱい。
NGNG自分もDebian sidでカーソル関係のバグに悩まされとるけど、
ここで聴くようなことじゃないな。
0698KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG:set enc? ambiwidth?
して結果を教えてください。
体育館で自らヨコチンを曝け出し、「汚い」「触るな」と虐められ泣かされていた。
「先生。○○君がヨコチン大使って言うねん」と朝の会で皆の前で泣きじゃくっていた。
彼はまるで銀幕スターだった。銀シャリが食べたい。
0700名無しさん@お腹いっぱい。
NGNG今日は、:HDensityという謎のコマンド見つけますた。
元に戻すのは多分、:NDensity
0701名無しさん@お腹いっぱい。
NGNGありがとございます。
0702名無しさん@お腹いっぱい。
NGNGばぐではないだろうか。
0703名無しさん@お腹いっぱい。
NGNG0704mattn@Chalice%Vim
NGNGこれらを取得する方法は2通りあり、1点目はGUIの描画ロジックから取得できるか
と思います。(未実装です)
2点目は文字コードに対して固定的に割当てられていて、その実装はアジア圏とそう
でない地域によって異なります。それを制御するのがこの ambiwidth です。つまり
ある文字に対して、その幅が全角であって欲しい人と半角であって欲しい人が世界に
2通りいることになります。
日本語圏であれば初期設定で ambiwidth=double しておけば問題になることはないか
と思います。
1点目についてはニーズがあれば機能拡張したいと思っています。
(香り屋版 ambiwidth=auto を参考に GTK で実装します)
ただしCUIに関して自動で判別する方法は、いまのところ実装が難しいと思われます。
なぜかというと、encoding=utf-8 上で、どちらになるかの判断材料が環境変数くら
いしかなく、それを使用したとしても、どうしてもハードコーディングにならざるを
得ないのが問題になります。
0705名無しさん@お腹いっぱい。
NGNG同じにするにはどうすればいいですか?
:cd でフルパス打っていくのが面倒なんですが.
0706KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG一番簡単なのは :cd %:p:h を実行することです。%は現在のバッファを意味していま
す。:p:hはそれぞれフルパスにする、パスの最後の要素を取り除くという意味になり
ますが、詳細は :help expand() を参照してください。
香り屋版ではこれを :CdCurrent という名前のコマンドとして定義しています。
command! -nargs=0 CdCurrent cd %:p:h
0707705
NGNG0708KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG実装してみました。インサートモードに入ったときにカーソルの前後にMB文字があれば
IMをON、なければOFFにするというものです。実装方法としては、インサートモード突
入時に呼ばれるautocmdのInsmodEnterイベントを新しく作成し、そこからスクリプトを
呼び出してMB文字の判定をするというものです。
http://www.kaoriya.net/testdir/smart_im.tar.bz2
このアーカイブにはパッチ、スクリプト、Windows用バイナリが入っています。手っ取
り早く試すにはgvim.exeと同じ場所にバイナリを置いて実行し、同梱のスクリプトを
sourceすれば良いです。あとは適当な日本語英語混在ファイルを開いて試してみてくだ
さい。
またInsmodEnterに何か他の使い道があるかもしれません。アイデアがある方は是非提
案してください。場合によってはそれを持ってvim-devの方にInsmodEnterをプッシュし
ます。
0709名無しさん@お腹いっぱい。
NGNG> またInsmodEnterに何か他の使い道があるかもしれません。
> アイデアがある方は是非提案してください。
vim online かどこかでinsertモードになったら背景色を変える
といったスクリプトを見たことがあるな。
あれは確かiやaなどをmappingしてhighlightを変えていたが。
この手の需要に答えられるのでは?
0710709
NGNGInsModEnterがあるならInsModExitも有った方がよいかと。
0711KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG0712名無しさん@お腹いっぱい。
NGNGその折り返し以降の部分も同じようにインデントされているように
見えるようにすることってできますか?
0713KoRoN@Vim%Chalice ◆8XALICEsdk
NGNGできません。代わりと言っては何ですが :set showbreak=>>> のようにすると折り返さ
れた行がマーキングされます。 :help showbreak
0714名無しさん@お腹いっぱい。
NGNGありがとうございます.
0715名無しさん@お腹いっぱい。
NGNGKaoriya版Gvimと一緒に使うと、.viminfoでなんかオキソーナ予感。
0716KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG私もPanther導入しました。貧弱なiBookのグラフィック周りが使い物になるほど速く
なってご機嫌です。確かにVim 6.2無パッチCUI版が入ってますね。Panther用バイナ
リを配布する際はそれも考慮しましょう。
0717名無しさん@Vim%Chalice
NGNG具体的には値を
'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
となってます.
なんかとんでもなく勘違いしてますかね?
0718名無しさん@お腹いっぱい。
NGNGさしあたり重大な勘違い
0719名無しさん@お腹いっぱい。
NGNG何をして何をしてないのかがあまりに曖昧なので超能力者でもないと
的確なコメントは不可能だろうが…。
0720717
NGNGすみません.
エラーメッセージは以下の通りです.
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
0721KoRoN@Vim%Chalice ◆8XALICEsdk
NGNGその形式で指定するならば多分gfsを使わなきゃダメ。GTK2時の設定は知りません。
:set guifontset=mplus_j10r-iso,mplus_j10r-jisx,mplus_j10r
0722名無しさん@お腹いっぱい。
NGNGなんか、
let format_allow_over_tw = 0" ぶら下り可能幅
let format_join_spaces = 2
な環境で、日本語たらたらと打って、gqしても、ほとんどぐちゃぐちゃになってしまいます。
どうしたらいいのでしょうか?
0723KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG:set formatoptions+=m
しても上手く動かないようならば、使っているVimのバージョンとOSを教えてください。
ちなみに私は使えています。最新のVim+format.vimではformat_join_spacesは廃止にな
り、代わりにformatoptionsのMもしくはBフラグによって制御されるようになっています。
0724名無しさん@お腹いっぱい。
NGNGどうしたらいいですか?
キーマップのヘルプ読んでもわかりませんでした(x_x;
0725かっいいぞ・・・
NGNGあんたたちは英雄だ!! 今その事実知ったおれを許してくれ・・
すまなかった そして ありがとう(・∀・)!
0726名無しさん@お腹いっぱい。
NGNG:ino <C-J> <NOP>
0727名無しさん@お腹いっぱい。
NGNGうまくいきました、ありがとうございます(・∀・)。
0729名無しさん@お腹いっぱい。
NGNG>uim-skkでの入力
skk.vimだけでskk日本語・漢字できるの?
つまりskk.elなしでできるの?
0730名無しさん@お腹いっぱい。
NGNG0731名無しさん@お腹いっぱい。
NGNGemacs常用の人は、uimあんまりほしがらんかもな。
0732名無しさん@お腹いっぱい。
NGNG0733名無しさん@お腹いっぱい。
NGNG誰かGTK環境のgvimとskkinputで正しく使えてる人の
(g)vimrc見せてくれ〜
ヽ(`Д´)ノウワァァァン
0734名無しさん@お腹いっぱい。
NGNG0735KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG素の6.2だと上手く動かないハズなので、最低限まっつんさんによるパッチを当てる
必要があります。
http://www.kaoriya.net/testdir/xim_fix0624.diff
なおこのパッチは香り屋版にも含まれています。その上で
http://www.kaoriya.net/testdir/mattn_gvimrc.vim
これを.gvimrcとして試してください。
0736名無しさん@お腹いっぱい。
NGNGskkinputといっても2だったり3だったりするし
0737名無しさん@お腹いっぱい。
NGNG頼む・・・!
0738名無しさん@お腹いっぱい。
NGNG0739mattn@Chalice%Vim
NGNG* 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 を作って
しまおうという無茶苦茶なプロジェクトで
こちらは問題が山済みです。
設定はありません。
0740名無しさん@お腹いっぱい。
NGNG「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 経由でインスコ
0741名無しさん@お腹いっぱい。
NGNG0742名無しさん@お腹いっぱい。
NGNG0743名無しさん@Vim%Chalice
NGNGqkc -e して、/usr/local/share/vim/vimfiles/docs/ 以下にコピーしました。
めでたく日本語板が見られるようになったのですが、
以前の英語のマニュアルを見る方法はありますか?
0744名無しさん@お腹いっぱい。
NGNG:ts
0745733
NGNG追加で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をコントロールできている人の設定を
参考までに教えて頂けないでしょうか。
よろしくお願いします。
0747名無しさん@お腹いっぱい。
NGNGset 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>で全角モードにしてなんとか
使ってるけど, そういうもの?
0748KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG自分はGTK2 + kinput2 3.1の組み合わせに
:set imak=s-space imi=0 ims=0
スタンダードな設定でうまく動きます。
ちなみに時々誤解を受けているようですが、imakは「IMのON/OFFに『使いたい』キー」
を設定するのではなく、「IMのONに『使っている』キー」を指定するのが本来の用法で
す。ただしこのあたりには色々複雑な事情が絡みあって混乱を生んでもいるのですが。
0749745
NGNGなるほど、確かにヘルプにもそう書いてありますね。
それで>>745の話題に戻ると、gvimrc的に「バックスラッシュ」の
記述は"backslash"で良いのでしょうか?
ところでGTK2ってgfsが設定できないので嫌じゃありません?
0750KoRoN@Vim%Chalice ◆8XALICEsdk
NGNGちょっと追ってみたのですが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を使うという手段もあります。
0751名無しさん@Vim%Chalice
NGNGわざわざありがとうございます。
もうちょっと調べてみます。
■ このスレッドは過去ログ倉庫に格納されています