編集しているときに、前に編集していた行に戻りたいときがある。
ジャンプの機能でカーソル位置を移動することができる。
古いカーソル位置(移動前)に移動する場合
ctrl-o
新しいカーソル位置(移動後)に移動する場合
ctrl-i
<tab>
回数を指定して移動前の行に戻る場合(3回の場合)
3 ctrl-o
編集しているときに、前に編集していた行に戻りたいときがある。
ジャンプの機能でカーソル位置を移動することができる。
古いカーソル位置(移動前)に移動する場合
ctrl-o
新しいカーソル位置(移動後)に移動する場合
ctrl-i
<tab>
回数を指定して移動前の行に戻る場合(3回の場合)
3 ctrl-o
vimの編集中にファイルを閉じると折りたたみ情報が消えてしまう。
再度ファイルを開いたときに折りたたみを再設定するのはとても面倒のため設定が保存されるように設定しておく。
動作は、ビュー設定ファイルの保存先ディレクトリを指定してから、ファイルを閉じる際に自動保存し開く際に自動復元をする。
設定
|
1 2 3 4 5 6 |
"ディレクトリの指定 set viewdir=~/.vim/view " ビューの自動保存 autocmd BufWinLeave ?* silent mkview " ビューの自動復元 autocmd BufWinEnter ?* silent loadview</pre> |
「BufWinLeave」イベント発生時にmkviewでカレントビューを保存して、「BufWinEnter」イベント発生時にloadviewでビューを復元する。
ビューの保存
(http://vim-jp.org/vimdoc-ja/usr_21.html#21.5)
1つのウインドウに関する設定を保存する場合に使用する。
1つのファイルに番号無しビューと1~9のビューを合計で10個保存できる。
カレントビューを保存する
|
1 |
:mkview |
ビューを復元する
|
1 |
:loadview |
カレントビューをビュー番号1に保存する
|
1 |
:mkview 1 |
ビュー番号1を復元する
|
1 |
:loadview 1 |
vimを使っているとき.vimrcの設定を変更したくなるときがあるが、変更のたびに再起動するのはめんどくさい。
以下のコマンドで.vimrcの再読み込みができた。
|
1 |
:source ~/.vimrc |
これで少し楽になれる。
csvなどを取り込みした際に”,”で区切られているが、1行で表示されていると内容がわかりにくい。
改行して見やすくしたい場合は、置換をすると簡単に改行した状態になる。
|
1 |
:s/,/^M/g |
改行を”,”に変換する場合
|
1 |
:%s/\n/,/g |
csv以外でもPATHの設定項目などを確認するのにも重宝している。
Linux端末のvimで作成したファイルを、Windwos端末でメモ帳などで開くと日本語が文字化けしてしまって読めなくなってしまう。
vimで文字コードを変換して保存することで、文字化けを起こさず開くことができる。
Shift_JISにエンコードを変換して保存する。
|
1 2 |
:set fenc=sjis :w |
これで、Windwos端末のメモ帳でも日本語が文字化けせずに開くことができる。
その他の文字コードに変換するときも同じコマンドで変換可能
utf-8に変換する場合
|
1 |
:set fenc=utf-8 |
Windows付属のメモ帳で作成したファイルの改行コード[^M]を削除する方法
vimで[^M]の改行コードを再表示させる
|
1 |
:edit ++fileformat=unix |
改行コード[^M]が表示されたら置換する
|
1 |
:%s/^M//g |
これで改行コードがすべて削除される。
ただし、Windowsのメモ帳でファイルを開くと改行されなくなるので注意する。
再度Windowsのメモ帳で改行させるには、fileformatをdosにする。
|
1 |
:edit ++fileformat=dos |
これで、Windowsのメモ帳でも改行される。
vimで使用しているキーマッピングを確認する方法
デフォルトのキーマップ確認方法
|
1 |
:help index.txt |
この中にさらにindexがあるのでさらに検索すれば個別確認できる。
個人設定のキーマップ確認方法
|
1 2 3 4 |
:map " 全てのキーマップを確認 :imap " 挿入モードのキーマップを確認 :nmap " ノーマルモードのキーマップを確認 :vmap " ビジュアルモードのキーマップを確認 |
|
1 |
:verbose [モード] " 定義元ファイル情報も表示 |
Windows付属のメモ帳で作成したファイルの改行には[^M]の改行コードが使用されている。
普通の入力では改行コードを入れられないので以下の方法で[^M]を入力する。
Ctrl+v を押した後 Ctrl+m を押す
すべての改行コードを[^M]に変えた後、ファイルを再度開くと自動で改行コードを入力してくれる。
IDEなどで作成したソースを開くと、インデントに長いスペースが挿入されていることがある。
行が見にくかったり編集するときに大変なので、スペースをタブに変更してから作業を行う。
スペースをタブに変更する方法は以下の様にコマンドを実行します。
|
1 2 3 |
:set tabstop=8 :set noexpandtab :retab! |
[.vimrc]に以下を追記しておくと変換が楽になります。
|
1 2 |
set tabstop=8 set noexpandtab |
[set tabstop=8]
タブの幅(スペース8個分)
[set noexpandtab]
TABキーを押したときにスペースではなくTABを挿入する