中断した場所と同じ場所でファイルを開くようにvimを構成したい。
中断した場所と同じ場所でファイルを開くようにvimを構成したい。
回答:
Ubuntuの/etc/vim/vimrc
ファイルから、この例はコメント化されています。
" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal! g'\"" | endif
endif
これが機能しない場合、一般的な問題は~/.viminfo
ファイルの所有権がないことです。この場合は、次を実行します。
sudo chown user:group ~/.viminfo
ここで、ユーザーはあなたusername
でgroup
あり、多くの場合、ユーザー名と同じです。
\| exe "normal! g`\"" | endif
chown
一部は私のために問題を修正しました。脱帽!
chown user ~/.viminfo
加算を+1したいだけです。私はこれを1時間理解しようとしましたが、あなたは私の日を救っただけです。
:h views-sessions
これを.vimrcに置くことができます:
au BufWinLeave * mkview
au BufWinEnter * silent loadview
ビューは$ HOME / .vim / viewに配置されます。おそらくこれらのディレクトリを作成する必要があります。
を使用してファイル名を指定せずにvimを起動できます
vim
次に、CTRL + Oを2回押して、作業中のファイルの最後の場所に移動します。
Ctrl-c
一度押すだけで十分です。さらに、Ctrl-c
moreを押すと、カーソル位置の履歴に戻ります(開いていない関連ファイルを開く場合でも)。私はNeovim 0.4.2を使用していますが、私の理解ではそれも同様に適用さvim
れます。
viminfoを有効にしている場合は`0
、最後に編集したファイルの位置に移動するだけです。これは「マークを付ける」コマンドにすぎないことに気づくでしょう。
実際、後で '3を実行して、前に編集された3番目の場所(おそらく別のファイル内)に移動し、最後の場所に`0
再び戻ることができます。
見て
:marks
記憶された場所を見るために。viminfoは他のあらゆる種類のもの(レジスタの内容、ファイルごとのマーク、コマンド、検索履歴など)を保存することにも注意してください。ほとんどの人は明白な理由でこれを有効にしています
vim-lastplace(私は作者です)というプラグインがあり、中断したところからファイルを開くことができます。通常は新しいメッセージを編集していて、コミットメッセージファイルの先頭から開始する必要があるため、コミットメッセージを無視することにより、上記の提案を改善します。