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 フォントと組み合わせた場合に表示が崩れます。 詳しくはこちらの記事をご覧下さい。
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 でも十分ではないかと思います。
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つになると思います。
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
