Vim Tips

提供: Akionux-wiki
Share/Save/Bookmark
移動: 案内検索

現在開いているファイルのパスを表示する

現在開いているファイルのパスを表示するには次の方法がある[1]

:echo @% 	def/my.txt 	directory/name of file
:echo expand('%:t') 	my.txt 	name of file ('tail')
:echo expand('%:p') 	/abc/def/my.txt 	full path
:echo expand('%:p:h') 	/abc/def 	directory containing file ('head') 

文字カウント

文字カウントをするには、v(一文字ずつ選択)またはV(行ごと選択)でカウントしたい領域を選択し、:で領域に対するコマンド入力をする状態に入り、s/./&/gと入力し、Enterを押す。 選択範囲内の文字をそれぞれ同じ文字で置き換えたことになるので、「<文字数>箇所置換しました」と表示され、少々トリッキーだがこれで文字数がカウントできる。

カウントした後はカウントされた文字がハイライトされてしまうが、

:noh

でハイライトを消すことができる[2]

スワップファイルを指定のディレクトリへ作るようにする

デフォルトではVimはスワップファイル(編集しているファイル名の後に~がついたファイル)が編集したファイルと同じディレクトリに作られるが、指定のディレクトリに置くには次のようにする。 例えば~/tmpに置くとして、ディレクトリを作っておく。

mkdir ~/tmp

~/.vimrcへ次の行を追加する[3]

set swapfile
set dir=~/tmp

ただしこれはUnix系での場合であり、Windowsの場合は2行目の部分を例えば

set dir=c:\\tmp

とする。

シンタックスハイライトするプログラミング言語を設定する

setfコマンドでハイライトするプログラミング言語を変えられる[4]

:setf  <言語名>

自動的に改行するのを防ぐ

編集中に行がある長さまでいくと勝手に改行してしまうのを止めるには、

:set tw=0

または

:set textwidth=0

を実行する[5]

バックアップファイルやスワップファイルを作る場所を指定する

vimのデフォルトの設定でテキストファイルを編集して保存すると、編集中にスワップファイルが、保存後にバックアップファイル(元のファイル名+~)ができる。 これらを作成する場所をbackupdirおよびdirectoryで指定できる[6]

次の例ではバックアップファイルは~/.vim/backupへ、スワップファイルは編集しているファイルと同じディレクトリへ作るようにする:

set backupdir=~/.vim/backup,.,/tmp
set directory=.,~/.vim/backup,/tmp

もちろん~/.vim/backupは作っておく。

mkdir -p ~/.vim/backup

コメントアウトされた行を全て削除する

%で始まる全ての行を削除するには、

:%s/^%.*\n//

を実行する。

スペルチェック機能を有効化する

英語のスペルチェックを有効にするには

:set spell

を実行する[7]。 無効化するには、

:set nospell

有効・無効を切り替えるには、

:set spell!

を実行する。

セッションの保存

:mks

でセッション(現在の状態)を~/Session.vimに保存する[8]。 すでに~/Session.vimが存在していて上書きしたいときは、

:mks!

とする。 また、

:mks Session.vim

とすればカレントディレクトリへセッションを保存できる。

セッションを読み込むときは

vim -S <Session.vimのパス>

でvimを起動するか、vim上で、

:source <Session.vimのパス>

で読み込める。

References

  1. Get the name of the current file - Vim Tips Wiki http://vim.wikia.com/wiki/Get_the_name_of_the_current_file
  2. Vim clear last search highlighting - Stack Overflow http://stackoverflow.com/questions/657447/vim-clear-last-search-highlighting
  3. text editor - How to prevent vim from creating (and leaving) temporary files? - Stack Overflow http://stackoverflow.com/questions/743150/how-to-prevent-vim-from-creating-and-leaving-temporary-files
  4. Setting a Language for vim Syntax Highlighting | James Reuben Knowles http://jamesreubenknowles.com/set-vim-syntax-language-270
  5. vimが勝手に自動改行するのを回避する方法 http://kaworu.jpn.org/kaworu/2007-07-29-1.php
  6. Remove swap and backup files from your working directory - Vim Tips Wiki - Wikia http://vim.wikia.com/wiki/Remove_swap_and_backup_files_from_your_working_directory
  7. Vimのスペルチェック機能を使う - Qiita http://qiita.com/crispy/items/9a49d7dc792740f062ab
  8. Vimでセッションの保存と読込み - weblog of key_amb http://keyamb.hatenablog.com/entry/2013/07/12/020730