私はvimが前回中断した部分ではなく、1行目でファイルを自動的に開くようにしたいと思います。私は.vimrcにggを入れようとしましたが、うまくいきませんでした。これを行う方法が必要です。
答え1
CentOS、RHEL、およびFedoraは、ファイルが/etc/vimrc
見つかるたびにファイルの最後の表示に移動するautocmdを設定するシステム全体のvimrcファイルを提供します。
自動cmdがインストールされました。こんな感じ:
augroup redhat
autocmd!
" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal! g'\"" |
\ endif
(最も大きな違いは、augroup名がFedoraでは「fedora」、RHELまたはCentOSでは「redhat」です。)
Vimがviminfoファイルにマーカーを保存しないように設定を変更すると、このルールを無効にすることができますが、'viminfo'
これによりその情報が完全に保持されなくなり、状況によっては役に立つ不幸な副作用があります。
この動作を無効にするより直接的で正確な方法は、ルールを削除することです。これは、システム全体の構成後に取得したユーザーのvimrcファイルで実行できます。
次のコマンドを使用して、CentOS からルールを削除できます。
autocmd! redhat BufReadPost *
Fedoraから削除します。
autocmd! fedora BufReadPost *
これらのルールが存在しない限り(おそらくシステム全体のvimrcファイルで)何もしないため、これら2つのルールをvimrcファイルに安全に追加できます。
augroupは必要な他の無関係な自動コマンドもインストールするため、これらのコマンドはaugroupを完全に消去するのではなくaugroupから単一のルールを削除するため、特定のルールを1つだけ削除することをお勧めします。
答え2
私はこれが設定に関連していると思いますviminfo
。からhelp viminfo
:
- vim情報ファイル
Vimを終了して再起動すると、通常多くの情報が失われます。 viminfoファイルを使用すると、この情報を覚えて中断した部分から続行できます。
viminfoファイルは、以下を保存するために使用されます。
- コマンドラインの記録。
- 検索文字列の履歴。
- 回線履歴を入力します。
- 空でないレジスタの内容。
- 複数のファイルを表示します。
- ファイルの場所を指すファイルタグ。
-最終検索/置換パターン(「n」と「&」の場合)。
- バッファリスト。
- グローバル変数。
この項目の可能な値は次のとおりですviminfo
。
"
" Tell vim to remember certain things when we exit
" '20 : marks will be remembered for up to 20 previously edited files
" "100 : will save up to 100 lines for each register
" :20 : up to 20 lines of command-line history will be remembered
" % : saves and restores the buffer list
" n... : where to save the viminfo files
"
set viminfo='20,\"100,:20,%,n~/.viminfo
以下でviminfo
設定を確認できます。
:set viminfo?
上記の例では、次のよう'#
に更新できます。'0
set viminfo='0,\"100,:20,%,n~/.viminfo