まとめ ブログ ダウンロード 掲示板 メール

れぶろぐ

< 前月 翌月 > 最新


2009-04-08 (水)

Vim の環境設定

今までエディタは Emacs をメインに使っていたのですが、 最近、Vim を Linux にも Windows にもインストールして、積極的に使うようにしています。 少しずつ設定を見直しているので、まだ荒削りですが、メモも兼ねて現時点での設定をさらしておきます。

  • .vimrc
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,iso-2022-jp,euc-jp,cp932
set fileformat=unix
set fileformats=unix,dos
set ambiwidth=double

set list
set listchars=tab:>\ ,trail:\ 
set smartindent

set laststatus=2
set statusline=%f\ %{'['.(&fenc!=''?&fenc:&enc).','.&ff.']'}%m%r%h%w%=%l,%2v%6P

set mouse=a
set ttymouse=xterm2

filetype plugin on

set t_Co=256
syntax on
colorscheme wombat256

highlight JpSpace term=underline ctermbg=238
au BufRead,BufNew * match JpSpace / /

これは、

  • エンコーディング: UTF-8
  • 改行コード: LF

がデフォルトの設定になるようにしてあります。 fileencodings の順番は、

を参考にしています。


上記の .vimrc はどの環境で共通に使えていますが、 Windows ではさらにこんな .gvimrc も読み込ませて、 gvim のフォント設定などを行っています。

  • .gvimrc
set guifont=Terminal:h10:cSHIFTJIS
set guioptions-=T
set ambiwidth=double
colorscheme wombat256

カラースキームは、 wombat256.vim をインストールして使っていますが、 小さいフォントだと斜体の文字が見づらいので、 以下のように変更を加えてイタリックを無効にしています。

--- wombat256.vim.orig
+++ wombat256.vim
@@ -225,7 +225,7 @@
        endif
        if a:attr != ""
                if a:attr == 'italic'
-                       exec "hi ".a:group." gui=".a:attr." cterm=none"
+                       exec "hi ".a:group." gui=none cterm=none"
                else
                        exec "hi ".a:group." gui=".a:attr." cterm=".a:attr
                endif

(2009/04/09 追記)

.gvimrc にも set ambiwidth=double の設定を追加しました。 設定しないと ambiwidth=auto になるのですが、 それだと Terminal フォントと組み合わせた場合に表示が崩れます。 詳しくはこちらの記事をご覧下さい。

Tags: Vim | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink

2009-04-09 (木)

香り屋版 Vim の ambiwidth=auto の設定について

ambiwidth=auto に設定しているのに、全角の矢印が半角の幅で表示されたりしていたので、原因を調べてみました。

アーカイブに含まれている patches/0012-ambiwidth_auto.diff のパッチを見てみると、 使用するフォントによって動作が変わるようなコードになっています。 私は、小さくくっきりとしたフォントが好みなので、

set guifont=Terminal:h10:cSHIFTJIS

のように Terminal のフォントを指定していましたが、どうもこれがまずいようです。

  • 使用するフォントを Terminal 以外のものにする
  • .gvimrc で set ambiwidth=double に設定する

のいずれかの設定を行うと、きちんと全角で表示されるようになりました。 半角の矢印やギリシャ文字が混じった文章を編集することはないと思うので、 set ambiwidth=double でも十分ではないかと思います。

Tags: Vim | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink

2009-04-18 (土)

GParted でリサイズすると一部のファイル名が破壊される

Windows のCドライブが手狭になってきたため、 Ubuntu 8.04.1 の Live CD を使って、 GParted でパーティションのリサイズを行いました。 リサイズ自体は問題なくできたのですが、 しばらくして、一部のファイルやディレクトリの名前が 000 のように変わってしまい、 しかも Windows からはそのディレクトリにアクセスできなくなっていることに気付きました。

あわてて検索してみたところ、 FAT32 のパーティションを操作すると、日本語に非対応な dosfsck が呼び出され、 ファイル名が書き換えられてしまうとの情報を見つけました。 こうなってしまった場合には、次のようにすれば良いようです。

  • Windows 上で、各ドライブに対し chkdsk d: のようにして、壊れた箇所を調べる
  • Linux 上で、それらのファイルをリネームする
  • Windows 上で、各ドライブに対し chkdsk d: /F のようにして、修復を行う

結構手間がかかりましたが、確かにこれで元通りにすることができました。


ところで、今回、修復作業を行っている内に、 リネームされてしまうファイルの法則性が見えてきました。 例えば、こんな名前のファイルが壊されてしまっていました。

  • ソネット
  • 予感
  • タンポポ
  • ポーランド
  • 諫山実生

どうも、5C もしくは 7C というコードを含む文字(いわゆるシフト JIS のダメ文字) がファイル名に含まれているとまずいようです。

逆に言うと、元のファイル名にはこういう文字が含まれていたはずなので、 もし復旧作業を行う羽目になった場合には、手がかりの1つになると思います。

Tags: Linux | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink

2009-04-20 (月)

スワップパーティションを作り直した後の作業

スワップパーティションを GParted でリサイズしたのですが、 その直後からスワップやハイバネートが効かなくなってしまいました。 どうすれば良いのか検索してみたところ、こういうページを見つけました。

自分用のメモとして、手順を以下にまとめておきます。

スワップパーティションの UUID を調べる。 (/dev/sda3 という部分は、各々の環境に合わせて変えること)

$ sudo vol_id /dev/sda3

以下のファイルに書かれている古い UUID を書き換える。

  • /etc/fstab
  • /etc/initramfs-tools/conf.d/resume

設定変更を有効にする。

$ sudo update-initramfs -u
Tags: Ubuntu | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink

追記