noliaquiの日記

2009-06-25

Mac ユーザになったはいいが

21:30

どうやら Vim からことえりを制御する方法が無いらしい。これは不便。

やりたい事は「ノーマルモードに入ったら必ず日本語入力から抜ける」ってだけなのだけれどもなあ。

2008-07-06

autocomplpop.vim と python で挙動不審になる

09:49

GVim7.1(KaoriYaさんでビルドされたもの)+autocomplpopでエラーが頻発します。

NameError: name 'vimcomplete' is not defined

とかこんな感じです。

ほかにも「name 'vimcomplete' is not defined」とか言われてるので、autocomplpop の問題とかでは無さそう。

うーん。

f:id:noliaqui:20080706095945p:image

こんな具合で、色々と怒られる感じです。

上の方を見るとおなじみの python のエラーメッセージで、「tokenize なんてモジュールはないよ」と怒られてる感じですよね。

解決しました

試しに :python import os とかやってみても怒られるような有様だったので、「たぶんライブラリのパスが分かんないんだろうな」と適当に憶測して、python 側の import のルールをちゃんと見直してみると、どうやら環境変数 PYTHONPATH を設定しなきゃ駄目なようでした。

なので PYTHONPATH にライブラリが入ったディレクトリを指定してあげるとちゃんとライブラリを見つけられるようになって、エラーも出なくなりました。めでたし。

ButchButch2011/11/23 15:30A million tahkns for posting this information.

uyperzubfbuyperzubfb2011/12/01 02:18yNHWC2 <a href="http://advqabwznxzz.com/">advqabwznxzz</a>

xjzyhziaxjzyhzia2011/12/05 02:00rtmAlB , [url=http://zafgploermfs.com/]zafgploermfs[/url], [link=http://fzghfrifaxck.com/]fzghfrifaxck[/link], http://ovjcwuoergry.com/

2008-07-04

外見のカスタマイズなど

03:58

例によって KaoriYa さんの所で配布されている Vim7.1 を前回の記事に従って内部 utf-8 化した状態を基準に書いています。他の環境、特に内部 utf-8 でない場合、上手くいかないと思います。

やりたいこと

今回の目標は「TAB や行末記号などを、モダンなエディタみたいにイカす記号で表示したい!」とかそんな感じです。Vim はデフォルトの状態だと、行末に $ を表示してくれるのですが、やっぱりもうちょっと綺麗な表示にしたいというのが正直なところです。なので、色々と弄ってみることにしました。

非 ASCII 文字を装飾のために使う

なんか何日間か上手くいかずにウジウジとやっていたのですが、きっと誰しも経験するような、そして後に繋がらないようなことを延々と書いてもしょうがないので、やり方を簡単にまとめてみます。

gvimrc にこんな具合で書くとどうやら上手くいくようです(内部 Unicode な場合のみ)。同じ事を vimrc でやっても、表示させたい記号が 0xFF よりも後ろにあった場合になんかエラーが出て怒られました。

exe "set list listchars=tab:\<Char-0xBB>\<Char-0xA0>,eol:\<Char-0x21b2>"

BearBear2011/11/23 13:40Woot, I will cretainly put this to good use!

zwqrbpgzwqrbpg2011/11/24 19:07IdKuKo <a href="http://kyysyhvqbyhg.com/">kyysyhvqbyhg</a>

pxwheoapxwheoa2011/11/25 00:22oqkUIQ , [url=http://yrbchbaidkmh.com/]yrbchbaidkmh[/url], [link=http://shpwfdwixrbv.com/]shpwfdwixrbv[/link], http://kebbokaehndr.com/

cnmmyycsucnmmyycsu2011/12/01 02:3310lHsd <a href="http://txhwfhsibbuc.com/">txhwfhsibbuc</a>

cphxmodqsecphxmodqse2011/12/04 23:46Cci88i , [url=http://fztyvvxxbbab.com/]fztyvvxxbbab[/url], [link=http://ddcqqcqtfkyr.com/]ddcqqcqtfkyr[/link], http://krpxcmpqudnx.com/

2008-06-15

導入と Unicode 化の手順

07:32

KaoriYa さんの所で配布されている Vim7.1 を基準に書いています。オフィシャルでハイフされている Vim だともうちょっと沢山手順を踏まなきゃいけないんじゃないかと思います。まだ良く分かっていない部分が多いので的外れな事を書いているかも知れないです。なにか間違いに気付いた方がいたら、優しく教えて貰えると嬉しいです。

その1 内部文字コードを Unicode にする

KaoriYa さんのところで配布されている Vim の設定は、データを Shift-JIS で保持するようになっています。もちろんファイルの読み込みの時に文字コードを判定して適切に処理してくれるのですが、例えば utf-8 なテキストを Vim で開いて保存した場合、以下のような流れでデータが変換されているらしいです:

  1. 読み込み時にデータを Shift-JIS に変換(この時点で Unicode に存在するけど Shift-JIS には存在しない文字が脱落)
  2. Shift-JIS なバッファを編集(このときに Unicode にしか存在しない文字を使うと、全部「?」で置換されてしまう)
  3. 保存する時に Shift-JIS なデータを再度 utf-8 に変換してファイルへ書き出し

つまり、KaoriYa さんのところで配布されている Vim は、デフォルトのままだと unicode 固有の文字を一切使えない状態らしいのです。そうなっている理由が KaoriYa さんの所に書いてあって、確かにデフォルトの設定としてはそちらの方が良いかなと思うのですが、自分は unicode のハートマークとかを使いたいので、内部でも unicode として扱って欲しいのです。なのでそのようにカスタマイズすべく、主に google 先生に質問をしつ調べてみて「一応上手くいった」というのが以下の手順です。

  • vimrc と gvimrc の両方に「encoding=utf-8」の記述を追加(この時点で内部 unicode 化は完了。ただしメニューの文字などがバケバケに)
  • メニューに使う設定を強制的に「ja-jp.utf-8.vim」に変更する

コレで少なくとも外見上は全く問題なくなりました。試しに Vim から unicode 固有の記号を使ったファイルを作成してみて、それを utf-8 で保存して他のソフトで読み込んでみましたが、問題はありませんでした。

ka-nachtka-nacht2008/06/18 00:55理解も手順もそれで合ってますよ。補足すると、
- Vim内部で取り扱う文字列のエンコーディングは'encoding'で決まる。
- 'encoding'はVimの実行中に変更できるが、既にVim内部にある文字列のエンコーディングは変換されずそのままになる。結果として'encoding'を変更すると変更前のエンコーディングの文字列を変更後のエンコーディングとして解釈しようとして文字化けする(メニューの文字が化ける原因はこれ)。
なおgvimrcはGUI版固有の設定を記述すべきファイルなので、'encoding'関連の設定は追加する必要はありません。

FrancescaFrancesca2012/03/25 19:33Now I feel stupid. That's celread it up for me

iawkpgbjciawkpgbjc2012/03/27 18:35RgmSIT <a href="http://esubbavbflmf.com/">esubbavbflmf</a>

leaitwupoleaitwupo2012/03/27 22:274lFs8g , [url=http://chpbftbliyzn.com/]chpbftbliyzn[/url], [link=http://rztxkzcuxxao.com/]rztxkzcuxxao[/link], http://jglczbvlhnbh.com/