Ubuntu LTS 12.04にはvimエディターがあります。ファイルを開き、段落に移動してvimを再度開くと、カーソルは常にファイルの先頭に移動します。
これは予期される動作ではありません。ファイルを閉じた後、vimは最後に読み取った位置をどのように記憶できますか?
私vi
も試しましたが、結果は同じです。
Ubuntu LTS 12.04にはvimエディターがあります。ファイルを開き、段落に移動してvimを再度開くと、カーソルは常にファイルの先頭に移動します。
これは予期される動作ではありません。ファイルを閉じた後、vimは最後に読み取った位置をどのように記憶できますか?
私vi
も試しましたが、結果は同じです。
回答:
それを解決しました:
/ 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("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif
(実際、/ usr / share / vim / vim73 / vimrc_example.vimも参照できます)
-rw-r--r-- 1 root root
; それが問題でしょうか?
私はこれと同じ問題を抱えていたので、ホームディレクトリの.viminfoファイルの所有権が間違っていたことがわかりました。root:rootが所有していました。
ファイルの所有権を自分自身に変更して修正すると、ファイルの位置を思い出すことが再び機能し始めました
sudo
です。環境を変更しません(少なくともほとんど):実行してみてsudo bash -c 'echo $HOME'
ください。ルートの代わりにホームディレクトリを取得します。
このwikiの投稿が解決策になると思います。私は、ポジションを回復することが期待される行動だとは思わない。http://vim.wikia.com/wiki/Restore_cursor_to_file_position_in_previous_editing_session
vim-lastplace(私は著者です)というプラグインがあり、中断した場所からファイルを開きます。通常は新しいメッセージを編集しており、コミットメッセージファイルの先頭から開始するため、コミットメッセージを無視することで上記の提案を改善します。
Lunar Mushroomsソリューションに誤りがあります。ここで修正:
if has("autocmd")
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
" Also don't do it when the mark is in the first line, that is the default
" position when opening a file.
autocmd BufReadPost *
\ if line("'\"") > 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
endif
vim
ます。どうやらこれで問題は解決したようです。エラーはどこにありますか?
"
コメントを外すには、行頭の文字を削除するだけです。「最初のソリューションをコピー/貼り付け」する必要はありません。